
Seleniumを活用したPythonスクリプトで、脆弱なWebアプリケーションの検索を自動化します。
Seleniumを利用したPythonスクリプトで、脆弱性のあるアプリケーションをWeb上で自動検索します。
DorkNetは、単一のダークまたは複数のダークのリストを引数として受け取ります。適切なコマンドライン引数が渡された後、スクリプトはSeleniumとGeckodriverを使用して目的の結果を検索し、テキストファイルに保存します。その後、SQLmapや類似のユーティリティでさらに処理できます。
git clone https://github.com/NullArray/DorkNet.git
cd DorkNet
python dorknet.py
プログラムのオプションは以下の通りです。
-h, --help show this help message and exit
-d DORK, --dork DORK specify the dork you wish to use
-l LIST, --list LIST specify path to list with dorks
-v, --verbose toggle verbosity
明確にするための例をいくつか示します。
DorkNet.py -h
DorkNet.py -d inurl:show.php?id= -v
DorkNet.py -l /path/to/list.txt --verbose
プロキシ設定
必要に応じて、Webドライバーの接続をプロキシする機能を追加しました。ダイアログが表示されたらプロキシIPとポートを入力するだけで、指定したプロキシ設定を介して検索エンジンにアクセスします。
これを動作させるには、MozillaのGeckodriverが必要です。手動でインストールすることもできますが、プロセスを自動化するためのシェルスクリプトも用意しています。
これを使用するには、DorkNetディレクトリに移動し、シェルスクリプトを以下のように実行可能にします。
cd DorkNet
chmod +x gecko-setup.sh
# 以下のコマンドでシェルスクリプトを実行します。
sudo ./gecko-setup.sh
シェルスクリプトには、requirementsファイルを介して残りの依存関係を自動的にインストールするオプションも含まれています。以下のコマンドを呼び出します。
sudo -H pip install -r requirements.txt
ユーザーがGeckodriverをHeadless Mode(従来のUIなし)で実行できるロジックを追加しました。これは特に長いダークのリストを扱う場合に便利です。現在の実装では、Googleへの接続をプロキシする機能が、ヘッドレスモードを有効にするためのGeckodriverオプション設定と干渉します。そのため、--noguiフラグを使用してDorkNetをプロキシ有効で実行しても、期待通りには動作しません。
ただし、どうしてもヘッドレスモードでプログラムを実行したいユーザーは可能です。関連するコードはすべてリポジトリにコミットしてあります。現時点ではコメントアウトされているだけなので、コメントを削除すれば問題なく動作します。影響を受ける行については、こちらのコミット履歴を確認してください。
どうしても--nogui設定時にプロキシ接続したい場合は、ProxyChainsを使用して次のようにDorkNetを起動できます。
proxychains python dorknet.py -l /path/to/dorks.list --nogui --verbose
ProxyChainsをお持ちでない場合は、上記のリンクを参照するか、パッケージマネージャーを使用してインストールしてください。ありがとうございます。
DorkNetは、BlackArch LinuxペネトレーションテスティングディストリビューションのWebApp Tools & Automationに収録されています。そのため、ディストリビューションにはプリインストールされています。詳細については、該当リポジトリの関連PKGBUILDファイルを参照してください。
SeleniumとGeckodriverを使用することで、DorkNetは通常のブラウザをエミュレートするのに効果的です。この方法により、ほとんどの場合CAPTCHAを回避できます。ただし、まれにGoogleがCAPTCHAを表示することがあります。これは手動でダークのように見える文字列を検索した場合にも同様に発生することがあります。このような場合は、GeckodriverのCAPTCHAを入力するだけで、DorkNetは通常の動作を続けます。