Chroniken von DDOS: Umgang mit XMLRPC-Angriffen auf WordPress-Bots
Veröffentlicht: 2019-04-08Vor zwei Tagen hatten wir Schwierigkeiten mit der Website eines unserer Kunden, Nettsted Limited. Normalerweise bieten wir unseren Kunden keinen technischen Support, aber leider bietet der Hosting-Service unseres Kunden keinen Support. Da wir uns verpflichtet fühlten, ihr zu helfen, haben wir uns entschieden, gegen Botnet-Angriffe vorzugehen . Wir wurden während des Angriffs mit seltsamen Verhaltensweisen von Bots konfrontiert. Ich werde auf dieser Seite erwähnen, was stündlich passiert ist und welche Maßnahmen wir ergriffen haben, um die Website unseres Kunden zu schützen.
Der Beginn des DDOS-Angriffs: Der Angreifer identifiziert sich selbst
Als Eigentümer von Nettsted Limited arbeite ich 16-18 Stunden am Tag, um unsere Kunden zu unterstützen. Wir haben verschiedene Kunden aus der ganzen Welt, also muss ich in verschiedenen Zeitzonen wach sein. Monate später wollte ich zuerst einen Film sehen und Spaß mit meiner Familie haben. Leider war dies einer der schlimmsten Tage meiner Karriere. Nach dem Film beschlossen wir, uns auszuruhen. Aber nur ein unsichtbares Ding stieß mich an und sagte mir: „Hey! Sie müssen sich Ihre Werke ansehen und dann schlafen“. Und ja… Folgendes passierte in meiner 5-stündigen Abwesenheit in der Arbeit:
- Einer meiner Kunden hat das SEO-Plugin entfernt, alle Beschreibungen und Titel der Website gelöscht. Er brach auch die Linkstruktur der Website.
- Der andere Kunde hat einige von uns installierte Plugins entfernt, die mit SEO zu tun haben. Die Einstellungen der Caches geändert und irgendwie alle .js- und .css-Dateien kaputt.
- Einer meiner Kunden bekam einen DDOS-Angriff und sie sah nur zu, wie ihre Website zusammenbrach.
Als ich WhatsApp und Skype beigetreten bin, habe ich viele Beschwerden für diese 5 Stunden gesehen. 30 % der Sätze waren nur „Wo bist du?!“.
Mein Kunde hat mir mitgeteilt, dass er eine Nachricht über WhatsApp erhalten hat. Der Angreifer identifizierte sich mit der Telefonnummer und sagte meiner Mandantin, dass er sie angreifen werde. Das klingt wirklich blöd, aber er tat es wirklich… Als ich zurück zur Arbeit kam, hatte der Angriff bereits begonnen.
Tag 1-) Erste Maßnahmen gegen Angriffe ergreifen
Dies sind einige Protokolle des Angriffs, die wir erhalten haben:
103.9.156.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; ; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
216.240.176.141 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.0;
104.236.33.158 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://pmsearchpartners.com; verifying pingback from 93.174.93.163"
149.210.236.96 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.27; http://imageconsultant.mu/; verifying pingback from 149.210.236.96"
185.87.249.33 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1;
158.69.26.84 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.9.2; http://teensystudios.com; verifying pingback from 93.174.93.163"
103.233.76.243 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://help.worldmart.in; verifying pingback from 93.174.93.163"
203.175.180.254 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.1; http://www.cybertechriskcenter.com; verifying pingback from 93.174.93.163"
199.223.214.148 - - [07/Apr/2019:01:19:03 +0100] "GET / HTTP/1.0" 200 13194 "-" "WordPress/3.3.1; http://www.mentalic.gr"
68.71.60.249 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/4.1.26; http://www.itunesalternative.org; verifying pingback from 93.174.93.163"
66.55.132.6 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-" "WordPress/3.8.16;
163.172.103.45 - - [07/Apr/2019:01:19:02 +0100] "GET / HTTP/1.0" 200 73651 "-"
In den Protokollen können Sie sehen, dass der Angriff von WordPress-Benutzeragenten kam. Einige dieser Angriffe kamen jedoch auch ohne Agenten. Ich habe alle diese verwiesenen Websites überprüft und es waren alles veraltete und verlassene Websites. Es gibt eine IP, die bei allen Protokollen fast gleich war, und es gab 2 andere. 93.174.93.163 war eine niederländische IP, aber ich glaube, dass es der Server/das Hosting war, der einen Botnet-Angriff auf uns vorbereitete. Andere 2 IPs waren auch niederländische IPs.
Da es zu viele „Verifying Pingback From“-Benachrichtigungen zu Angriffen gab, dachte ich, er verwendet Pingbacks und xmlrpc.php für Angriffe.
Meine erste Reaktion auf Angriffe war, den Namen von xmlrpc.php zu ändern, ihn dann vollständig zu entfernen und Pingbacks aus den WordPress-Einstellungen zu entfernen .
Ergebnis : Es verlangsamte nicht einmal Angriffe.

Da ich mit den ersten Bewegungen keine guten Ergebnisse erzielte, entschied ich mich, die xmlrpc.php-Datei von WordPress aus den Dateien zu entfernen. Allerdings hat es immer noch nicht geholfen.
Es hat sich jedoch gezeigt, dass es bei einigen Arten von DDOS-Angriffen hilft. Wenn Sie auch damit konfrontiert sind, können Sie es auch versuchen.
Tag 1-) Erste Reaktion: Profitieren Sie von Ihrer Nähe
Jetzt werden Sie mir sagen, warum ich Cloudflare nicht verwendet habe. CF brauchte Zeit zum Einrichten und Nameserver-Änderungen können manchmal wirklich schmerzhaft sein. Also wollte ich die Angriffe verlangsamen, aber ich habe auch Cloudflare für die Website eingerichtet. Nameserver geändert. Der Angriff war schwerwiegend und verursachte ernsthafte Schäden an der Nutzung von I/O, Bandbreite und so weiter. Ich glaube, es waren 2-3 Personen, die von verschiedenen Servern aus angriffen. Die Website meines Kunden gewann täglich 1000 $ und es war ein ernstes Problem für ihn. Die Seite war ungefähr 6 Stunden nicht verfügbar.
Da die Site lokal war, entschied ich mich, einen htaccess einzurichten. Ich brauchte alle IP-Adressen von Dänemark. Mit Hilfe einer Website schaffe ich es, alle dänischen IPs zu finden. Ich würde die Website vorübergehend für den gesamten Auslandsverkehr sperren. Ich habe eine htaccess-Datei erstellt und den gesamten Fremdverkehr auf der Website blockiert .
Ergebnis : Dies ist ein gutes vorübergehendes Ergebnis. Alle bösartigen Bots erreichten jetzt 403-Seiten. Allerdings schlechte Nachrichten. Google-Bots erreichten ebenfalls 403. Da der Bot-Traffic hauptsächlich aus den USA kam, habe ich keine Einrichtung für USA- oder Google-Bot-IPs vorgenommen. Da dies vorübergehend war, bis Nameserver-Änderungen stattfinden, war dies kein Problem.
Während des gesamten Prozesses habe ich mit meiner Klientin telefoniert und sie beruhigt. Sie war ziemlich wütend und verärgert wegen der Situation. Sie sagte mir, sie habe Nachrichten vom Angreifer bekommen. Sie hatte seine Telefonnummer!
Tag 1-) Nameserver geändert und Probleme mit Cloudflare-Einstellungen
Ungefähr 2 Stunden später habe ich den htaccess eingerichtet, die Nameserver geändert und ich habe Cloudflare aktiviert. Deny/Allow-Regeln aus der .htaccess-Datei entfernt. Es gab jedoch ein Problem mit den WAF-Einstellungen von Cloudflare. Ich habe meinen Kunden gebeten, die Server-IP zu ändern, und sie hat das getan. Einige Zeit später würde ich die DNS-Einträge von Cloudflare ändern, da noch alte IP-Informationen vorhanden waren. Wenn ich es jedoch bald nach dem Kauf der IP tun würde, wäre die Site wieder heruntergefahren. Auf der Website war bereits der „Under Attack Mode“ aktiv .
Ergebnis : Nachdem wir Cloudflare aktiviert haben, wurden alle Angriffe gestoppt.
Nach den 6-7 Stunden Aufregung stand ich von meinem Stuhl auf und ging schlafen. Wir dachten, wir hätten gewonnen, aber es ist noch nicht zu Ende.
Tag 2-) Er kam zurück! Mit Botnet an Cloudflare umgangen!
Wir haben morgens die IP geändert und da ich dachte, die Seite sei sicher, habe ich unter Angriffsmodus auf Medium umgestellt. Ich habe einige andere Änderungen an .htaccess vorgenommen. Ich habe PRO cloudflare für meinen Kunden gekauft. Ich habe einige WAF-Einstellungen eingerichtet, um die Website sicherer zu machen. Einige Zeit später gelang es ihm jedoch, mit ernsthafteren Angriffen zurückzukommen, und eine große Anzahl von Angriffen traf den Ursprung. Er hat Cloudflare umgangen.
Einige WAF-Einstellungen von Cloudflare versprachen einen Stopp von WordPress-Bot-Angriffen, XMLRPC-Angriffe waren es aber nicht . Ich habe mich entschieden, alle WAF-Einstellungen als Standard auf Cloudflare einzurichten.
Ergebnis : Alle Bot-Angriffe ohne User-Agent beginnen mit 403.
Das Ergebnis gab der Website für einige Zeit Erleichterung und der Server war wieder hoch. Allerdings bekamen wir zu viele Angriffe und es war knapp dafür.
Tag 2-) Länderblockierung auf Cloudflare
Schließlich dachte ich, dass wir mehr in Cloudflare investieren sollten, um diese Angriffe loszuwerden. Mit meinen letzten Änderungen haben wir fast 50 % der Bedrohung entfernt. Allerdings waren es noch andere 50%. Für eine lokale Website wäre eine Ländersperre kein Problem. Da wir außerdem die 50 % des Bot-Verkehrs behoben haben, wären Angriffe aus den USA kein ernsthaftes Problem für uns. Wir haben Cloudflare Enterprise gekauft und den gesamten Auslandsverkehr außer aus den USA und Dänemark blockiert .
Ergebnis : Dadurch wurden 90 % des Botnet-Verkehrs behoben.
Tag 3-) Rache ist ein Gericht, das am besten kalt serviert wird
Unser Server konnte 90 % des Botnet-Verkehrs bewältigen. Sie haben ihre Angriffe jedoch nicht gestoppt. Dann habe ich ein interessantes Plugin auf WordPress gefunden. Allerdings musste ich es erst testen. Andernfalls könnte die Website ausfallen, und das würde die Dinge ruinieren. Ich bat einen befreundeten Programmierer, eine meiner Websites anzugreifen. Es funktionierte perfekt. Dann untersuche ich den Angreifer. Ich verstehe, wer er ist und warum er uns angreift.
Ich habe mich zuerst mit dem Angreifer in Verbindung gesetzt. Ich bat ihn, mit seinen Angriffen aufzuhören. Er antwortete mir jedoch mit vielen Beleidigungen und Beschimpfungen. Ich habe ihn gerade bei WhatsApp blockiert und ihm nicht einmal geantwortet. Mein Kunde hat mich gebeten, mehr für diesen Service zu bezahlen, aber ich habe abgelehnt. Ich nahm es als eine Frage des Stolzes. Ich bat meinen Client um Erlaubnis und entfernte den Under-Attack-Modus. Ich habe das Plugin eingerichtet.
Ich fing an, seine fiesen, blutigen, abscheulichen Bots zurück auf seine Website zu schicken. Seine Website brach vor meinen Augen zusammen. Was ich auch bei Cersei empfand, die die Zerstörung von Baelors Septe beobachtete. Dann schickte ich ihnen seine andere Website und dann andere und noch andere … Als sie den Angriff stoppten, stoppte das System. Als sie jedoch anfingen, mit Bots zu schlagen, wurden sie auf alle ihre Websites umgeleitet.