
Raccoonは、シンプルさを重視した偵察と情報収集のためのツールです。
DNSレコードの取得、WHOIS情報の取得、TLSデータの取得、WAFの有無の検出、スレッド化されたディレクトリバスティングとサブドメイン列挙まで、あらゆることを行います。各スキャン結果は対応するファイルに出力されます。
Raccoonのスキャンのほとんどは独立しており、お互いの結果に依存しないため、Pythonのasyncioを利用してほとんどのスキャンを非同期で実行します。
Raccoonは匿名ルーティングのためにTor/プロキシをサポートしています。URLファジングとサブドメイン発見用のデフォルトワードリストは、素晴らしいSecListsリポジトリから使用していますが、別のリストを引数として渡すこともできます。
詳細なオプションについては「使用法」を参照してください。
最新の安定版の場合:
pip install raccoon-scanner
# To run:
raccoon [OPTIONS]
RaccoonはPython3.5以上が必要なため、pip3 install raccoon-scannerを使用する必要がある場合があります。
また、最新の機能や変更点についてはGitHubリポジトリをクローンすることもできます:
git clone https://github.com/evyatarmeged/Raccoon.git
cd Raccoon
python setup.py install # Subsequent changes to the source code will not be reflected in calls to raccoon when this is used
# Or
python setup.py develop # Changes to code will be reflected in calls to raccoon. This can be undone by using python setup.py develop --uninstall
# Finally
raccoon [OPTIONS] [TARGET]
macOSでRaccoonを使用するには、gtimeoutがマシンにインストールされている必要があります。
gtimeoutはbrew install coreutilsでインストールできます。
# Build the docker image
docker build -t evyatarmeged/raccoon .
# Run a scan, As this a non-root container we need to save the output under the user's home which is /home/raccoon
docker run --name raccoon evyatarmeged/raccoon:latest example.com -o /home/raccoon
RaccoonはポートスキャンにNmapを使用し、その他のNmapスクリプトや機能も利用します。Raccoonを実行する前にNmapをインストールしておく必要があります。
OpenSSLはTLS/SSLスキャンにも使用されるため、こちらもインストールしておく必要があります。
Usage: raccoon [OPTIONS] TARGET
Options:
--version Show the version and exit.
-d, --dns-records TEXT Comma separated DNS records to query.
Defaults to: A,MX,NS,CNAME,SOA,TXT
--tor-routing Route HTTP traffic through Tor (uses port
9050). Slows total runtime significantly
--proxy-list TEXT Path to proxy list file that would be used
for routing HTTP traffic. A proxy from the
list will be chosen at random for each
request. Slows total runtime
-c, --cookies TEXT Comma separated cookies to add to the
requests. Should be in the form of key:value
Example: PHPSESSID:12345,isMobile:false
--proxy TEXT Proxy address to route HTTP traffic through.
Slows total runtime
-w, --wordlist TEXT Path to wordlist that would be used for URL
fuzzing
-T, --threads INTEGER Number of threads to use for URL
Fuzzing/Subdomain enumeration. Default: 25
--ignored-response-codes TEXT Comma separated list of HTTP status code to
ignore for fuzzing. Defaults to:
302,400,401,402,403,404,503,504
--subdomain-list TEXT Path to subdomain list file that would be
used for enumeration
-sc, --scripts Run Nmap scan with -sC flag
-sv, --services Run Nmap scan with -sV flag
-f, --full-scan Run Nmap scan with both -sV and -sC
-p, --port TEXT Use this port range for Nmap scan instead of
the default
--vulners-nmap-scan Perform an NmapVulners scan. Runs instead of
the regular Nmap scan and is longer.
--vulners-path TEXT Path to the custom nmap_vulners.nse script.If
not used, Raccoon uses the built-in script it
ships with.
-fr, --follow-redirects Follow redirects when fuzzing. Default: False
(will not follow redirects)
--tls-port INTEGER Use this port for TLS queries. Default: 443
--skip-health-check Do not test for target host availability
--no-url-fuzzing Do not fuzz URLs
--no-sub-enum Do not bruteforce subdomains
--skip-nmap-scan Do not perform an Nmap scan
-q, --quiet Do not output to stdout
-o, --outdir TEXT Directory destination for scan output
--help Show this message and exit.

脆弱なS3バケットを含むWebアプリケーションデータ:

HTBチャレンジのスキャン例:

Nmap vulnersスキャン結果:

スキャン後の結果フォルダツリー:

あらゆるコントリビューション、問題報告、機能提案、ヒントを歓迎します。