
指定されたシードURLからドメイン、サブドメイン、ディレクトリ、エンドポイント、ファイルを検出するOSINTツール。
NetScout は、指定されたシード URL に対してドメイン、サブドメイン、ディレクトリ、エンドポイント、ファイルを発見する OSINT ツールです。 以下のコンポーネントで構成されています:
go install github.com/caio-ishikawa/netscout@latest を実行しますmake install を実行しますNetScout は BinaryEdge と SerpAPI の 2 つの外部 API を使用します。 BinaryEdge は、シード URL に登録されているサブドメインの履歴データを照会するために使用され、SERP API は、シード URL の特定のファイルタイプに関する Google 検索結果を収集するために使用されます。
NetScout は API キーが環境変数として設定されていることを前提としています:
export BINARYEDGE_API_KEY="<key>"export SERP_API_KEY="<key>"使用方法:
=======================================================================
███▄ █ ▓█████▄▄▄█████▓ ██████ ▄████▄ ▒█████ █ ██ ▄▄▄█████▓
██ ▀█ █ ▓█ ▀▓ ██▒ ▓▒▒██ ▒ ▒██▀ ▀█ ▒██▒ ██▒ ██ ▓██▒▓ ██▒ ▓▒
▓██ ▀█ ██▒▒███ ▒ ▓██░ ▒░░ ▓██▄ ▒▓█ ▄ ▒██░ ██▒▓██ ▒██░▒ ▓██░ ▒░
▓██▒ ▐▌██▒▒▓█ ▄░ ▓██▓ ░ ▒ ██▒▒▓▓▄ ▄██▒▒██ ██░▓▓█ ░██░░ ▓██▓ ░
▒██░ ▓██░░▒████▒ ▒██▒ ░ ▒██████▒▒▒ ▓███▀ ░░ ████▓▒░▒▒█████▓ ▒██▒ ░
░ ▒░ ▒ ▒ ░░ ▒░ ░ ▒ ░░ ▒ ▒▓▒ ▒ ░░ ░▒ ▒ ░░ ▒░▒░▒░ ░▒▓▒ ▒ ▒ ▒ ░░
░ ░░ ░ ▒░ ░ ░ ░ ░ ░ ░▒ ░ ░ ░ ▒ ░ ▒ ▒░ ░░▒░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░░░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░
=======================================================================
Usage:
-u string
A string representing the URL
-d int
An integer representing the depth of the crawl
-t int
An integer representing the amount of threads to use for the scans (default 5)
-delay-ms int
An integer representing the delay between requests in miliseconds
-lock-host
A boolean - if set, it will only save URLs with the same host as the seed
-o string
A string representing the name of the output file
-h string
A comma-separated key-value string representing request headers
-c string
A comma-separated key-value string representing the cookies
-v
A boolean - if set, it will display all found URLs
-skip-axfr
A bool - if set, it will skip the DNS zone transfer attempt
-skip-binaryedge
A bool - if set, it will skip BinaryEdge subdomain scan
-skip-google-dork
A bool - if set, it will skip the Google filetype scan
-headless
A bool - if set, all requests in the crawler will be made through a headless Chrome browser (requires Google Chrome)
-deep
A bool - if set, the shortened URL scan will be performed (can take several minutes)
シード URL、深度、出力ファイルを設定します:
netscout -u https://crawler-test -d 2 -o netscout.txt
BinaryEdge と Google dork をスキップします:
netscout -u https://crawler-test.com -d 2 --skip-binaryedge --skip-google-dork -o netscout.txt
スレッド数を 5 に設定し、リクエスト遅延を 1000ms に設定し、リクエストをヘッドレス Chrome ブラウザ経由で実行するように強制します。
netscout -u https://crawler-test.com -d 2 -t 5 --delay-ms 1000 --headless -o netscout.txt
深度を 2 に設定し、Cookie とヘッダー値を追加します
netscout -u https://crawler-test.com --deep -d 2 -t 5 -h "key=test,key_two=test_2" -c "key=test,key_two=test_2"
短縮 URL スキャンを有効にし、クローラーの深度を 2 に、スレッド数を 5 に設定します
netscout -u https://crawler-test.com --deep -d 2 -t 5
PR を送信する前に、プロジェクトが正常にビルドされ、既存のすべてのテストが合格することを確認してください。詳細は Testing を参照してください。
このプロジェクトへの貢献に興味を持っていただき、ありがとうございます。
テストはテスト対象ファイルと同じディレクトリに配置され、クローラーテストでは DVWA(Damn Vulnerable Web App) がローカルでポート 80 を公開して実行されている必要があります。 テストを実行する前に、テストファイルをセットアップする必要があります。
テストに必要なセットアップはすべて Makefile で処理されます:
make test-container-pull を実行しますmake testfiles-setup を実行しますmake test-container-run を実行しますmake test を実行しますmake testfiles-teardown を実行します