
DNSベースのデータ流出テストツールで、双方向転送、Web UI、および制約のある環境でブラインドRCE/XXE脆弱性を検出するためのクライアントスクリプトを備えています。
DNSリクエストのrequest.bin
DNSBinはシンプルなツールです。DNS経由のデータ流出をテストし、環境に大きな制約がある場合にRCEやXXEなどの脆弱性のテストを支援します。このプロジェクトは2つの部分から構成されています。最初の部分はウェブサーバーとそのコンポーネントです。基本的なウェブUIを提供しており、ほとんどの場合、これ以上のものは必要ありません。クライアント部分はPythonスクリプトを提供し、ウェブサービスを使用してDNS経由で双方向にデータを転送できます。
デモサーバーに設定している現在のDNSセットアップは以下の通りです。試行錯誤で行ったため、セットアップが複雑すぎたり問題がある可能性があることに注意してください。もし詳しい方がいらっしゃいましたら、遠慮なくIssueを開いてください。
DNSレシーバーとWebSocketエンドポイントは、Node.JSモジュール "forever" で起動することを強くお勧めします。
forever start index.js
フロントエンドについては、「index.html」ファイルをお好みのウェブサーバーでホストできます。WebSocket URLが自分のサーバーを指していることを確認してください。
クライアントスクリプトは、両端に "dnspython" がインストールされている必要があります。データの送信・受信に関わらず、まず制限されたゾーンの外部にあるマシンでスクリプトを起動する必要があります。スクリプトは一意のトークンを提供します。そのトークンは、制限ゾーン内部のマシンでスクリプトを実行する際に渡す必要があります。
外部マシン
echo test12345 | python main.py -f- -d out -t-
内部マシン
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
外部マシン
python main.py -f- -d in -t-
内部マシン
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU