Support-Ing Martin Ihde

IT-Betreuung und -Service

Wie man WordPress-Blogs nach der TimThumb-Sicherheitslücke durchsucht

| Keine Kommentare

Es gab vor wenigen Tagen zum zweiten Mal eine News-Meldung bei heise, dass Tausende von WordPress-Blogs zur Verbreitung von Schadcode genutzt werden. Grund für die Infizierung ist eine Sicherheitslücke im sogenannten TimThumb-Script, einem WordPress Addon bzw. Script, das in WordPress automatisch Thumbnails erzeugt.

Das Script TimThumb ist Bestandteil vieler WordPress Themes, und das Fatale ist, dass viele Admins gar nicht wissen, dass dieses Script in ihrem Theme installiert ist, weil sie es nicht selbst als Plugin installiert haben. Zwar gibt es eine lange Liste betroffener WP-Themes, die TimThumb an Bord haben, aber wer hat schon Lust, die durchzulesen bzw. darin nach dem eigenen Theme zu suchen? Schlimmer noch, wenn man mehrere Themes installiert hat, die man vielleicht schon lange nicht mehr benutzt, die aber trotzdem auf dem Server als “Themeleichen herumgammeln”, denkt man vielleicht gar nicht daran, in der Liste nach diesen Themes zu suchen.

Die einfachste Lösung für den Sicherheitscheck

Dankenswerterweise gibt es ein WordPress-Plugin, das die eigene WordPress-Installation automatisch nach dem TimThumb Script durchsucht. Und zwar im kompletten wp-content Verzeichnis, inklusive aller installierten Themes, Plugins und sonstigen Uploads!

Aber das Plugin sucht nicht nur nach veralteten Versionen von TimThumb, sondern zeigt zuerst übersichtlich die Versionsnummern an und bietet dann die Möglichkeit, veraltete Scripts automatisch durch die neueste Version – die frisch von der TimThumb Google-Codeseite geholt wird. Das “TimThumb Vulnerability Scanner Plugin” wurde von Peter Butler, Betreiber der Code Garage, entwickelt. Das Plugin kann entweder direkt über die Plugin-Installation von WordPress gesucht und installiert werden, oder über die WordPress-Plugin-Seite heruntergeladen werden: http://wordpress.org/extend/plugins/timthumb-vulnerability-scanner/.

Verwundbare TimThumb.php suchen

Nach der Installation und Aktivierung des Plugins, die ich hoffentlich nicht näher erklären muss, kann man den TimThumb Scanner unter Werkzeuge finden:

timthumb-scanner-anleitung 01

Ruft man das Plugin über diesen Link auf, öffnet sich das TimThumb Scanner Fenster. Zuerst starte man den Scan mit Klick auf den Scan!-Button (1), und erhält einige Sekunden später die Scan Ergebnisse in einer Liste (2).

In meinem Fall habe ich extra für diese Screenshots zwei veraltete Versionen des Timthumb-Script auf meinen Server geschoben, in das arthemia-de Theme die timthumb.php-Datei, die ursprünglich mit dem Arthemia-Theme ausgeliefert wurde, im englischen Arthemia Theme schon eine gefixte timthumb.php, Version 2.8, die aber nicht die aktuellste ist:

timthumb-scanner-anleitung 02

Ich verwende aktuell für mein Blog keines der beiden Arthemia-Themes, man sieht also, dass sich ein schadhaftes Script auch in nicht verwendeten Themes verstecken kann. Inwieweit das Script in nicht verwendeten Themes eine Sicherheitslücke darstellt, kann ich nicht sagen, aber man sollte einfach ganz sicher gehen und es darauf nicht ankommen lassen.

Also klickt man die zu aktualisierenden Dateien links in der Box in (2) an und wählt danach “Upgrade Selected Files” (3).

Danach erhält man hoffentlich die Meldung, dass alle Dateien erfolgreich aktualisiert wurden. In meinem Beispiel gibt es allerdings eine Fehlermeldung, die timthumb.php Datei im deutschen arthemia-de konnte nicht automatisch aktualisiert werden, weil die Verzeichnisberechtigungen keinen Schreibvorgang erlauben, oben die Fehlermeldung, darunter der erfolgreiche Austausch:

timthumb-scanner-anleitung 03

Das spiegelt sich auch in der aktualisierten Ergebnisliste wider, das arthemia-de Theme ist immer noch verwundbar, im arthemia-en Theme wurde die timthumb.php erfolgreich auf die aktuelle Version 2.8.2 aktualisiert:

timthumb-scanner-anleitung 04

timthumb.php von Hand austauschen

In diesem Fall muss man entweder die Schreibberechtigung über das FTP-Programm ändern, oder die Datei von Hand austauschen. Die aktuelle Version der timthumb.php-Datei findet man zwar auf der Google Code-Seite http://code.google.com/p/timthumb/, aber dort öffnet sich über den angegebenen Direktlink http://timthumb.googlecode.com/svn/trunk/timthumb.php die php-Datei direkt im Browser. Besser ist es, den Direktlink mit der rechten Maustaste anzuklicken und dann “Speichern unter” zu wählen und die Datei so auf den eigenen Rechner herunterzuladen.

Die andere Möglichkeit ist es, die Datei nach dem Scannen aus dem timthumb-Plugin Ordner auf den eigenen Rechner herunterzuladen und anschließend in das entsprechende Theme hochzuladen.

Die Datei befindet sich im Normalfall im Verzeichnis

[…]/wp-content/plugins/timthumb-vulnerability-scanner/

und heißt

cg-tvs-timthumb-latest.txt

Diese Datei muss man vor oder beim Hochladen natürlich in timthumb.php umbenennen.

Je nach Hoster kann es übrigens noch ein Problem mit den Schreibberechtigungen geben. Ich selbst habe mein Blog bei Host Europe, und damit der Scanner die aktuelle timthumb.php Version in das Verzeichnis […]/wp-content/plugins/timthumb-vulnerability-scanner/ herunterladen konnte, musste ich erst einmal die Berechtigungen auf 777 setzen, 755 funktionierte bei mir nicht:

timthumb-scanner-anleitung 05

Ich bin übrigens nicht der Erste, der über die TimThumb Problematik berichtet, unter anderem auf perun.net gab es bereits vor einigen Tagen einen Artikel zu diesem Thema, aber ich wollte mich einfach mal wieder darin üben, eine ausführlichere, “bebilderte” Anleitung zu schreiben. :-) Und vielleicht fühlt sich der eine oder die andere Leser/in damit wohler.

Keep it safe!

 

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.