現在、Apache HTTPサーバーを実行しており、エラーログにエラーが表示されるたびにメールを受信するように監視を設定しています。私は通常、HTTP 1.0を使用しているかどうかを探し、WordPressのような利用可能な既製のソフトウェアを使用しているかどうかを確認しようとしています。
週末の間、私はエラーログに新しいエントリを見つけ、潜在的なエクスプロイターが何をしようとしていたのかと思っていました(Abcdefはエクスプローターのハンドルを推測しています(変更しました))。
:[DATE] [error] [client XXX.XXX.XXX.XXX] Invalid URI in request HEAD towards the green fields outside. Watch the goats chewing the grass. What is the meaning of life? Life isn't about getting to the end. Goats know this. You should know too. Goats are wise. Goats are cute. Listen to them! This is the message. Love goats, love the Internet! \xf0\x9f\x90\x90 Abcdef. HTTP/1.0
ヤギへの愛情を明らかに私に伝えているのとは別に、このリクエストの目的が誰であったかを誰かが判断できます。文字列の一部をグーグルで検索してみたところ、山羊に関する結果が出ました。
アイデアは、オーバーフローを引き起こして最後にユニコードで何かをすることになるURIを提供することだったと思いますが、確信が持てません。
[〜#〜] note [〜#〜]リクエストの最後の文字が原因でリクエストが悪意のある手段を持っているという大きな仮説を立てたため、サーバー障害ではなくセキュリティに投稿しました。
REDACTED
部分が何で構成されているのかわかりませんが、バイト\xf0\x9f\x90\x90
は 山羊のUTF-8画像 に対応します:
ここにあります: ????
注:気まぐれで、これらのバイト値に対応する Intel opcodes も調べました。それらはまったく興味深いことを何もしません— 0x90はNOP(何もしません)、0x9fはLAHF(FLAGSをAHレジスターにロード)、0xf0はLOCK(LAHFが後に続くと不正な命令エラーが発生します)。
これは、ハンブルクのカオス通信会議で送られた詩に似ています。特に、詩の一部としてHEADを使用して開始します(以下の例では、DELETEを使用して行を開始しています)。
私のaccess.logで同じURLをこのURLで見つけました:
http://massgoat4u.megabrutal.com/
これは何ですか?
#masspoem4uに触発されて、私は彼らがしたことを繰り返すようにしています:世界中のすべてのIPv4アドレスに一意のHTTPリクエストを配布することです。
これをどのように行いましたか?
私は、CCCでmasspoem4uの人たちがやったように、ロバートグラハムのmasscanを少し変更したバージョンを使用しています。しかし、私は彼らほど高速なネットワークを持っていないので、スキャンが完了するまでに約1週間かかります。あなたはここでmasscanの興味深い記事を見つけることができます。
害を及ぼしますか?
もちろん違います。それは完全に無害です。認識する必要があるのは、HTTPログのメッセージだけです。 1つのIPは1つの要求のみを取得し、プローブの順序はランダム化されるため、リソースを浪費せず、ネットワークに過負荷をかけません。
他のUTF-8バイトを含む別のIPアドレスからのリクエストを除いて、異常なことに気づきませんでしたが、無関係である可能性があります。
[XXX.XXX.XXX.XXX] - - [DATE] "\xad\x17\x15\xd2\xf0\xa2y\xec\xc9\xe6\xe2\xe2\xd1\"\xb1\"\x88\x82Ojo\xb8Q\xa0r\xd5\xfe\xe5E\x9a\x01\xfcf\x18\xff\x9d\x05\x1dh\xa1\xc61\xea;\x04F\x8b\xb1SgEhGk\x86&\x93b<O" 200 11899 "-" "-"