DDOSのクロニクル:WordPressボットのXMLRPC攻撃への対処
公開: 2019-04-082日前、私たちはクライアントのWebサイトの1つであるNettstedLimitedで問題に直面しました。 通常、クライアントに技術サポートを提供することはありませんが、残念ながら、クライアントのホスティングサービスはクライアントにサポートを提供していません。 彼女を助ける責任を感じたので、ボットネット攻撃に対して行動を起こすことにしました。 攻撃中にボットの奇妙な動作に直面しました。 このページでは、時間ごとに何が起こったのか、クライアントのWebサイトを保護するためにどのようなアクションを実行したのかについて説明します。
DDOS攻撃の始まり:攻撃者は自分自身を識別します
私はNettstedLimitedの所有者であるため、クライアントにサポートを提供するために1日16〜18時間働いています。 世界中からさまざまなクライアントがいるので、さまざまなタイムゾーンで目を覚ます必要があります。 数ヶ月後、最初は映画を見たかったので、家族と一緒に楽しみました。 残念ながら、これは私のキャリアの中で最悪の日でした。 映画の後、私たちは休むことにしました。 しかし、目に見えないものが私を突いて、「ねえ! あなたは自分の作品を見てから眠らなければなりません。」 そしてそうです…これらは私の5時間の仕事の不在で起こったことでした:
- 私のクライアントの1人がSEOプラグインを削除し、ウェブサイトのすべての説明とタイトルを削除しました。 彼はまた、ウェブサイトのリンク構造を壊しました。
- 他のクライアントは、SEOに関連するいくつかのプラグインをインストールしました。 キャッシュの設定を変更し、どういうわけかすべての.jsファイルと.cssファイルが壊れました。
- 私のクライアントの1人がDDOS攻撃を受けていて、彼女は自分のWebサイトがどのように崩壊するかを見ていました。
私がWhatsAppとSkypeに参加したとき、その5時間に多くの苦情がありました。 文章の30%は「どこにいるの?!」でした。
私のクライアントは、WhatsAppを通じてメッセージを受け取ったと言っています。 攻撃者は自分の電話番号を確認し、クライアントに攻撃することを伝えました。 これは本当にばかげているように聞こえますが、彼は本当にそうしました…私が仕事に戻ったとき、攻撃はすでに始まっていました。
1日目-)攻撃に対して最初の行動を取る
これらは私たちが得た攻撃からのいくつかのログです:
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 "-"

ログでは、攻撃がWordPressユーザーエージェントからのものであることがわかります。 ただし、これらの攻撃の一部は、エージェントなしでも発生していました。 私はそれらの参照されたすべてのウェブサイトをチェックしました、そしてそれらはすべて時代遅れで放棄されたウェブサイトでした。 すべてのログでほぼ同じIPが1つあり、他に2つありました。 93.174.93.163はオランダのIPでしたが、ボットネット攻撃の準備をしていたのはサーバー/ホスティングだったと思います。 その他の2つのIPもオランダのIPでした。
攻撃に関する「からのpingbackの確認」通知が多すぎたため、彼は攻撃にpingbacksとxmlrpc.phpを使用していると思いました。
攻撃に対する私の最初の反応は、xmlrpc.phpの名前を変更し、それを完全に削除して、WordPress設定からピングバックを削除することでした。
結果:攻撃を遅くすることさえしませんでした。
最初の動きでは良い結果が得られなかったので、WordPressのxmlrpc.phpファイルをファイルから削除することにしました。 しかし、それでも役に立ちませんでした。
ただし、ある種のDDOS攻撃に役立つことが証明されています。 あなたもそれに直面しているなら、あなたもそれを試すことができます。
1日目-)最初の応答:ローカルであることを利用する
今、あなたは私がクラウドフレアを使用しなかった理由を教えてくれます。 CFはセットアップに時間がかかり、ネームサーバーの変更は時々本当に苦痛になる可能性があります。 だから私は攻撃を遅くしたかったのですが、ウェブサイト用にcloudflareもセットアップしました。 ネームサーバーを変更しました。 攻撃は深刻で、I/Oや帯域幅などの使用に深刻なダメージを与えました。 異なるサーバーから攻撃していたのは2〜3人だったと思います。 私のクライアントのウェブサイトは毎日1000ドルを稼いでいて、それは彼にとって深刻な問題でした。 サイトは約6時間ダウンしました。
サイトがローカルだったので、htaccessを設定することにしました。 デンマークのすべてのIPアドレスが必要でした。 ウェブサイトの助けを借りて、私はすべてのデンマークのIPを見つけることができました。 私は一時的にすべての外国のトラフィックにウェブサイトを閉鎖します。 htaccessファイルを作成し、Webサイトへのすべての外部トラフィックをブロックしました。
結果:これは一時的に良い結果です。 現在、すべての悪意のあるボットは403ページに到達していました。 しかし悪いニュース。 Googleボットも403をヒットしていました。 ボットのトラフィックは主に米国から来ていたため、米国やGoogleのボットIPの設定は行いませんでした。 これはネームサーバーの変更が行われるまでの一時的なものであったため、問題はありませんでした。
プロセス全体を通して、私はクライアントと電話で話し、彼女を落ち着かせていました。 彼女は状況のためにかなり怒って動揺していました。 彼女は攻撃者からメッセージを受け取ったと私に言った。 彼女は彼の電話番号を持っていました!
1日目-)ネームサーバーの変更とCloudflare設定の問題
htaccessを設定してから約2時間後、ネームサーバーが変更され、cloudflareがアクティブになりました。 .htaccessファイルから拒否/許可ルールを削除しました。 ただし、CloudflareのWAF設定に問題がありました。 私はクライアントにサーバーのIPを変更するように依頼しましたが、彼女はそれを実行しました。 しばらくして、古いIP情報がまだ残っていたので、cloudflareのDNSレコードを変更しました。 ただし、IPを購入してすぐに実行すると、サイトは再びダウンします。 「アンダーアタックモード」はすでにウェブサイトでアクティブになっています。
結果: Cloudflareをアクティブ化した後、すべての攻撃が停止されました。
6〜7時間の興奮の後、私は椅子から立ち上がって眠りについた。 勝ったと思ったのですが、まだ終わっていません。
2日目-)彼は戻ってきました! ボットネットでCloudflareにバイパスされました!
午前中にIPを変更しましたが、Webサイトは安全だと思ったので、攻撃モードを中程度に変更しました。 .htaccessに他の変更を加えました。 私は顧客のためにPROcloudflareを購入しました。 Webサイトをより安全にするために、いくつかのWAF設定をセットアップしました。 しかし、しばらくして、彼はより深刻な攻撃で戻ってきて、深刻な量の攻撃が発生しました。 彼はCloudflareをバイパスしていました。
Cloudflareの一部のWAF設定は、WordPressボット攻撃、XMLRPC攻撃の阻止を約束していましたが、そうではありませんでした。 CloudflareのデフォルトとしてすべてのWAF設定をセットアップすることにしました。
結果:ユーザーエージェントを持たないすべてのボット攻撃が403に到達し始めます。
結果はしばらくの間ウェブサイトに安堵を与え、サーバーはもう一度稼働しました。 しかし、攻撃が多すぎて、それに近かった。
2日目-Cloudflareでの国のブロック
最後に、これらの攻撃を取り除くために、cloudflareにもっと投資する必要があると思いました。 前回の変更で脅威の50%をほぼ削除しました。 しかし、他の50%はまだありました。 ローカルWebサイトの場合、国のブロックは問題になりません。 また、ボットトラフィックの50%を修正したので、米国からの攻撃は私たちにとって深刻な問題にはなりません。 Cloudflareエンタープライズを購入し、米国とデンマークを除くすべての外国のトラフィックをブロックしました。
結果:これにより、ボットネットトラフィックの90%が修正されました。
3日目-)復讐は最高の料理です
私たちのサーバーは、ボットネットトラフィックの90%を処理することができました。 しかし、彼らは攻撃を止めていません。 それから私はWordPressで面白いプラグインを見つけました。 しかし、私は最初にそれをテストしなければなりませんでした。 そうしないと、Webサイトがダウンし、事態が悪化する可能性があります。 私はプログラマーの友人に私のウェブサイトの1つを攻撃するように頼みました。 それは完璧に機能していました。 次に、攻撃者について調査します。 彼が誰で、なぜ彼が私たちを攻撃しているのか理解しています。
最初に攻撃者に連絡しました。 私は彼に攻撃をやめるように頼んだ。 しかし、彼はたくさんの侮辱と誓いで私に答えました。 私は彼をWhatsAppからブロックしただけで、彼に応答すらしませんでした。 私のクライアントは私にこのサービスにもっとお金を払うように頼んだが、私は拒否した。 私はそれを誇りの問題としてとらえていました。 クライアントに許可を求め、攻撃中モードを削除しました。 プラグインを設定します。
私は彼の厄介で血まみれの卑劣なボットを彼のウェブサイトに送り返し始めました。 彼のウェブサイトは私の目の前で崩れました。 私が感じたのは、ベイラーの9月の破壊を見守っていたサーセイと同じでした。それから私は彼らに彼の他のウェブサイトを送り、次に他のウェブサイトを送りました…彼らが攻撃を止めたとき、システムは停止していました。 しかし、彼らがボットにぶつかり始めたとき、それは彼らをすべてのWebサイトにリダイレクトしていました。