hacktricks/generic-methodologies-and-resources/external-recon-methodology
2024-02-06 03:40:01 +00:00
..
github-leaked-secrets.md Translated ['forensics/basic-forensic-methodology/pcap-inspection/usb-ke 2024-02-06 03:40:01 +00:00
README.md Translated ['forensics/basic-forensic-methodology/pcap-inspection/usb-ke 2024-02-06 03:40:01 +00:00
wide-source-code-search.md Translated ['forensics/basic-forensic-methodology/pcap-inspection/usb-ke 2024-02-06 03:40:01 +00:00

外部調査方法論

htARTEHackTricks AWS Red Team Expert を通じてゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法


バグバウンティのヒント: ハッカーによって作成されたプレミアム バグバウンティプラットフォームであるIntigritiにサインアップして、ハッカー向けのバグバウンティプラットフォームを体験しましょう!今すぐhttps://go.intigriti.com/hacktricksに参加して、最大**$100,000**のバウンティを獲得し始めましょう!

{% embed url="https://go.intigriti.com/hacktricks" %}

資産の発見

会社に属するすべてのものが対象に含まれていると言われたので、この会社が実際に所有しているものを把握したいと思います。

このフェーズの目標は、主要な会社が所有する会社をすべて取得し、その後これらの会社の資産をすべて取得することです。これを行うために、以下の手順を実行します:

  1. 主要な会社の買収を見つけることで、対象に含まれる会社を把握します。
  2. 各会社のASNあればを見つけることで、各会社が所有するIP範囲を把握します。
  3. 逆whois検索を使用して、最初のエントリ組織名、ドメインなどに関連する他のエントリを検索しますこれは再帰的に行うことができます
  4. 他の手法shodan orgおよびsslフィルターなど)を使用して、他の資産を検索します(sslトリックは再帰的に行うことができます)。

買収

まず第一に、主要な会社が所有する他の会社を知る必要があります。
1つのオプションは、https://www.crunchbase.com/を訪れ、主要な会社検索し、「acquisitions」をクリックすることです。そこで、主要な会社によって取得された他の会社が表示されます。
もう1つのオプションは、主要な会社のWikipediaページを訪れ、買収を検索することです。

この時点で、対象に含まれるすべての会社を把握するはずです。それらの資産を見つける方法を見つけましょう。

ASNs

自律システム番号(ASN)は、インターネット割り当て番号機関IANAによって自律システムASに割り当てられた一意の番号です。
ASは、外部ネットワークへのアクセスに対する明確に定義されたポリシーを持つIPアドレスのブロックで構成され、単一の組織によって管理されますが、複数のオペレータで構成されている場合があります。

会社がどのASNを割り当てられているかを見つけることは興味深いです。これにより、IP範囲を見つけることができます。スコープ内のすべてのホストに対して脆弱性テストを実行し、これらのIP内のドメインを検索することが重要です。
https://bgp.he.net/で、会社の名前IP、またはドメインで検索できます。
会社の地域に応じて、これらのリンクはより多くのデータを収集するのに役立つ可能性があります: AFRINIC (アフリカ)Arin (北アメリカ)APNIC (アジア)LACNIC (ラテンアメリカ)RIPE NCC (ヨーロッパ)。とにかく、おそらくすべての**有用な情報IP範囲とWhois**は最初のリンクに既に表示されています。

#You can try "automate" this with amass, but it's not very recommended
amass intel -org tesla
amass intel -asn 8911,50313,394161

また、BBOTサブドメイン列挙は、スキャンの最後にASNを自動的に集約および要約します。

bbot -t tesla.com -f subdomain-enum
...
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.244.131.0/24      | 5            | TESLA          | Tesla Motors, Inc.         | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS16509  | 54.148.0.0/15       | 4            | AMAZON-02      | Amazon.com, Inc.           | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.45.124.0/24       | 3            | TESLA          | Tesla Motors, Inc.         | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356   | 8.32.0.0/12         | 1            | LEVEL3         | Level 3 Parent, LLC        | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356   | 8.0.0.0/9           | 1            | LEVEL3         | Level 3 Parent, LLC        | US        |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+

組織のIP範囲を見つけることもできます。http://asnlookup.com/無料APIを利用可能
ドメインのIPとASNを見つけるには、http://ipv4info.com/を使用できます。

脆弱性を探す

この時点で、スコープ内のすべての資産がわかっているので、許可されている場合は、すべてのホストに対して脆弱性スキャナーNessus、OpenVASを実行することができます。
また、ポートスキャンを実行したり、shodanのようなサービスを使用して開いているポートを見つけ、見つけたものに応じてこの書籍を参照して実行されているさまざまなサービスをペンテストする方法を確認することができます。
また、デフォルトのユーザー名パスワードのリストを用意して、https://github.com/x90skysn3k/brutesprayを使用してサービスをブルートフォースすることもできます。

ドメイン

スコープ内のすべての企業とその資産がわかっているので、スコープ内のドメインを見つける時が来ました。

以下の提案された技術を使用すると、サブドメインも見つけることができ、その情報は過小評価されるべきではありません。

まず、各企業のメインドメインを探すべきです。例えば、_Tesla Inc._の場合は_tesla.com_になります。

逆引きDNS

ドメインのIP範囲を見つけたので、これらのIPに逆引きDNSルックアップを試みて、スコープ内のさらなるドメインを見つけることができます。被害者のDNSサーバーまたは一般的に知られているDNSサーバー1.1.1.1、8.8.8.8)を使用してみてください。

dnsrecon -r <DNS Range> -n <IP_DNS>   #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
dnsrecon -r 157.240.221.35/24 -n 1.1.1.1 #Using cloudflares dns
dnsrecon -r 157.240.221.35/24 -n 8.8.8.8 #Using google dns

リバースWhoisループ

whoisの中には、組織名住所メールアドレス、電話番号など、多くの興味深い情報が含まれています。しかし、さらに興味深いのは、これらのフィールドのいずれかでリバースWhois検索を実行すると、会社に関連するさらなる資産を見つけることができることですたとえば、同じメールアドレスが登場する他のwhoisレジストリ
以下のようなオンラインツールを使用できます:

DomLink を使用してこのタスクを自動化できますwhoxy APIキーが必要です
また、amassを使用して自動的なリバースWhoisの発見を行うこともできます amass intel -d tesla.com -whois

新しいドメインを見つけるたびに、このテクニックを使用してさらに多くのドメイン名を発見できることに注意してください。

トラッカー

2つの異なるページで同じトラッカーの同じIDを見つけると、両方のページ同じチームによって管理されていると推測できます。
たとえば、複数のページで同じGoogle Analytics IDや同じAdsense IDを見つけた場合。

これらのトラッカーやその他の情報を検索できるいくつかのページやツールがあります:

Favicon

ターゲットに関連するドメインやサブドメインを見つけることができることを知っていましたか同じfaviconアイコンハッシュを探すことで、@m4ll0k2によって作成されたfavihash.pyツールがまさにそれを行います。以下は、その使用方法です:

cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s

favihash - 同じファビコンアイコンハッシュを持つドメインを発見する

単純に言えば、favihashを使用すると、ターゲットと同じファビコンアイコンハッシュを持つドメインを発見できます。

さらに、このブログ投稿で説明されているように、ファビコンハッシュを使用して技術を検索することもできます。つまり、脆弱なウェブテクロジーのバージョンのファビコンのハッシュを知っている場合、shodanで検索してより多くの脆弱な場所を見つけることができます。

shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'

これはWebのファビコンハッシュを計算する方法です:

import mmh3
import requests
import codecs

def fav_hash(url):
response = requests.get(url)
favicon = codecs.encode(response.content,"base64")
fhash = mmh3.hash(favicon)
print(f"{url} : {fhash}")
return fhash

著作権 / ユニークな文字列

同じ組織内の異なるウェブ間で共有される可能性のある文字列を検索します。著作権文字列は良い例です。その文字列をGoogle、他のブラウザ、またはShodanで検索します: shodan search http.html:"著作権文字列"

CRT 時間

次のようなクーロンジョブを持つことが一般的です。

# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"

外部リコン手法

サーバー上のすべてのドメイン証明書を更新します。これは、このために使用されるCAが生成された時間を有効期間内に設定していなくても、証明書透明性ログで同じ会社に属するドメインを見つけることができる可能性があります。
詳細については、こちらの解説をご覧ください。

パッシブな乗っ取り

クラウドプロバイダーに属するIPにサブドメインを割り当て、そのIPアドレスをいつの間にか失い、DNSレコードを削除するのを忘れることは一般的です。したがって、クラウドDigital OceanでVMを起動するだけで、実際にはいくつかのサブドメインを乗っ取ることができます。

この投稿では、そのことについて説明し、DigitalOceanでVMを起動し、新しいマシンのIPv4を取得し、それを指すサブドメインレコードをVirustotalで検索するスクリプトを提案しています。

その他の方法

新しいドメインを見つけるたびに、この手法を使用してさらに多くのドメイン名を発見できることに注意してください。

Shodan

すでにIPスペースを所有している組織の名前を知っている場合は、そのデータでshodanで検索できます: org:"Tesla, Inc." TLS証明書で新しい予期しないドメインを見つけるために見つかったホストをチェックしてください。

主要なWebページのTLS証明書にアクセスし、組織名を取得してから、shodanで知られているすべてのWebページのTLS証明書内でその名前を検索するか、フィルターを使用してください: ssl:"Tesla Motors" またはsslsearchのようなツールを使用してください。

Assetfinder

Assetfinderは、主要ドメインに関連するドメインとそれらのサブドメインを探すツールで、非常に素晴らしいです。

脆弱性の検索

ドメイン乗っ取りをチェックしてください。会社がドメインを使用している所有権を失っている可能性があります。安価であれば登録し、会社に通知してください。

アセットの発見で見つけたIPとは異なるIPを持つドメインを見つけた場合は、基本的な脆弱性スキャンNessusやOpenVASを使用nmap/masscan/shodanでのポートスキャンを実行する必要があります。実行されているサービスに応じて、この書籍でそれらを"攻撃"するためのトリックを見つけることができます。
ドメインがクライアントによって制御されていないIP内にホストされている場合があるため、スコープ外にあることに注意してください。


バグバウンティのヒント: ハッカーによって作成されたプレミアムバグバウンティプラットフォームであるIntigritiサインアップしてください!今すぐhttps://go.intigriti.com/hacktricksで参加し、最大**$100,000**のバウンティを獲得し始めましょう!

{% embed url="https://go.intigriti.com/hacktricks" %}

サブドメイン

スコープ内のすべての企業、各企業のすべての資産、および企業に関連するすべてのドメインを知っています。

見つかった各ドメインのすべての可能なサブドメインを見つける時が来ました。

DNS

DNSレコードからサブドメインを取得しましょう。ゾーン転送も試してみるべきです(脆弱性がある場合は報告する必要があります)。

dnsrecon -a -d tesla.com

OSINT

大量のサブドメインを取得する最速の方法は、外部ソースで検索することです。最もよく使われるツールは以下のものですより良い結果を得るためにはAPIキーを設定してください

# subdomains
bbot -t tesla.com -f subdomain-enum

# subdomains (passive only)
bbot -t tesla.com -f subdomain-enum -rf passive

# subdomains + port scan + web screenshots
bbot -t tesla.com -f subdomain-enum -m naabu gowitness -n my_scan -o .
amass enum [-active] [-ip] -d tesla.com
amass enum -d tesla.com | grep tesla.com # To just list subdomains
# Subfinder, use -silent to only have subdomains in the output
./subfinder-linux-amd64 -d tesla.com [-silent]
# findomain, use -silent to only have subdomains in the output
./findomain-linux -t tesla.com [--quiet]
python3 oneforall.py --target tesla.com [--dns False] [--req False] [--brute False] run
assetfinder --subs-only <domain>
# It requires that you create a sudomy.api file with API keys
sudomy -d tesla.com
vita -d tesla.com
theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye"

次のような、サブドメインを直接的に特定することに特化していないが、サブドメインを見つけるのに役立つ他の興味深いツール/APIがあります:

# Get list of subdomains in output from the API
## This is the API the crobat tool will use
curl https://sonar.omnisint.io/subdomains/tesla.com | jq -r ".[]"
curl https://jldc.me/anubis/subdomains/tesla.com | jq -r ".[]"
# Get Domains from rapiddns free API
rapiddns(){
curl -s "https://rapiddns.io/subdomain/$1?full=1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
rapiddns tesla.com
# Get Domains from crt free API
crt(){
curl -s "https://crt.sh/?q=%25.$1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
crt tesla.com
  • gau: 特定のドメインからAlienVaultのOpen Threat Exchange、Wayback Machine、Common Crawlに知られているURLを取得します。
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
  • SubDomainizer & subscraper: 彼らはWebをスクレイピングし、JSファイルからサブドメインを抽出します。
# Get only subdomains from SubDomainizer
python3 SubDomainizer.py -u https://tesla.com | grep tesla.com

# Get only subdomains from subscraper, this already perform recursion over the found results
python subscraper.py -u tesla.com | grep tesla.com | cut -d " " -f
# Get info about the domain
shodan domain <domain>
# Get other pages with links to subdomains
shodan search "http.html:help.domain.com"
export CENSYS_API_ID=...
export CENSYS_API_SECRET=...
python3 censys-subdomain-finder.py tesla.com
python3 DomainTrail.py -d example.com

このプロジェクトは、バグバウンティプログラムに関連するすべてのサブドメインを無料で提供しています。このデータには、chaospyを使用したり、このプロジェクトで使用されているスコープにアクセスすることもできます https://github.com/projectdiscovery/chaos-public-program-list

これらのツールの比較をこちらで見つけることができます: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNSブルートフォース

可能なサブドメイン名を使用してDNSサーバーをブルートフォースし、新しいサブドメインを見つけてみましょう。

このアクションには、次のような一般的なサブドメインのワードリストが必要です:

さらに、信頼できるDNSリゾルバのIPアドレスも必要です。信頼できるDNSリゾルバのリストを生成するために、https://public-dns.info/nameservers-all.txt からリゾルバをダウンロードし、dnsvalidator を使用してフィルタリングすることができます。または、https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt を使用することもできます。

DNSブルートフォースに最も推奨されるツールは次のとおりです:

  • massdns: これは効果的なDNSブルートフォースを実行した最初のツールです。非常に高速ですが、誤検知しやすいです。
sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
  • gobuster: これは1つのリゾルバーを使用していると思います
gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns は、massdns をラップしたもので、有効なサブドメインをアクティブなブルートフォースを使用して列挙し、ワイルドカード処理と簡単な入出力サポートを備えています。
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: それはmassdnsも使用します。
puredns bruteforce all.txt domain.com
  • aiodnsbruteは、非同期でドメイン名を総当たりで探索するためにasyncioを使用します。
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com

第2のDNSブルートフォースラウンド

オープンソースやブルートフォースを使用してサブドメインを見つけた後、見つかったサブドメインの変更を生成してさらに見つけることができます。この目的にはいくつかのツールが役立ちます:

  • dnsgen: ドメインとサブドメインを与えられた場合、順列を生成します。
cat subdomains.txt | dnsgen -
  • goaltdns: ドメインとサブドメインを与えられた場合、順列を生成します。
  • goaltdnsの順列のワードリストこちらから入手できます。
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: ドメインとサブドメインが与えられた場合、順列を生成します。順列ファイルが指定されていない場合、gotatorは独自のファイルを使用します。
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: サブドメインの順列を生成するだけでなく、それらを解決しようともします(ただし、以前にコメントされたツールを使用する方が良いです)。
  • altdnsの順列のワードリストこちらで入手できます。
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: サブドメインの順列、変異、変更を実行する別のツール。このツールは結果を総当たり攻撃しますDNSワイルドカードはサポートされていません
  • dmutの順列ワードリストはこちらで入手できます。
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: ドメインに基づいて、指定されたパターンに基づいて新しい潜在的なサブドメイン名を生成し、さらに多くのサブドメインを発見しようとします。

スマートな順列生成

  • regulator: 詳細については、この投稿を読んでくださいが、基本的には発見されたサブドメインから主要な部分を取得し、それらを混ぜてさらに多くのサブドメインを見つけます。
python3 main.py adobe.com adobe adobe.rules
make_brute_list.sh adobe.rules adobe.brute
puredns resolve adobe.brute --write adobe.valid
  • subzuf: _subzuf_は、極めてシンプルで効果的なDNS応答ガイドアルゴリズムと組み合わされたサブドメインブルートフォースファズツールです。_subzuf_は、カスタマイズされたワードリストや過去のDNS/TLSレコードなどの提供された入力データを利用して、より対応するドメイン名を正確に合成し、DNSスキャン中に収集された情報に基づいてさらにループで拡張します。
echo www | subzuf facebook.com

サブドメイン発見ワークフロー

このブログポストをチェックしてください。Trickestワークフローを使用してドメインからサブドメイン発見を自動化する方法について書いています。これにより、コンピュータで手動で多くのツールを起動する必要がなくなります。

{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

VHosts / バーチャルホスト

サブドメインを持つ1つ以上のウェブページを含むIPアドレスを見つけた場合、そのIP内の他のサブドメインを見つけることができます。これは、IP内のドメインを検索するか、そのIP内のVHostドメイン名をブルートフォースで探すことによって行うことができます。

OSINT

HostHunter やその他のAPIを使用して、IP内のVHostを見つけることができます。

ブルートフォース

Webサーバーにいくつかのサブドメインが隠されている可能性がある場合、それをブルートフォースで試すことができます。

ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"

gobuster vhost -u https://mysite.com -t 50 -w subdomains.txt

wfuzz -c -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-20000.txt --hc 400,404,403 -H "Host: FUZZ.example.com" -u http://example.com -t 100

#From https://github.com/allyshka/vhostbrute
vhostbrute.py --url="example.com" --remoteip="10.1.1.15" --base="www.example.com" --vhosts="vhosts_full.list"

#https://github.com/codingo/VHostScan
VHostScan -t example.com

{% hint style="info" %} このテクニックを使用すると、内部/非表示のエンドポイントにアクセスできるかもしれません。 {% endhint %}

CORS Brute Force

時々、有効なドメイン/サブドメインが Origin ヘッダーに設定されている場合にのみ Access-Control-Allow-Origin ヘッダーを返すページが見つかります。 これらのシナリオでは、この動作を悪用して、新しい サブドメイン発見することができます。

ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body

バケットのブルートフォース

サブドメインを探している間に、それがどの種類のバケットを指しているかを確認し、その場合は権限をチェックしてください。
また、この時点でスコープ内のすべてのドメインを把握しているため、可能なバケット名をブルートフォースし、権限をチェックしてください。

モニタリング

ドメイン新しいサブドメインが作成されたかどうかをモニタリングすることができます。Certificate Transparencyログを監視することで、sublertが行います。

脆弱性の探索

可能なサブドメイン乗っ取りをチェックしてください。
サブドメインS3バケットを指している場合は、権限をチェックしてください。

アセットの発見で見つけたIPと異なるIPを持つサブドメインを見つけた場合、基本的な脆弱性スキャンNessusまたはOpenVASを使用nmap/masscan/shodanを使用したポートスキャンを実行する必要があります。実行されているサービスに応じて、この書籍でそれらを"攻撃"するためのトリックを見つけることができます。
サブドメインがクライアントによって制御されていないIP内にホストされている場合があるため、スコープ外にある可能性があることに注意してください。

IPs

初期段階でいくつかのIP範囲、ドメイン、およびサブドメインを見つけたかもしれません。
これらの範囲からすべてのIPと**ドメイン/サブドメインDNSクエリ**を再収集する時が来ました。

以下の無料APIを使用すると、ドメインとサブドメインが以前に使用したIPを見つけることもできます。これらのIPはクライアントが所有している可能性がありCloudFlareのバイパスを見つけることができるかもしれません)

また、特定のIPアドレスを指すドメインをチェックするために、ツールhakip2hostを使用することもできます。

脆弱性の探索

CDNに属さないすべてのIPにポートスキャンを実行してください(そこに興味深いものはほとんど見つからない可能性が高いです)。発見された実行中のサービスで脆弱性を見つけることができるかもしれません。

ホストをスキャンする方法についてのガイド を見つけてください。

Webサーバーの探索

すべての企業とその資産を見つけ、スコープ内のIP範囲、ドメイン、およびサブドメインを把握しました。Webサーバーを検索する時が来ました。

前のステップで、おそらく発見されたIPとドメインの調査をすでに実行しているため、すべての可能なWebサーバーをすでに見つけているかもしれません。しかし、まだ見つけていない場合は、スコープ内のWebサーバーを検索するための高速なトリックを見ていきます。

これはWebアプリの発見に向けられているため、スコープ内で脆弱性ポートスキャンも実行する必要があります(スコープ内で許可されている場合)。

masscanを使用して関連するWebサーバーのオープンポートを発見する方法がここにあります。
Webサーバーを探すための別の便利なツールには、httprobefprobe、およびhttpxがあります。ドメインのリストを渡すと、ポート80httpおよび443httpsに接続しようとします。さらに、他のポートを試すように指示することもできます。

cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443

スクリーンショット

スコープ内の企業のIPアドレスやすべてのドメイン、サブドメインの中に存在するすべてのWebサーバーを発見したので、どこから始めればいいかわからないかもしれません。ですので、単純にすべてのWebサーバーのスクリーンショットを撮影してみましょう。メインページを見るだけで、脆弱性より多い奇妙なエンドポイントを見つけることができます。

提案されたアイデアを実行するために、EyeWitnessHttpScreenshotAquatoneShutter、またはwebscreenshotを使用できます。

さらに、eyeballerを使用して、スクリーンショットをすべて実行し、どこに脆弱性が含まれている可能性が高いか、そしてそうでないかを教えてもらうことができます。

パブリッククラウドアセット

企業に属する潜在的なクラウドアセットを見つけるためには、その企業を識別するためのキーワードのリストから始める必要があります。たとえば、暗号通貨企業の場合、"crypto"、"wallet"、"dao"、"<domain_name>"、<"subdomain_names">などの単語を使用するかもしれません。

また、バケツで使用される一般的な単語のワードリストが必要です:

その単語を使用してパーミュテーションを生成する必要があります(詳細はSecond Round DNS Brute-Forceを参照)。

生成されたワードリストを使用して、cloud_enumCloudScrapercloudlist、またはS3Scannerなどのツールを使用できます。

クラウドアセットを探す際には、AWSのバケツだけでなく、他のものも探す必要があります。

脆弱性を探す

オープンバケツや公開されたクラウドファンクションなどが見つかった場合は、アクセスして、提供されている内容を確認し、悪用できるかどうかを試してみてください。

メール

スコープ内のドメインサブドメインがあれば、企業のメールアドレスを検索を開始するために必要なものはすべて揃っています。

以下は、私が企業のメールアドレスを見つけるために最も効果的だと考えるAPIツールです:

脆弱性を探す

後でメールアドレスは、WebログインやSSHなどの認証サービスをブルートフォース攻撃するために便利です。また、フィッシングにも必要です。さらに、これらのAPIは、メールアドレスの背後にいる人物に関する情報をさらに提供してくれるため、フィッシングキャンペーンに役立ちます。

資格情報の漏洩

ドメインサブドメイン、およびメールアドレスを使用して、過去に漏洩した資格情報を探すことができます:

脆弱性を探す

有効な漏洩した資格情報を見つけた場合、これは非常に簡単な勝利です。

シークレットの漏洩

資格情報の漏洩は、企業のハッキングに関連し、機密情報が漏洩され、販売されたハッキングの結果です。ただし、企業は、これらのデータベースにはない情報が含まれる他の漏洩にも影響を受ける可能性があります。

Githubの漏洩

資格情報やAPIが、企業のパブリックリポジトリやそのgithub企業の開発者によって公開される可能性があります。
Leakosツールを使用して、組織とその開発者のすべてのパブリックリポジトリダウンロードし、自動的にそれらにgitleaksを実行できます。

Leakosは、URLが渡されるときに提供されるすべてのテキストに対してgitleaksを実行するためにも使用できます。

Github Dorks

攻撃対象の組織で検索する可能性のあるgithub dorksを見つけるために、このページもチェックしてください:

{% content-ref url="github-leaked-secrets.md" %} github-leaked-secrets.md {% endcontent-ref %}

ペーストの漏洩

攻撃者や単なる作業者が、企業のコンテンツをペーストサイトに公開することがあります。これには機密情報が含まれる場合も含まれない場合もありますが、検索する価値があります。
80以上のペーストサイトで検索するために、Pastosツールを使用できます。

Google Dorks

古くても有用なGoogle Dorksは、そこにあってはいけない情報を見つけるのに常に役立ちます。唯一の問題は、google-hacking-databaseには数千ものクエリが含まれており、手動で実行することはできないことです。したがって、お気に入りの10個を選ぶか、Gorksのようなツールを使用してすべてを実行することができます。

通常のGoogleブラウザを使用してデータベース全体を実行することを期待するツールは、Googleが非常にすぐにブロックするため、決して終了しません。

脆弱性を探す

有効な漏洩した資格情報やAPIトークンを見つけた場合、これは非常に簡単な勝利です。

パブリックコードの脆弱性

企業がオープンソースコードを持っていることがわかった場合、そのコードを分析して脆弱性を検索できます。

言語によって異なるツールを使用できます:

{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

また、以下のような無料のサービスを使用してパブリックリポジトリをスキャンすることもできます:

Webペンテスト方法論

バグハンターが見つけた脆弱性の大部分Webアプリケーションに存在するため、ここではWebアプリケーションのテスト方法論について説明したいと思います。こちらで詳細情報を見つけることができます

また、Web Automated Scanners open source toolsセクションに特別な言及をしたいと思います。非常に機密性の高い脆弱性を見つけることは期待できないかもしれませんが、初期のWeb情報を取得するためのワークフローに実装するのに便利です。

まとめ

おめでとうございます!この時点で、すべての基本的な列挙を実行しました。はい、基本的なものですが、さらに多くの列挙ができます(後でさらにトリックを見ることになります)。

したがって、すでに次のことを達成しています:

  1. スコープ内の企業をすべて見つけました
  2. 企業に属するアセットをすべて見つけました(スコープ内であれば一部の脆弱性スキャンも実行)
  3. 企業に属するドメインをすべて見つけました
  4. ドメインのすべてのサブドメインを見つけました(サブドメインの乗っ取りはありましたか?)
  5. スコープ内のCDNからでないIPアドレスをすべて見つけました
  6. すべてのWebサーバーを見つけ、スクリーンショットを撮影しました(より深い調査に値する奇妙なものはありますか?)
  7. 企業に属する潜在的なパブリッククラウドアセットをすべて見つけました
  8. メールアドレス資格情報の漏洩、およびシークレットの漏洩が、非常に簡単に大きな勝利をもたらす可能性があります
  9. 見つけたすべてのWebサイトをペンテスト

完全なリコン自動ツール

与えられたスコープに対して提案されたアクションの一部を実行するいくつかのツールがあります。

参考文献