40 KiB
外部侦察方法论
{% hint style="success" %}
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 @hacktricks_live上关注我们。
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 分享黑客技巧。
如果你对 黑客职业 感兴趣并想要攻克不可攻克的目标 - 我们正在招聘! (需要流利的波兰语书写和口语能力).
{% embed url="https://www.stmcyber.com/careers" %}
资产发现
所以你被告知某家公司拥有的一切都在范围内,你想弄清楚这家公司实际上拥有什么。
这个阶段的目标是获取主要公司拥有的所有公司,然后获取这些公司的所有资产。为此,我们将:
- 找到主要公司的收购,这将给我们提供范围内的公司。
- 找到每个公司的 ASN(如果有的话),这将给我们提供每个公司拥有的 IP 范围。
- 使用反向 whois 查询搜索与第一个相关的其他条目(组织名称、域名...)(这可以递归进行)。
- 使用其他技术,如 shodan
org
和ssl
过滤器搜索其他资产(ssl
技巧可以递归进行)。
收购
首先,我们需要知道主要公司拥有的其他公司。
一个选项是访问 https://www.crunchbase.com/,搜索 主要公司,并点击“收购”。在那里你将看到主要公司收购的其他公司。
另一个选项是访问主要公司的维基百科页面并搜索收购。
好吧,到此为止你应该知道范围内的所有公司。让我们弄清楚如何找到它们的资产。
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: +----------+---------------------+--------------+----------------+----------------------------+-----------+
You can find the IP ranges of an organisation also using http://asnlookup.com/ (它有免费的API)。
You can fins the IP and ASN of a domain using 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
为了使其工作,管理员必须手动启用 PTR。
您还可以使用在线工具获取此信息:http://ptrarchive.com/
反向 Whois(循环)
在 whois 中,您可以找到很多有趣的 信息,如 组织名称、地址、电子邮件、电话号码……但更有趣的是,如果您通过这些字段中的任何一个执行 反向 whois 查询,您可以找到 与公司相关的更多资产(例如,其他 whois 注册处中出现相同电子邮件的情况)。
您可以使用在线工具,如:
- https://viewdns.info/reversewhois/ - 免费
- https://domaineye.com/reverse-whois - 免费
- https://www.reversewhois.io/ - 免费
- https://www.whoxy.com/ - 免费 网站,不免费 API。
- http://reversewhois.domaintools.com/ - 不免费
- https://drs.whoisxmlapi.com/reverse-whois-search - 不免费(仅 100 次免费 查询)
- https://www.domainiq.com/ - 不免费
您可以使用 DomLink 自动化此任务(需要 whoxy API 密钥)。
您还可以使用 amass 执行一些自动反向 whois 发现:amass intel -d tesla.com -whois
请注意,每次找到新域名时,您可以使用此技术发现更多域名。
追踪器
如果在两个不同页面中找到 相同的追踪器 ID,您可以推测 这两个页面 是 由同一团队管理。
例如,如果您在多个页面上看到相同的 Google Analytics ID 或相同的 Adsense ID。
有一些页面和工具可以让您通过这些追踪器和更多内容进行搜索:
Favicon
您知道我们可以通过查找相同的 favicon 图标哈希来找到与目标相关的域名和子域名吗?这正是 favihash.py 工具由 @m4ll0k2 制作的功能。以下是如何使用它:
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 允许我们发现与目标具有相同 favicon 图标哈希的域。
此外,您还可以使用 favicon 哈希搜索技术,如 这篇博客文章 中所述。这意味着如果您知道 易受攻击的 web 技术的 favicon 哈希,您可以在 shodan 中搜索并 找到更多易受攻击的地方:
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
这是您如何计算网页的 favicon 哈希:
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
版权 / 唯一字符串
在网页中搜索可能在同一组织的不同网站之间共享的字符串。版权字符串可能是一个很好的例子。然后在谷歌、其他浏览器或甚至在shodan中搜索该字符串:shodan search http.html:"Copyright string"
CRT 时间
通常会有一个 cron 作业,例如
# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"
to renew the all the domain certificates on the server. This means that even if the CA used for this doesn't set the time it was generated in the Validity time, it's possible to find domains belonging to the same company in the certificate transparency logs.
Check out this writeup for more information.
Mail DMARC information
You can use a web such as https://dmarc.live/info/google.com or a tool such as https://github.com/Tedixx/dmarc-subdomains to find 共享相同 dmarc 信息的域和子域.
Passive Takeover
Apparently is common for people to assign subdomains to IPs that belongs to cloud providers and at some point 失去该 IP 地址但忘记删除 DNS 记录. Therefore, just 在云中创建一个虚拟机 (like Digital Ocean) you will be actually 接管一些子域.
This post explains a store about it and propose a script that 在 DigitalOcean 中创建一个虚拟机, 获取 the IPv4 of the new machine, and 在 Virustotal 中搜索指向它的子域记录.
Other ways
Note that you can use this technique to discover more domain names every time you find a new domain.
Shodan
As you already know the name of the organisation owning the IP space. You can search by that data in shodan using: org:"Tesla, Inc."
Check the found hosts for new unexpected domains in the TLS certificate.
You could access the TLS certificate of the main web page, obtain the 组织名称 and then search for that name inside the TLS certificates of all the web pages known by shodan with the filter : ssl:"Tesla Motors"
or use a tool like sslsearch.
Assetfinder
Assetfinder 是一个查找与主域相关的域和子域的工具,真是太棒了。
Looking for vulnerabilities
Check for some domain takeover. Maybe some company is 使用某个域 but they 失去了所有权. Just register it (if cheap enough) and let know the company.
If you find any 域的 IP 地址与您在资产发现中找到的不同,您应该执行基本漏洞扫描 (using Nessus or OpenVAS) and some 端口扫描 with nmap/masscan/shodan. Depending on which services are running you can find in this book some tricks to "attack" them.
Note that sometimes the domain is hosted inside an IP that is not controlled by the client, so it's not in the scope, be careful.
Bug bounty tip: 注册 Intigriti,一个由黑客为黑客创建的高级漏洞赏金平台!今天加入我们 https://go.intigriti.com/hacktricks,开始赚取高达 $100,000 的赏金!
{% embed url="https://go.intigriti.com/hacktricks" %}
Subdomains
We know all the companies inside the scope, all the assets of each company and all the domains related to the companies.
It's time to find all the possible subdomains of each found domain.
{% hint style="success" %} Note that some of the tools and techniques to find domains can also help to find subdomains! {% endhint %}
DNS
Let's try to get 子域 from the DNS records. We should also try for 区域传输 (If vulnerable, you should report it).
dnsrecon -a -d tesla.com
OSINT
获取大量子域名的最快方法是搜索外部来源。最常用的 tools 如下(为了获得更好的结果,请配置 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,即使不专门用于查找子域名,也可能对查找子域名有用,例如:
- Crobat: 使用API https://sonar.omnisint.io 来获取子域名
# 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 ".[]"
- RapidDNS 免费API
# 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的开放威胁交换、Wayback Machine和Common Crawl获取任何给定域的已知URL。
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
- SubDomainizer & subscraper:它们在网上抓取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
- securitytrails.com 提供免费的 API 用于搜索子域名和 IP 历史
- chaos.projectdiscovery.io
该项目提供与 漏洞赏金计划 相关的所有子域名 免费。您还可以使用 chaospy 访问这些数据,甚至可以访问该项目使用的范围 https://github.com/projectdiscovery/chaos-public-program-list
您可以在这里找到许多这些工具的 比较: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off
DNS 暴力破解
让我们尝试通过暴力破解 DNS 服务器来查找新的 子域名,使用可能的子域名名称。
为此操作,您需要一些 常见子域名字典,如:
- https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056
- https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt
- https://localdomain.pw/subdomain-bruteforce-list/all.txt.zip
- https://github.com/pentester-io/commonspeak
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/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: 我认为这个只使用了一个解析器
gobuster dns -d mysite.com -t 50 -w subdomains.txt
- shuffledns 是一个围绕
massdns
的包装器,使用 Go 编写,允许您通过主动暴力破解枚举有效的子域名,并支持通配符处理和简单的输入输出。
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
第二轮 DNS 暴力破解
在使用开放源和暴力破解找到子域名后,您可以生成找到的子域名的变体,以尝试找到更多。以下工具对此目的非常有用:
- dnsgen: 给定域名和子域名生成排列。
cat subdomains.txt | dnsgen -
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 -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
- alterx: 基于域名,它 生成新的潜在子域名,根据指示的模式尝试发现更多子域名。
智能排列生成
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响应引导算法。它利用提供的一组输入数据,如定制的词汇表或历史DNS/TLS记录,准确合成更多相应的域名,并根据在DNS扫描过程中收集的信息进一步扩展它们。
echo www | subzuf facebook.com
子域发现工作流程
查看我写的这篇博客文章,了解如何使用 Trickest workflows 自动化子域发现,这样我就不需要在我的计算机上手动启动一堆工具:
{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/" %}
{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/" %}
虚拟主机 / VHosts
如果你发现一个包含 一个或多个网页 的 IP 地址属于子域,你可以尝试通过在 OSINT 来源 中查找该 IP 的域名,或者通过 暴力破解该 IP 的 VHost 域名 来 寻找其他子域。
OSINT
你可以使用 HostHunter 或其他 API 找到一些 IP 中的 VHosts。
暴力破解
如果你怀疑某个子域可能隐藏在一个网络服务器中,你可以尝试进行暴力破解:
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 暴力破解
有时您会发现页面仅在有效的域/子域设置在 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
Buckets Brute Force
在寻找 subdomains 时,注意是否指向任何类型的 bucket,在这种情况下 检查权限.
此外,既然你已经知道了所有在范围内的域名,尝试 暴力破解可能的 bucket 名称并检查权限。
Monitorization
你可以通过监控 证书透明度 日志来 监控 一个域名是否创建了 新子域名,sublert 可以做到这一点。
Looking for vulnerabilities
检查可能的 subdomain takeovers。
如果 subdomain 指向某个 S3 bucket,检查权限。
如果你发现任何 子域名的 IP 与你在资产发现中找到的不同,你应该进行 基本漏洞扫描(使用 Nessus 或 OpenVAS)和一些 端口扫描 使用 nmap/masscan/shodan。根据运行的服务,你可以在 这本书中找到一些“攻击”它们的技巧。
请注意,有时子域名托管在不受客户控制的 IP 内,因此不在范围内,请小心。
IPs
在初始步骤中,你可能已经 找到了一些 IP 范围、域名和子域名。
现在是 收集这些范围内的所有 IP 和 **域名/子域名(DNS 查询)**的时候。
使用以下 免费 API 的服务,你还可以找到 域名和子域名之前使用的 IP。这些 IP 可能仍然归客户所有(并可能让你找到 CloudFlare 绕过)
你还可以使用工具 hakip2host 检查指向特定 IP 地址的域名。
Looking for vulnerabilities
对所有不属于 CDN 的 IP 进行端口扫描(因为你很可能不会在这里找到任何有趣的东西)。在发现的运行服务中,你可能 能够找到漏洞。
查找一个 指南 关于如何扫描主机。
Web servers hunting
我们已经找到了所有公司及其资产,并且知道范围内的 IP 范围、域名和子域名。现在是搜索 Web 服务器的时候了。
在之前的步骤中,你可能已经对发现的 IP 和域名进行了某些侦察,因此你可能 已经找到了所有可能的 Web 服务器。然而,如果你还没有,我们现在将看到一些 快速技巧来搜索范围内的 Web 服务器。
请注意,这将是 面向 Web 应用程序发现 的,因此你也应该 进行漏洞 和 端口扫描(如果范围允许)。
一种 快速方法 是使用 masscan 在这里发现与 web 服务器相关的 开放端口。
另一个友好的工具来查找 Web 服务器是 httprobe, fprobe 和 httpx。你只需传递一个域名列表,它将尝试连接到 80 端口(http)和 443 端口(https)。此外,你可以指示尝试其他端口:
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和所有的域名及子域名中),你可能不知道从哪里开始。所以,让我们简单一点,先对它们进行截图。仅仅通过查看****主页,你就可以找到更容易被利用的奇怪端点。
要执行这个提议,你可以使用 EyeWitness、HttpScreenshot、Aquatone、Shutter、Gowitness 或 webscreenshot.
此外,你还可以使用 eyeballer 来分析所有的截图,告诉你哪些可能包含漏洞,哪些则不包含。
公有云资产
为了找到属于公司的潜在云资产,你应该从一份识别该公司的关键词列表开始。例如,对于一家加密公司,你可以使用以下词汇:“"crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">
”。
你还需要一些常用词汇的字典,用于存储桶:
- https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt
- https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt
- https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt
然后,使用这些词汇生成排列组合(查看 第二轮DNS暴力破解 获取更多信息)。
使用生成的字典,你可以使用工具如 cloud_enum, CloudScraper, cloudlist 或 S3Scanner.
记住,在寻找云资产时,你应该寻找的不仅仅是AWS中的存储桶。
寻找漏洞
如果你发现开放的存储桶或暴露的云函数,你应该访问它们,看看它们提供了什么,以及你是否可以利用它们。
电子邮件
通过范围内的域名和子域名,你基本上已经拥有了开始搜索电子邮件所需的一切。这些是我找到公司电子邮件时效果最好的API和工具:
- theHarvester - 使用API
- https://hunter.io/ 的API(免费版)
- https://app.snov.io/ 的API(免费版)
- https://minelead.io/ 的API(免费版)
寻找漏洞
电子邮件在后续暴力破解网络登录和身份验证服务(如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 %}
Paste泄露
有时攻击者或普通员工会在粘贴网站上发布公司内容。这可能包含或不包含敏感信息,但搜索它非常有趣。
你可以使用工具 Pastos 在80多个粘贴网站上同时搜索。
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自动化扫描器开源工具 这一部分,因为如果你不应该期望它们找到非常敏感的漏洞,它们在工作流程中实现一些初步的网络信息时非常有用。
综述
恭喜!到目前为止,你已经完成了所有基本的枚举。是的,这很基础,因为还可以进行更多的枚举(稍后会看到更多技巧)。
所以你已经:
- 找到了范围内的所有公司
- 找到了属于公司的所有资产(并在范围内进行了一些漏洞扫描)
- 找到了属于公司的所有域名
- 找到了所有域名的子域名(是否有子域名接管?)
- 找到了范围内的所有IP(来自和不来自CDN的IP)。
- 找到了所有的网络服务器并对它们进行了截图(是否有任何奇怪的地方值得深入研究?)
- 找到了属于公司的所有潜在公共云资产。
- 电子邮件、凭证泄露和秘密泄露,这些可能会给你带来很大的胜利。
- 渗透测试你找到的所有网站
全面侦查自动化工具
有几种工具可以针对给定范围执行部分提议的操作。
- https://github.com/yogeshojha/rengine
- https://github.com/j3ssie/Osmedeus
- https://github.com/six2dez/reconftw
- https://github.com/hackerspider1/EchoPwn - 有点旧且未更新
参考文献
- 所有免费的 @Jhaddix 课程,如 漏洞猎人的方法论 v4.0 - 侦查版
如果你对黑客职业感兴趣并想要攻克不可攻克的目标 - 我们正在招聘!(需要流利的波兰语书写和口语能力)。
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
学习并实践AWS黑客技术:HackTricks培训AWS红队专家(ARTE)
学习并实践GCP黑客技术:HackTricks培训GCP红队专家(GRTE)
支持HackTricks
- 查看 订阅计划!
- 加入 💬 Discord群组 或 电报群组 或 在Twitter上关注我们 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享黑客技巧。