首先,为了更好的将信息进行分类,从一开始白帽小哥就创建不同类别的文件夹用于更好的区分。
mkdir -p gcash.com ~/recon/targets/gcash.com/subdomains/
mkdir -p gcash.com ~/recon/targets/gcash.com/endpoints/
mkdir -p gcash.com ~/recon/targets/gcash.com/aws/
mkdir -p gcash.com ~/recon/targets/gcash.com/dns/
子域枚举
常用工具:
- subfinder
- assetfinder
- alterx
- asnmap
- ffuf
使用 subfinder 进行被动和主动子域枚举:
subfinder -d gcash.com -o ~/recon/targets/gcash.com/subdomains/subfinder.txt
使用 assetfinder 通过证书透明度日志进行子域枚举:
assetfinder --subs-only gcash.com >> ~/recon/targets/gcash.com/subdomains/assetfinder.txt
使用 alterx 进行动态子域枚举:
echo gcash.com | alterx -enrich | dnsx > ~/recon/targets/gcash.com/subdomains/alterx-dynamic.txt
也可以根据现有子域生成模式,找到子域的几率很大:
subfinder -d tesla.com | alterx | dnsx
使用 alteryx 通过排列/更改进行子域枚举:
echo gcash.com | alterx -pp 'word=subdomains-top1million-50000.txt' | dnsx > ~/recon/targets/gcash.com/subdomains/alterx-permutation.txt
通过 ASMapping 枚举子域:
asnmap -d gcash.com | dnsx -silent -resp-only -ptr > ~/recon/targets/gcash.com/subdomains/dnsx.txt
通过vhost进行子域名枚举:
cat subdomains-top1million-50000.txt | ffuf -w -:FUZZ -u http://gcash.com/ -H 'Host: FUZZ.gcash.com' -ac
使用不同的工具枚举子域之后,很多是一些重复的子域,为了优化,可以使用anew 方法进行合并:
cat ~/recon/targets/gcash.com/subdomains/*.txt | anew ~/recon/targets/gcash.com/subdomains/subdomains.txt
合并子域后,就可以使用httpx过滤出活动子域:
cat ~/recon/targets/gcash.com/subdomains/subdomains.txt | httpx -o ~/recon/targets/gcash.com/subdomains/httpx.txt
信息收集
过滤出活动子域后,可以使用httpx配合wappalyzer来收集相关域的信息,同时识别用于网站的技术。
收集完相关信息后,就可以使用nuclei进行下一步扫描:
cat ~/recon/targets/gcash.com/subdomains/httpx.txt | nuclei -config ~/nuclei-templates/config/custom.yml
可以在nuclei中自定义配置,用于寻找敏感信息(如密钥、令牌、凭证等)
severity:
- critical
- high
- medium
- low
type:
- http
- tcp
- javascript
include-tags:
- generic
- config
- misconfig
- exposures
- exposure
- disclosure
- file
- logs
- traversal
- xss
- lfi
- crlf
- cache
- takeovers
- wordpress
exclude-tags:
- tech
- dos
- fuzz
- creds-stuffing
- token-spray
- osint
- headers
在这一过程中,nuclei扫描发现了数据库凭证信息:
很明显,这是由于配置错误而暴露的数据库凭证。
奇怪的是,在使用gobuster和disearch进行扫描时,并没有发现这一泄露。
之前在httpx上看到目标网站有使用 aws,那么可以使用nuclei过滤出s3 存储桶。
cat ~/recon/targets/gcash.com/subdomains/httpx.txt | \
nuclei -t technologies/aws/aws-bucket-service.yaml | \
awk -F’://’ ‘{print $2}’ | \
awk -F’/’ ‘{print $1}’ > ~/recon/targets/gcash.com/aws/butcket.txt
将打开的buckets另存到open_buckets.txt:
cat ~/recon/targets/gcash.com/aws/butcket.txt | \
xargs -I {} sh -c ‘if aws s3 ls “s3://{}” — no-sign-request 2>/dev/null; \
then echo “{}” >> ~/recon/targets/gcash.com/aws/open_buckets.txt; \
fi’
被动开放端口扫描
使用naabu,可以以快速可靠的方式枚举主机的有效端口:
cat ~/recon/targets/gcash.com/subdomains/subdomains.txt | naabu --passive
扫描完所有端口后,寻找可利用的端口,在本文中,白帽小哥更愿意寻找SMTP端口,例如SSL或TLS ,如果找到此类端口,可以使用swaks来测试电子邮件欺骗漏洞:
你学会了么?