janne: seltsamer Bot, schreibt u. a. Zeichensalat in Formulare

Hi alle,

auf einem Projekt, das ich technisch betreue, tummelt sich anscheinend ein seltsamer Bot. Der tarnt sich mit einem harmlosen user_agent ("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"), nudelt ohne Unterlass im Sekundentakt alle Unterseiten der Reihe nach durch und wechselt dabei immer wieder mal die IP. Die Rückverfolgung dieser IPs bringt nichts, die führen in die ganze Welt.

Aufgefallen ist mir dieser Bot besonders, weil er auch vor Formularen nicht Halt macht. Dabei füllt er alle Felder mit irgendeinem Zeichensalat, also offenbar nicht in dem Versuch, dabei Spam zu versenden. Ähnliche Zeichensalat-Mails ohne erkennbaren Zweck kenne ich auch schon aus anderen Projekten, da dürfte also ein ähnliches Vieh unterwegs sein. Aus den Kontaktformularen halte ich ihn derzeit durch recht simple Captchas raus.

Meine Frage ist zunächstmal: Was wird damit eigentlich bezweckt? Ist das irgendein Tool, das ein Konkurrent nutzt, um auf dem Laufenden zu bleiben, was sich auf den Seiten tut? Um meine Datenbank "auszusaugen"?

Und dann natürlich: Was tut man dagegen? Auf Basis seines aktuellen Verhaltens (Zeichensalat, Klickfrequenz, seltener IP-Wechsel) könnte ich mir schon einen Algorithmus vorstellen, der in weitgehend rausfiltert. Umgekehrt wäre das recht leicht zu umgehen: echte Wörter eingeben, Hits auf mehr IPs verteilen. Deswegen zweifle ich, ob sich die Mühe lohnen würde.

Nun bin ich wohl kaum er Erste, der dieses Problem hat und bemerkt. Kann ich irgendwo mehr über dieses Ding und ggf. geeignete Abwehrmaßnahmen erfahren?

Danke schonmal!

Janne

  1. Meine Frage ist zunächstmal: Was wird damit eigentlich bezweckt?

    1. Denial of Service
    2. es ist kein Zeichensalat sondern irgendwelche obskur maskierten Injection-Versuche
    1. Hi suit,

      daran habe ich natürlich auch zuerst gedacht. Aber für DOS ist die Frequenz nicht hoch genug. Das Ding ist auch schon seit vielen Monaten aktiv - wenn es eine DOS-Attacke wäre, hätten sie inzwischen aufgegeben oder schwereres Geschütz aufgefahren.

      Und SQL ist definitiv nicht drin. Ein typischer Eintrag lautet z.B. "cxuJFMsoQ", "TJUNaMBCsfbdoCIiQxs" oder "ISWFsGNtiJGpbqiSuTS", also wirklich reiner Salat wie aus einem Passwortgenerator.

      Janne

      1. Und SQL ist definitiv nicht drin. Ein typischer Eintrag lautet z.B. "cxuJFMsoQ", "TJUNaMBCsfbdoCIiQxs" oder "ISWFsGNtiJGpbqiSuTS", also wirklich reiner Salat wie aus einem Passwortgenerator.

        Ich kenne sowas aus eigener Erfahrung mit genau diesem UserAgent.

        Die Kippen zwar Müll in die Formulare:

        'send_Vorname' => 'SnWqChKHEslSh',  
        'send_Nachname' => 'loZHWFbycoMK',  
        'send_EMail' => 'fYyHcsha',  
        'send_Strasse' => 'QOJgFxZJ',  
        'send_PLZ' => 'ROECD',  
        'send_Ort' => 'tfuqlwJap',
        

        Aber eine Textarea wird meist so gefüllt.
        'send_Anmerkungen' => 'vrtnsK <a href="http://robtwdxclnbv.com/">robtwdxclnbv</a>, [url=http://ncqqozxvnvbk.com/]ncqqozxvnvbk[/url], [link=http://zbzcwqfakowu.com/]zbzcwqfakowu[/link], http://ztfdtsrrvxjz.com/',

        Leider konnte mein Spezieller Freund teilweise auch Captcha lösen.
        Letztendlich habe ich ein Honypot eingerichtet, feldnamen verändert und Tags sowie BB Code verboten.

        Seid dem habe ich ruhe.

        1. Hi Pyros,

          genau das macht "meiner" auch, wenn ein Textarea zur Verfügung steht. Allerdings existiert keine einzige dieser eingetragenen Adressen, wenn man sie aufruft (Vorsicht!) oder sonstwie versucht nachzuprüfen. Ich habe deshalb den Eindruck, dass auch das nur Pseudo-Inhalt darstellt, der aussehen soll wie Spam, aber eigentlich keiner ist.

          Andersrum überlegt: Wenn das Ding in erster Linie Spam versenden wollte, würde es meines Erachtens auch anders vorgehen als ständig ALLE Seiten aufzurufen. Dann würde es z. B. einmal am Tag nach Eingabefeldern suchen und die dann 24 Stunden lang -zigfach ausfüllen. Das wäre doch viel effektiver, oder? Und wenn es merkt, dass es keine Formulare mehr abschicken kann (wegen der Captchas, die bei mir derzeit ja noch greifen), würde es irgendwann ablassen und sich ein leichteres Ziel suchen.

          Die einzig plausible Erklärung, die mir selbst dazu momentan einfällt, ist dass da jemand unbedingt wissen will, welche Daten auf den Seiten stehen. Vielleicht um die Daten zu klauen, Kunden abzuwerben, nach Möglichkeiten für eine Abmahnung zu suchen ...

          Janne

          1. Das wäre doch viel effektiver, oder?

            Das interessiert dich nicht, wenn du als Scriptkiddie ein Botnet mit 10.000 Rechnern hast und nur herumspielen willst.

            1. Hi suit,

              hm, daran hatte ich noch gar nicht gedacht. Irgendwie gehe ich halt doch immer davon aus, dass die Leute etwas bezwecken mit ihrem Tun, aber das ist ja wirklich längst nicht immer der Fall :-)

              Andererseits: Wenn das nur ein herumspielender Depp wäre, würde das dann monatelang laufen? Ist so ein Script etwas, was man einmal startet und dann vergisst, oder muss man da am Ball bleiben?

              Janne

              1. Andererseits: Wenn das nur ein herumspielender Depp wäre, würde das dann monatelang laufen?

                Das interessiert den doch wenig, wenn er irgend eine Endlosschleife in einem Botnet vergisst :)

                Ist so ein Script etwas, was man einmal startet und dann vergisst, oder muss man da am Ball bleiben?

                Kommt darauf an, wie schlau das Script ist - üblicherweise ist es aber eine dämliche Idee, endlose Scripts zu schreiben da diese schneller auffliegen bzw. Ressourcen Fressen.

                Gewöhnlicherweise werden Botnetze heute über IRC-Clients gesteuert, die sind schnell und einfach versteckt und können super mit einem definierten Protokoll Textnachrichten übertragen.

                Man verteilt die Aufgabe in kleinen Happen an viele Zombies - aber blos nicht endlos.

                Wenn man wirklich "Endlosschleifen" in Auftrag gibt, muss man höllisch aufpassen, damit man das eben nicht auffällt und möglichst lange im verborgenen bleibt.

                Der Benutzer des Zombies soll keinen verdacht schöpfen und der Betreiber der Herde will so lange wie möglich etwas von seinem "Schäfchen" haben.

          2. Hi Pyros,

            Hallo,

            Allerdings existiert keine einzige dieser eingetragenen Adressen, wenn man sie aufruft (Vorsicht!) oder sonstwie versucht nachzuprüfen. Ich habe deshalb den Eindruck, dass auch das nur Pseudo-Inhalt darstellt, der aussehen soll wie Spam, aber eigentlich keiner ist.

            Jetzt wo du es sagst, ich habe nie darüber nachgedacht. Wie du an meinem Beispiel sieht, kann man die Adressen auch nicht auflösen.

            Andersrum überlegt: Wenn das Ding in erster Linie Spam versenden wollte, würde es meines Erachtens auch anders vorgehen als ständig ALLE Seiten aufzurufen. Dann würde es z. B. einmal am Tag nach Eingabefeldern suchen und die dann 24 Stunden lang -zigfach ausfüllen. Das wäre doch viel effektiver, oder? Und wenn es merkt, dass es keine Formulare mehr abschicken kann (wegen der Captchas, die bei mir derzeit ja noch greifen), würde es irgendwann ablassen und sich ein leichteres Ziel suchen.

            Die einzig plausible Erklärung, die mir selbst dazu momentan einfällt, ist dass da jemand unbedingt wissen will, welche Daten auf den Seiten stehen. Vielleicht um die Daten zu klauen, Kunden abzuwerben, nach Möglichkeiten für eine Abmahnung zu suchen ...

            Dieses Beispiel habe ich aus einem mehr oder weniger gleich bleibenden CMS. Welches ein Bestell-Modul und ein Fragebogen-Modul enthält. Der Rest der Seite ändert sich nicht und enthält nur etwas Eigenwerbung sowie eine Bedienungsanleitung. Nichts was sich lohnt zu stehlen. Kunden abwerben kann man auch kaum, da dieser Fragebogen sich um etwas dreht, das ein ganz speziellen Geschmack und Glauben voraussetzt. Ich persönlich würde für so etwas nie Geld ausgeben.

            Das mit der Abmahnsache macht auch Sinn. Die Scriptkiddy Botnet-Sache allerdings auch.

            Derzeit kommt derjenige einmal im Monat (bekomme eine EMail mit _POST, _GET und _SERVER) vorbei und versucht 2x das Formular auszufüllen. Einmal sind sowohl die sichtbaren Felder namens: 'RwdXVmoyDhZdV10B' usw. als auch die "unsichtbaren" Felder mit richtigen Namen wie "homepage" usw ausgefüllt. Und beim anderen mal nur die sichtbaren.
            Obwohl er früher Captcha lösen konnte, macht er es nun nicht mehr.

            Janne

            mfg Pryos

            1. Hi Pyros,

              bei meinem betroffenen Projekt kommt er leider sehr viel öfter als einmal im Monat: Wenn er mit der letzten Seite fertig ist, fängt er wieder von vorne an.

              Ich vermute mal, dass Dein und mein "Besucher" beide das gleiche Tool verwenden, aber mit unterschiedlichen Zielen und Einstellungen. Das würde erklären, warum beide technisch gleich vorgehen. Auf Deinen Seiten ändert sich selten etwas, da reicht vielleicht ein monatlicher Besuch, um über Änderungen im Bilde zu bleiben ...

              Wenn es sich um so ein Tool handelt, dann bestätigt das meine Befürchtung, dass der Angreifer Abwehrmaßnahmen wohl recht leicht durch Variieren der Einstellungen umgehen könnte.

              Lästig, sowas.

              Janne

              1. Hi Pyros,

                Hallo,

                also ich hab jetzt auch einmal in die Logs geschaut. Er läuft 2 mal durch die Seite durch. Beim ersten Kontakt mit der Beistellungsseite sendet er 2 mal das Formular.

                Ich habe das Formular, wie von Tom vorgeschlagen um ein logging der _FILES Variablen erweitert, jedoch kommt er erst in einigen Tagen wieder.

                Wenn es sich um so ein Tool handelt, dann bestätigt das meine Befürchtung, dass der Angreifer Abwehrmaßnahmen wohl recht leicht durch Variieren der Einstellungen umgehen könnte.

                Ignoriere Eingaben dieses UserAgents, es gibt soweit ich weiß kein Browser mit so einer Kennzeichnung. Am besten einfach
                http://www.botsvsbrowsers.com/details/100640/index.html

                Lästig, sowas.

                Und wie.  Ich musste erstmal die Datenbank korrigieren und Rechnungsnummern freigeben, damit es keine Probleme mit dem Finanzamt gibt.

                Janne

                mfg Pryos

                1. Hi Pyros,

                  es gibt soweit ich weiß kein Browser mit so einer Kennzeichnung. Am besten einfach
                  http://www.botsvsbrowsers.com/details/100640/index.html

                  Leider ist es anscheinend nicht so einfach:
                  http://www.botsvsbrowsers.com/listings.asp?search=Mozilla/4.0%20%28compatible;%20MSIE%206.0;%20Windows%20NT%205.1;%20SV1%29

                  Janne

                  1. Hi Pyros,

                    Hallo Janne,

                    Leider ist es anscheinend nicht so einfach:
                    http://www.botsvsbrowsers.com/listings.asp?search=Mozilla/4.0%20%28compatible;%20MSIE%206.0;%20Windows%20NT%205.1;%20SV1%29

                    Spricht doch keiner davon alle die so etwas enthalten zu verbieten. Sondern genau diesen einen :).
                    Ansonsten wüsste ich nicht was du machen könntest.
                    Es gibt leider keine Anti-DOS Mods die unabhängig von der IP arbeiten.

                    Janne

                    mfg Pryos

          3. Hello,

            genau das macht "meiner" auch, wenn ein Textarea zur Verfügung steht. Allerdings existiert keine einzige dieser eingetragenen Adressen, wenn man sie aufruft (Vorsicht!) oder sonstwie versucht nachzuprüfen. Ich habe deshalb den Eindruck, dass auch das nur Pseudo-Inhalt darstellt, der aussehen soll wie Spam, aber eigentlich keiner ist.

            vermutlich sind es Upload-Versuche, die normalerweise ja nicht weiter registriert werden von Deinen Scripten, wenn Du $_FILES[] nicht auswertest. Und der Serverr logged das üblicherweise auch nicht. Das müsste man extra einstellen (zusätzliches Modul bei Apache) und es müllt dann auch ziemlich schnell die Platte voll und macht den Server grottenlangsam.

            Es wäre interessant, ob diesen merkwürdigen Posts auch Request-Serien auf den gesamten nach außen kommunizierten URL-Baum (durch Verlinkung, IMG-Tags usw.) folgen.

            Dann wäre das Anliegen offenkundig.

            Siehe hierzu auch den Thread https://forum.selfhtml.org/?t=196360&m=1315458

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hello,

              [...] wenn Du $_FILES[] nicht auswertest [...]

              bevor da Rückfragen kommen:
              Das wäre dann bei PHP-Scripten so.
              Bei anderen Scriptsprachen oder anderweitiger Verarbeitung natürlich analog...

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
  2. Hi alle,

    beim "data mining" in meinen Log-Tabellen sehe ich gerade, dass der Crawler (also der Prozess, der ständig alle Seiten aufruft) und der Spammer (der die Formulare ausfüllt) anscheinend nicht völlig parallel laufen: Beide kommen zwar mit der gleichen IP-Nummer, haben aber unterschiedliche Session IDs. Außerdem übermittelt der Crawler keinen referrer, der Spammer hingegen schon.

    Anscheinend sind das zwei Prozesse, die auf der jeweiligen Maschine parallel laufen?

    Janne

    1. Hi alle,

      Hallo,

      beim "data mining" in meinen Log-Tabellen sehe ich gerade, dass der Crawler (also der Prozess, der ständig alle Seiten aufruft) und der Spammer (der die Formulare ausfüllt) anscheinend nicht völlig parallel laufen: Beide kommen zwar mit der gleichen IP-Nummer, haben aber unterschiedliche Session IDs. Außerdem übermittelt der Crawler keinen referrer, der Spammer hingegen schon.

      zZu den SessionIDs kann ich nichts sagen, diese vergebe ich nicht, jedoch muss der Spammer ein referrer angeben, da viele das überprüfen.

      Janne

      mfg Pryos