

このスクリプトは以下を見つけようとします:
このスクリプトはDNS履歴レコードを(悪)用します。古いDNS Aレコードを検索し、そのドメインに対してサーバーが応答するかどうかを確認します。また、可能性のあるオリジンサーバーとファイアウォールのHTML応答の類似性に基づいて信頼レベルを出力します。
このスクリプトはサブドメインのIPも取得します。なぜなら、私自身の経験から、サブドメインのIPがメインドメインのオリジンを指している場合があることを学んだからです。
次のようにスクリプトを使用します:
bash bypass-firewalls-by-DNS-history.sh -d example.com
-d --domain: 迂回するドメイン-o --outputfile: IPを出力するファイル-l --listsubdomains: 追加カバレッジのためのサブドメインのリスト-a --checkall: すべてのサブドメインでWAF迂回をチェックjqは自動的にサブドメインを収集するために出力を解析するのに必要です。
apt install jqでインストールします。
WAF迂回として定義するものを説明するために、以下のスキームを見てください。

通常の訪問者はウェブサイトに接続します。最初のリクエストはDNSリクエストで、ウェブサイトのIPを問い合わせて、クライアントのブラウザがHTTPリクエストを送信する先を知るためのものです。Cloudflareや他の公開WAFの背後にあるサイトの場合、応答にはWAF自体のIPアドレスが含まれます。HTTPトラフィックは基本的にWAFを通ってオリジンウェブサーバーに流れます。WAFは悪意のあるリクエストをブロックし、(D)DoS攻撃から保護します。しかし、攻撃者がオリジンウェブサーバーのIPを知っており、かつそのオリジンウェブサーバーがインターネット全体からのHTTPトラフィックを受け入れている場合、攻撃者はWAF迂回を実行できます:HTTPトラフィックをWAFを通過させる代わりに、直接オリジンウェブサーバーに送信します。
このスクリプトはそのオリジンIPを見つけようとします。これにより、オリジンウェブサーバーに直接接続できます。SQLインジェクションやSSRFなどの攻撃はフィルタリングされず、成功する可能性があります。一方、WAFが介在しているとこれらの攻撃は阻止されます。
迂回を見つけた場合、2つのオプションがあります:
/etc/hosts(Linux/Mac)またはc:\Windows\System32\Drivers\etc\hosts(Windows)にあります。次のようなエントリを追加します:80.40.10.22 vincentcox.com。
この時点から、HTTPトラフィックは直接オリジンウェブサーバーに送られます。通常通りペネトレーションテストを実行でき、リクエストがWAFによってブロックされることはありません。
このスクリプトは以下の人に便利です:
以下のサービスが使用されています:
なぜBashで、Pythonではないのですか?
最初は数行のCURLワンライナーから始まり、bashスクリプトになり、コードをどんどん拡張していき、Pythonを使わなかった後悔もそれに応じて大きくなりました。
自分のツールでもっと多くのサブドメインが見つかりますか?
わかっています。すべてのDNSブルートフォースおよび列挙ツールをインストールすることを皆さんに期待することはできません。さらに、これらのツールがどのフォルダに配置されているか、どのエイリアスで呼び出されるか事前にわかりません。それでも -l を使用して独自のリストを提供でき、これらのサブドメインツールの出力をこのツールに取り込むことができます。期待される入力は各行に完全なサブドメインです。
WAF迂回
Webアプリケーションファイアウォール迂回
DNS履歴
直接/オリジンIPウェブサイトを見つける
| プロジェクト作成者 |
|---|
|
|