Dies ist ein Nachtrag zu meinem gestrigen Text zu den gegenwärtigen Angriffen auf WordPress-Blogs. In diesem Nachtrag will ich versuchen, Hinweise zur möglichen weiteren Eingrenzung des Problemes zu geben. Das ist ziemlich trockener, technischer Stoff, der wohl nicht jeden interessieren wird.

Bitte unbedingt auch den entsprechenden Thread im deutschen Support-Forum beachten und dort bei der Eingrenzung des Problemes helfen.

Ich habe die verschiedenen Diskussionen des Problemes natürlich verfolgt. Dabei hat sich vor allem bei „Ja gut, aber…“ herauskristallisiert, dass die Verseuchungen der Blogbeiträge mit Spam in verschiedenen Versionen von WordPress auftreten. Entweder handelt es sich um einen Fehler in WordPress, der schon seit längerer Zeit (seit Version 2.2) „auf seine Chance wartet“, aber erst jetzt richtig so ausgebeutet wird; oder aber — und das ist meine Vermutung — es handelt sich um ein Problem mit einem schlampig programmierten Plugin. Dieser Post ist ein Versuch, das verursachende Plugin zu isolieren; das bedarf allerdings der Mitarbeit betroffener Blogger.

Ein möglicher Verdächtiger für ein Plugin, dass die Probleme über eine XSS-Lücke mit einem gestohlenen Cookie verursachen könnte, hat sich schon gefunden, es könnte sich um das recht populäre Statistik-Plugin „Semmelstatz“ handeln. Dieses Plugin wurde sogar (von Ralf im oben verlinkten Thread) dabei erwischt, wie es im Dashboard einen eingebetteten Frame auf eine externe Seite im Internet darstellen wollte. Das sollte alle Alarmglocken klingeln lassen.

Besonders erschreckend an den gegenwärtigen Attacken ist, dass sich die Angreifer Schreibzugriff auf ein Verzeichnis im Blog verschaffen können, und dass es sich dabei nicht um das reguläre Upload-Verzeichnis handelt. Wer in seinem Verzeichnis wp-content ein Unterverzeichnis mit dem Namen 1 hat, sollte dieses umgehend löschen, wenn er nicht will, dass seine Website von Verbrechern zu gewiss unschönen Zwecken missbraucht wird. (Im Zweifelsfall ist der Betreiber für einen kriminellen Missbrauch seiner Site haftbar; wenn es vor Gericht gehen sollte, hängt alles von der technischen Kompetenz der Richter ab. Diese ist oft erschreckend gering.) Besonders schlimm ist die Vorstellung, dass die Spammer eventuell sogar die gesamte WordPress-Installation überschreiben könnten. Wer sich dagegen schützen will, sollte die Zugriffsrechte auf die PHP-Dateien seines Blogs so restriktiv wie nur möglich setzen. Ich empfehle 644 für die Dateien und 755 für die Verzeichnisse (außer wp-content/uploads), um dem Webserver keine Rechte zum Überschreiben der Installation zu geben. Auch, wer noch nicht betroffen ist, sollte unbedingt über diese einfache Maßnahme zum Schutz nachdenken.

Um die Fehlersuche etwas anzuregen und hoffentlich zu einer weiteren Klärung des Problemes beizutragen, veröffentliche ich hier einmal ein paar Daten, die man eigentlich nicht veröffentlichen sollte. (Keine Sorge, ein Backup der Datenbank läuft bei mir automatisch und regelmäßig durch, und wenn ich doch mit diesem Posting auf eine Bruchlandung hinlege, hat die Bloggosphäre wenigstens einen Grund zur Häme.)

Ich verwende WordPress-Blogs in den verschiedensten Versionen für unterschiedliche Projekte. Keines dieser Blogs ist von den jüngsten Attacken der Spam-Verbrecher betroffen.

Das muss nichts bedeuten, es kann ohne weiteres einfach nur ein Glücksfall sein, der diesen automatisierten und offenbar sehr wirksamen Angriff bislang an mir vorbeigehen ließ — es kann aber auch bedeuten, dass diese Konfiguration sicher genug ist. Da ich zumindest mit diesem Blog vielfach verlinkt bin, ein relativ gutes Ranking bei Google habe und der Angriff automatisiert nach diesen Kriterien erfolgen wird, gehe ich davon aus, dass ich eigentlich betroffen sein müsste.

Besonders interessant auf dem Hintergrund der Attacken dürften die WP-Versionen 2.2.3 und 2.3.3 sein, die zurzeit vielfach im Einsatz sind und beide schon gecrackt wurden. (Etliche Blogger haben den Update auf 2.3 mit gutem Grund vermieden und verwenden immer noch das letzte WP 2.2.x.) Ich werde hier die Versionen und die installierten Plugins von zwei Blogs veröffentlichen, die ich technisch betreue und die nicht von den Attacken betroffen sind. Beide Blogs sind ausgewählt worden, da sie für meine Verhältnisse besonders viele Plugins enthalten. (Ich versuche stets, eine Installation so klein wie möglich zu halten.) Zu einigen Plugins mache ich kurze Anmerkungen. Ferner gibt es auch ein paar Worte zur sonstigen Konfiguration der Blogs.

Konfiguration: Lumières dans la nuit

Es handelt sich um das von mir in der Hauptsache mit Anmerkungen und dunklen Gedanken befüllte Blog. Die Postingfrequenz ist täglich, an manchen Tagen mehrfach täglich. Da ich das Spiegeln meiner Inhalte in der Lizenz sehr ausdrücklich erlaube und da davon auch Gebrauch gemacht wird, kann ich keine sicheren Angaben zur wirklichen Leseranzahl machen. Die direkten Zugriffe auf das Blog sind stark schwankend, liegen aber in normalen Zeiten zwischen 100 und 350 Lesern am Tag.

Es handelt sich um ein WordPress 2.3.3. Das Theme ist ein leicht angepasstes Simplicity ohne besondere Schnörkel (allerdings habe ich es Widget-fähig gemacht und um ein paar kleine Funktionen erweitert).

Im Blog sind folgende Plugins aktiv:

  • Akismet
  • BDP RSS Aggregator
  • CSS Naked Day
  • Dashboard Editor
  • Delete Comment IP
  • Exec-PHP
  • Executable PHP Widget
  • Filosofos Tinfoil Hat Plugin
  • Follow-URL
    enthält einen kleinen Hack von mir
  • Force Word Wrapping
  • Google XML Sitemaps
  • Intypo
  • Jamendo Embedder
  • o42-clean-umlauts
  • Page Peel (AK VDS)
  • pjw-wp-phpmailer-nosender
  • Popularity Contest
  • Search_Hilite
  • Time Zone
  • TinyMCS Advanced
  • Visitor Counter Widget
  • WordPress.com Stats
  • WP-ContactForm
    enthält einen kleinen Hack von mir
  • WP-UserOnline
  • WP-UserOnline Widget
  • WP Grins
  • WP Paypal Donate Widget R2.0

Die folgenden Plugins sind installiert, aber nicht aktiv:

  • !Wartungsmodus (de)
  • BDP RSS Aggregator Widgets

(Das schlichte Blog hier ist also „aufgeblähter“, als macher auf dem ersten Blick denken möchte. Ich halte eben nichts von „fetter“ Gestaltung.)

Wenn ich nicht einfach nur Glück hatte, denn sind die hier gelisteten Plugins unter WP 2.3.3 sicher. Wenn jemandes Blog gecrackt wurde und keine weiteren Plugins als die hier erwähnten verbastelt wurden (auch inaktive Plugins können ein Problem sein), denn bitte einen deutlichen Widerspruch in die Kommentare schreiben.

Konfiguration: White Darkness

Das Blog White Darkness ist eine schnelle Portierung der früheren Homepage nach WordPress. Das Theme habe ich von Grund auf selbst geschrieben, es ist vorsätzlich sehr schlicht. Es handelt sich um die Homepage einer nicht-kommerziellen Künstlergruppe aus Hannover. Die Postingfrequenz ist gering, ungefähr monatlich. Zu den weiteren Anforderungen neben dem leichten Publizieren gehörte ein gut in die Homepage integriertes Forum und eine Galerie, beides wird eher wenig verwendet. Die Leserzahl ist in der Regel gering, kann aber im Umfeld von Veranstaltungen auch auf 80 bis 100 am Tag ansteigen.

Es handelt sich um ein WordPress 2.2.3. Als Forum wird ein bbPress verwendet, die Galerie ist eine Gallery; beides wird auch mit Hilfe von Plugins in WordPress eingebettet.

Besonders bemerkenswert hier: Es ist eine Registrierung von Lesern möglich, die auch zur aktiven Benutzung des Forums erforderlich ist.

Es wurde verschiedentlich an anderen Stellen geäußert, dass solche Registrierungen die Ursache des gegenwärtigen Problemes sein könnten. Ich kriege dort zwar automatische „Spam-Anmeldungen“ von diversen, windigen Pillenhändlern, aber zu einer Veränderung von Beiträgen oder dem Upload von Spam-Dateien ist es dort nicht gekommen. (Die Spam-Anmeldungen sind fast wirkungslos, das Forum wird durch Akismet geschützt und bis heute ist kein einiger Spambeitrag „durchgekommen“. Aber es ist eben eine gewisse Last, weil ich diese Schrottaccounts lieber lösche, statt sie in der Datenbank vorzuhalten.)

Im Blog sind folgende Plugins aktiv:

  • ©Feed
  • Akismet
  • bbPress Integration
  • BBpress Latest Discussions
  • bs-wp-noversion
    Ich bin im Moment eben ein bisschen paranoid… 😉
  • Dashboard Editor
  • Executable PHP Widget
  • Follow-URL
  • Google Analytics
  • Google XML Sitemaps
  • Intypo
  • Nice Dashes
  • o42-clean-umlauts
  • RS Event
    mit größeren persönlichen Anpassungen von mir…
  • Search Hilite
  • Time Zone
  • Visitor Counter Widget
  • Sprücheklopfer
    Ein „Hello Dolly“ mit anderen Texten zur Erheiterung der Coautoren…
  • WordPress.com Stats
  • WP-Sticky
    mit kleineren Hacks von mir
  • WP-UserOnline
  • WP-UserOnline Widget
  • WPG2

Die folgenden Plugins sind installiert, aber nicht aktiv:

  • !Wartungsmodus (de)
  • pjw-wp-phpmailer-nosender
  • Upgrade Preflight Check
    Denn irgendwann muss es ja doch mal sein, und ich mag gewisse Überraschungen nicht…

Wenn ich nicht einfach nur Glück hatte, sind diese Plugins unter WP 2.2.3 sicher. Wenn jemandes Blog gecrackt wurde und keine weiteren Plugins als die hier gelisteten verbaut wurden (auch inaktive Plugins können Probleme bereiten), denn bitte deutlich genug in den Kommentaren widersprechen.

Weitere Anmerkungen

Beide Blogs verwenden keinen JavaScript-Code von Drittanbietern, und ich rate jedem Menschen mit gutem Grund davon ab, auf seiner Site irgendwelchen Unternehmen das Recht einzuräumen, beliebigen Code auszuführen.

Beide Blogs enthalten externen JavaScript-Code für einen auf PPhlogger basierenden Zählerdienst. Dieses wird innerhalb der Blogs nicht sichtbar, es dient nur zur Erstellung einer bequem abrufbaren Zugriffsstatistik, die möglichst „live“ Einblick in das Geschehen gibt. (Daran kann ich etwa eine Attacke von wirklichen Leserzugriffen unterscheiden, die Skripten der Cracker führen kein JavaScript aus.) Die PPhlogger-Installation steht unter meiner Kontrolle.

Beide Blogs enthalten ein bisschen JavaScript-Code zur automatischen Aktualisierung der Anzeige der aktuellen Leserzahl.

Weiteres JavaScript ist nicht „verbastelt“.

Eine spannende Frage

Jetzt bin ich selbst gespannt: Ist es wirklich ein fehlerhaftes Plugin, das zurzeit von den Spammern ausgenutzt wird, oder ist es ein fürchterlicher Fehler im Kern von WordPress?

Dies herauszufinden, geht leider nur gemeinsam.

Wenn Sie gecrackt wurden und nur Plugins hatten, die hier als aktive Plugins gelistet wurden, denn widerspricht das meiner Vermutung, dass es sich um einen Fehler in einem Plugin handelt. Bitte schreiben Sie mir das in die Kommentare!

Wenn Sie gecrackt wurden und andere Plugins hatten, solche, die hier nicht in den Listen stehen, denn erwähnen Sie bitte die anderen Plugins in einem Kommentar und schreiben Sie dazu, dass sie gecrackt wurden. (Sie müssen ihr Blog nicht angeben.) Wenn sich herausstellt, dass alle gecrackten Blogs gewisse Plugins benutzt haben, dann haben wir gemeinsam herausgefunden, wo der Fehler liegen könnte. Wenn nicht, war es den Versuch wert.

Wie gesagt, ich bin selbst gespannt auf das Ergebnis…

(Und wehe, ich werde jetzt gecrackt…)

Werbeanzeigen