• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Starke POST Request Versuche auf Webseite

framp

Moderator
Teammitglied
Moin,

nachdem ich mit meinem Provider letztens eine laengere Diskussion wg eMail Spam die angeblich von meiner Webseite, die auf einem managed Server laeuft, kommen sollte und sich als unbegruendet herausgestellt hat habe ich meine Weblogs mal etwas genauer angesehen. Das war mir zugegebenermassen bislang ziemlich schnurz.

Dabei ist mir aufgefallen dass ca 600 Mal pro Tag verschiedene IPs versuchen einen Kommentar per POST auf meiner Seite zu erstellen. Da ich alle Kommentare manuell freischalte habe ich einen guten Ueberblick ueber Spamkommentare. Normalerweise kommen periodisch ab und zu mal wieder ein paar Spamkommentare trotz Google recaptcha2 durch die ich dann loesche.

Da ich berechtigte Kommentare selbst beantworte wundere ich mich die letzte Zeit darueber dass ich manchmal ziemlich viele Captchas beantworten muss bis alles OK ist.

Die vielen POSTs erwecken bei mir den Eindruck dass da ein Bot intensiv bei mir den Google Recaptcha ausprobiert. Da sowohl im Erfolgs- wie auch Fehlerfalle immer ein 200 zurueckgeliefert wird kann keiner kontrollieren ob der Post wirklich durchgegangen ist. Demnach macht es doch eigentlich keinen Sinn meine Webseite so mit POST Versuchen zu stressen. Es sind auch keine Checkrequests im Log zu finden.

Hat jemand aehnliche Erfahrung gemacht und sollte ich mit meinem Provider in Kontakt treten dass der irgendwelche Abwehrmassnahmen ergreift oder sollte ich das alles ignorieren? Wie gesagt - ich gebe alle Kommentare manuell frei und somit tauchen keine Spamkommentare auf. Periodisch ist es nervig - aber akzeptabel dann die Spamkommentare zu loeschen. Der Google Recaptcha scheint schon sehr gut zu sein.
 

spoensche

Moderator
Teammitglied
Überprüfe mal, ob immer nur ein POST von einer IP kommt oder öfters. Wenn POST Requests mehrfach von einer IP kommen, dann könntest du deinen Provider bitten, bei x Anfragen in y Minuten die Pakete zu droppen.

Fallen dir bestimmte Muster bei den POST Request auf. Sind sie immer zur selben Uhrzeit oder wahlos über den Tag verteilt? Beinhalten die Post Requests bestimmte Parameter? Von welchen IP's werden die meisten Requests gesendet und von welchem Provider? Sind die IP's aus den gleichen Ländern oder unterschiedlichen?

Google mal, nach der von dir verwendeten Software und Bugs o.ä. evtl. existiert ja etwas.

Sieh dir mal https://threatpost.com/googles-recaptcha-cracked-again/128690/ an. Der Artikel ist von Ende Oktober 2017, aber hilft er ja zu verstehen, was da grad bei dir so los ist.
Sondiere mal die POST Request nach Auffälligkeiten die möglicherweise auf ein Angriffsmuster Hinweisen.

Möglicherweise hat der Bot Besitzer erkannt, dass bei dir auf die vielen Anfragen wenig bis gar keine Gegenmaßnahmen erfolgen und nutzt dies jetzt um gezielt eine Schwachstelle zu finden.

Noch ein Interessanter Artickel zum Verständnis von Recpatcha und möglichen Angriffsvektoren: https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf.
Allerdings weiss ich nicht von wann der ist.
 
OP
framp

framp

Moderator
Teammitglied
Vielen Dank fuer Deine Hinweise. Es gibt aber recaptcha v1 und recaptcha v2. -> https://developers.google.com/recaptcha/docs/versions
reCAPTCHA V1 has been shut down since March 2018. Please use an option above.

Ich benutze die V2 und die ist eigentlich sehr sicher. Es kommt nur manchmal (ein paar Mal pro Monat) vor dass doch mal jemand einen Comment erstellen kann den ich dann loesche.

Eine genaue Analyse habe ich noch nicht vorgenommen. Das ist Aufwand :( Es sind aber definitiv Clients mit unterschiedlichen IPs und unterschiedlichen Browsersignaturen: Android, Mac, Windows und Linux.

Ich werde die Clients mal genauer analysieren wenn ich Zeit habe. Nach den ClientLändern zu sehen ist eine Gute Idee.
 

marce

Guru
rum-ge-POST-e in den Serverlogs gehört zum üblichen Hintergrundrauschen - es gibt einfach zu viele Bots, die das Netz abklopfen auf Typo3, Wordpress, phpMyAdmin, Joomla, ... und dort versuchen, offene Systeme (in welche Art auch immer) zu finden - und das meist mit der Schrotflinten-Methode.

Kann man natürlich über mehr oder weniger komplexe (und damit gern mal für-gewünschte-User-unfreundliche) Server-Konfigs abfangen - oder sich halt auf die Sicherheit der Software (und zeitnahe Bugfixes) und auf starke Passworte oder bessere Login-Methoden verlassen.
 
OP
framp

framp

Moderator
Teammitglied
So sieht es wirklich aus - mit der Schrotflinte - pro Tag um die 600 Requests :eek:0:

Ich habe mal grob analysiert: Die meissten Requests kommen aus DE, dann aus EU Ländern wie GB, NL, FR, IT und US ist auch aehnlich stark vertreten. Ein paar kommen aus IL, BR, SI, PL, RU. Interessanteweise nichts aus Fernost.

Manche IPs tauchen oefter ueber den Tag verteilt auf. Viele nur einmal. Die User-Agents sind sehr illust. Da sie einfach zu faken sind ist das aber kein aussagekraeftiges Selektionskriterium.

Wen es intersessiert: Meine Commands zur groben Analyse waren:
Code:
while read ip rest; do geoiplookup $ip; done < <(zgrep "component/jcomments" access.log.20180705.gz  | grep "POST" | uniq) | sort
zgrep "component/jcomments" access.log.20180705.gz  | grep "POST" | cut -f 1,4,10,12- -d ' '|sort
zgrep "component/jcomments" access.log.20180705.gz  | grep "POST" | wc -l

Ich werde das ignorieren. Die paar Kommentare die durch recaptcha2 durchkommen werden einfach von mir geloescht. Aber es scheint ja wohl doch eine Menge Leute zu geben, die autopublish auf ihren Servern eingeschaltet haben, denn sonst macht die ganze Sache ja keinen Sinn.

Wuerde ich so einen Bot programmieren wuerde ich nach dem Post erst mal nachsehen ob er tatsaechlich online ist und ansonsten die IP nicht mehr besuchen. Aber das scheint wohl zu umstaendlich zu sein. Dann lieber die Schrotflinte :irre:
 
OP
framp

framp

Moderator
Teammitglied
Heute kam viel aus DE und US und das uebliche Rauschen vom Globus, mehreres aus AU und GB. Einer kam aus CN, ein geringer groesserer Teil aus IN und VN

Eigentlich muesste man doch die Leute am anderen Ende mit der IP irgendwie darauf hinweisen dass ihr System verBotted ist. Die Frage ist ob das geht :-?
 

gehrke

Administrator
Teammitglied
framp schrieb:
Eigentlich muesste man doch die Leute am anderen Ende mit der IP irgendwie darauf hinweisen dass ihr System verBotted ist. Die Frage ist ob das geht :-?
Vergiss es. 98% der Betreiber von geownten Systemen (hauptsächlich Androids, Router, IoT-Dreck) haben Null Ahnung und/oder Null Interesse.
 
OP
framp

framp

Moderator
Teammitglied
Vermutlich hast Du Recht. Ich bin nur ueberrascht wie viele das sind die infiziert sind.

IoT und Router interessiert wirklich keinen. Android sollte aber schon Interesse bestehen.
 
framp schrieb:
... Ich bin nur ueberrascht wie viele das sind die infiziert sind....

Das ist eher unwahrscheinlich.
http POST ist ein simples 2 Wege handshake Verfahren, das nicht unbedingt die Antwort vom Server braucht.
Beispiel für einen Versuch, einen Eintrag zu erzeugen, wäre: HTTP (method:post, Connection: close, DATA)
Dafür verwendet man eine gespoofte IP und im http_header den entsprechend gespooften hostname, der dann in deinem Log aufscheint.
Selbstverständlich erhält der wirkliche Sender keine Antwort, diese geht natürlich an die gespoofte IP.
Deshalb nimmt man diese IP aus einem VPN-pool eines beliebigen Providers. Da der router keinen tcp_socket für diese Verbindung kennt,
verwirft er diese Antwort schon in seiner "Firewall" meist ohne Log. Es hinterlässt also keine Spuren. Nach einer bestimmten Anzahl an Versuchen mit unterschiedlichen IPs,
prüft dann der Angreifer mit seiner echten IP, ob der Eintrag gelungen ist. D.h. das in der Liste der IPs in deinem Log auch die echte zu finden sein sollte.
Welche das ist, läßt sich meist nur schwer feststellen.
Ein typisches Merkmal eines solchen "Angriffs" sind oft mehrere, gleichlautende Einträge hintereinander, gesendet von unterschiedlichen IPs.
Für eine solch unlukrative Aktion Zombies zu verwenden, ist sinnlos. Zombies in botnets sind teuer und ihr Wert nimmt nach jeder Verwendung ab.

Gruß
Gräfin Klara
 
OP
framp

framp

Moderator
Teammitglied
Interessante Erklärung. IP Spoofing war bislang nicht auf meinem Radar. D.h. es sind Deiner Meinung nach gar nicht 600 Clients sondern nur ein paar die ihre IP sowie den Header spoofen. Irgendwann mal richtig zu püfen ob der Kommentar wirklich erscheint mit einer realen IP macht auch Sinn. Aber dann sollten doch die Requests ueber die Zeit abnehmen. Das kann ich aber nicht feststellen.

Ein Szenario was ich mir vorstellen koennte ist dass jemand seinen recaptcha2 Detectionalgorithums trainieren bzw optimieren will. Dazu kann er aber keine IPs spoofen, denn er braucht ja die Google Antwort um den recaptcha2 zu knacken.

Der Kommentarpost ist ein stinknormaler POST mit einem Payload der primaer den Kommentar enthaelt und der einen 200 zurueckliefert. Was dann aber mit recaptcha2 zwischen Client und Server abgeht habe ich mir auch angesehen aber ist mir zugegebenermassen zu hoch und zu aufwaendig zu analysieren :???:
 

spoensche

Moderator
Teammitglied
Ich war auch sehr überrascht, als ich eine GeoIP in die Datenbank von meinem IDS geladen habe und dann mal per SQL die Top 5 selektiert hatte. RU war nicht dabei, dafür aber US, DE, GB, FR und CN.
 
Oben