.. | ||
github-leaked-secrets.md | ||
README.md | ||
wide-source-code-search.md |
外部侦察方法论
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在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/,搜索主公司,并点击“收购”。在那里,您将看到主公司收购的其他公司。
另一个选项是访问主公司的维基百科页面并搜索收购。
好的,在这一点上,您应该知道所有在范围内的公司。让我们弄清楚如何找到它们的资产。
ASN
自治系统号(ASN)是由互联网数字分配机构(IANA)分配给自治系统(AS)的唯一编号。
一个AS由IP地址块组成,这些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的子域枚举会自动在扫描结束时汇总和总结ASNs。
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: +----------+---------------------+--------------+----------------+----------------------------+-----------+
你可以使用 http://asnlookup.com/(它有免费的 API)来查找一个组织的 IP 范围。
你可以使用 http://ipv4info.com/ 来查找一个域名的 IP 和 ASN。
寻找漏洞
在这一点上,我们已经知道范围内的所有资产,所以如果允许的话,你可以对所有主机启动一些漏洞扫描器(Nessus,OpenVAS)。
此外,你可以启动一些端口扫描 或使用像 shodan 这样的服务来查找开放端口**,根据你找到的内容,你应该查看本书如何对运行的多个可能服务进行渗透测试。
另外,值得一提的是,你也可以准备一些默认用户名和密码**列表,并尝试使用 https://github.com/x90skysn3k/brutespray 对服务进行暴力破解。
域名
我们知道范围内的所有公司及其资产,现在是时候找出范围内的域名了。
请注意,在以下提出的技术中,你也可以找到子域名,这些信息不应被低估。
首先,你应该寻找每家公司的主域名。例如,对于 特斯拉公司,主域名将是 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 注册表),您可以找到与该公司相关的 更多资产。
您可以使用在线工具,如:
- 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
请注意,您可以使用此技术在每次发现新域时发现更多域名。
跟踪器
如果在 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 将允许我们发现具有与我们目标相同的 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
版权 / 唯一字符串
在网页中搜索可能在同一组织的不同网站之间共享的字符串。版权字符串可能是一个很好的例子。然后在Google、其他浏览器甚至Shodan中搜索该字符串:shodan search http.html:"Copyright string"
CRT 时间
通常会有类似以下的定时任务:
# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"
更新服务器上的所有域证书。这意味着即使用于此操作的 CA 在有效期内未设置生成时间,也可以在证书透明日志中找到属于同一公司的域。\
查看这个文章以获取更多信息。
电子邮件 DMARC 信息
您可以使用类似https://dmarc.live/info/google.com的网站或类似https://github.com/Tedixx/dmarc-subdomains的工具来查找共享相同 dmarc 信息的域和子域。
被动接管
人们通常会将子域分配给属于云提供商的 IP 地址,然后在某个时候失去该 IP 地址但忘记删除 DNS 记录。因此,只需在云中(如 Digital Ocean)生成一个虚拟机,实际上就会接管一些子域。
这篇文章解释了这个情况,并提出了一个在 DigitalOcean 生成虚拟机、获取新机器的IPv4,然后在 Virustotal 中搜索指向它的子域记录的脚本。
其他方法
请注意,您可以使用此技术每次发现新域时发现更多域名。
Shodan
由于您已经知道拥有 IP 空间的组织的名称,您可以在 shodan 中使用以下数据进行搜索:org:"Tesla, Inc."
检查 TLS 证书中发现的主机,查找其中的新意外域。
您可以访问主网页的TLS 证书,获取组织名称,然后在shodan已知的所有网页的TLS 证书中搜索该名称,使用过滤器:ssl:"Tesla Motors"
,或使用类似sslsearch的工具。
Assetfinder
Assetfinder是一个查找与主域相关的域和它们的子域的工具,非常惊人。
寻找漏洞
检查一下域接管。也许某些公司正在使用某个域,但他们失去了所有权。只需注册它(如果足够便宜),并让公司知道。
如果您发现任何与已发现的资产不同的 IP 的域,您应该执行基本漏洞扫描(使用 Nessus 或 OpenVAS)和一些端口扫描,使用nmap/masscan/shodan。根据正在运行的服务,您可以在本书中找到一些“攻击”它们的技巧。
请注意,有时域托管在客户无法控制的 IP 内,因此不在范围内,请小心。
漏洞赏金提示:注册 Intigriti,这是一家由黑客创建的高级漏洞赏金平台!立即加入我们,访问https://go.intigriti.com/hacktricks,开始赚取高达**$100,000**的赏金!
{% embed url="https://go.intigriti.com/hacktricks" %}
子域
我们知道范围内的所有公司,每家公司的所有资产以及与公司相关的所有域。
现在是时候找到每个找到的域的所有可能子域了。
{% hint style="success" %} 请注意,一些用于查找域的工具和技术也可以帮助查找子域! {% endhint %}
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,即使不是直接专门用于查找子域,也可以用来查找子域,比如:
- 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的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: 它们会在网络上进行爬取,查找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工作流程自动化子域发现的博客文章,这样我就不需要在计算机上手动启动一堆工具了:
{% 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" %}
虚拟主机
如果你找到一个包含一个或多个网页的IP地址,属于子域,你可以尝试通过在OSINT来源中查找IP地址中的域名或者在该IP中暴力破解VHost域名来找到其他具有网页的子域。
OSINT
您可以使用HostHunter 或其他API来查找一些IP中的VHosts。
暴力破解
如果您怀疑某个子域可能隐藏在一个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暴力破解
有时您会发现只有在_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
存储桶暴力破解
在寻找子域的同时,要留意是否指向任何类型的存储桶,如果是的话,检查权限。
此外,由于此时您将知道范围内的所有域,尝试暴力破解可能的存储桶名称并检查权限。
监控
您可以通过监控证书透明度日志来监控域的新子域的创建情况,sublert 可以实现此功能。
寻找漏洞
检查可能存在的子域接管。
如果子域指向某个S3存储桶,检查权限。
如果发现任何与资产发现中已发现的IP不同的子域,应执行基本漏洞扫描(使用Nessus或OpenVAS)和一些端口扫描使用nmap/masscan/shodan。根据运行的服务,您可以在本书中找到一些“攻击”它们的技巧。
请注意,有时子域托管在客户不控制的IP内,因此不在范围内,请小心。
IPs
在初始步骤中,您可能已经找到了一些IP范围、域和子域。
现在是时候收集所有这些范围内的IP和域/子域(DNS查询)。
使用以下免费API服务,您还可以找到域和子域使用过的先前IP。这些IP可能仍然由客户拥有(并可能允许您找到CloudFlare绕过)。
您还可以使用工具hakip2host检查指向特定IP地址的域。
寻找漏洞
端口扫描所有不属于CDN的IP(因为您很可能在那里找不到任何有趣的东西)。在发现的运行服务中,您可能能够找到漏洞。
查找关于如何扫描主机的指南。
Web服务器搜索
我们已经找到了所有公司及其资产,知道了范围内的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
截图
现在你已经发现了范围内的所有Web服务器(包括公司的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
寻找漏洞
稍后,电子邮件将有助于暴力破解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 %}
粘贴泄漏
有时攻击者或工作人员会在粘贴网站上发布公司内容。这可能包含或不包含敏感信息,但搜索这些内容非常有趣。
你可以使用工具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应用程序中,因此我想谈一下Web应用程序测试方法论,您可以在这里找到这些信息。
我还想特别提及Web自动化扫描器开源工具,因为尽管不应期望它们能发现非常敏感的漏洞,但它们对于在工作流程中实施一些初始的Web信息非常有用。
总结
恭喜!到目前为止,您已经执行了所有基本枚举。是的,这是基本的,因为还可以进行更多的枚举(稍后将看到更多技巧)。
因此,您已经:
- 找到了范围内的所有公司
- 找到了所有公司的资产(并对范围内的资产执行了一些漏洞扫描)
- 找到了所有公司的域
- 找到了所有域的子域(有任何子域接管吗?)
- 找到了范围内的所有IP地址(来自和不来自CDN)
- 找到了所有Web服务器并对它们进行了截图(有任何值得深入查看的奇怪情况吗?)
- 找到了所有属于公司的潜在公共云资产
- 可能会为您带来轻松大收获的电子邮件、凭据泄漏和秘密泄漏
- 对您找到的所有网站进行渗透测试
全面侦察自动化工具
有几种工具可以针对给定范围执行所提议的部分操作。
- https://github.com/yogeshojha/rengine
- https://github.com/j3ssie/Osmedeus
- https://github.com/six2dez/reconftw
- https://github.com/hackerspider1/EchoPwn - 有点陈旧,未更新
参考资料
如果您对黑客职业感兴趣并想要黑入不可黑入的 - 我们正在招聘!(需要熟练的波兰语书面和口语能力)。
{% embed url="https://www.stmcyber.com/careers" %}
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFT系列
- 加入 💬 Discord群 或 电报群 或在Twitter 🐦 @hacktricks_live上关注我们。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。