hacktricks/generic-methodologies-and-resources/external-recon-methodology
2023-12-30 22:37:12 +00:00
..
github-leaked-secrets.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-12-30 22:37:12 +00:00
README.md Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene 2023-12-30 22:37:12 +00:00
wide-source-code-search.md Translated to Chinese 2023-08-03 19:12:22 +00:00

外部侦察方法论

从零开始学习AWS黑客技术成为英雄 htARTE (HackTricks AWS红队专家)

支持HackTricks的其他方式


Bug bounty tip: 注册 Intigriti,一个由黑客创建的高级漏洞赏金平台!今天就加入https://go.intigriti.com/hacktricks,开始赚取高达**$100,000**的赏金!

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

资产发现

所以你被告知某个公司的所有东西都在范围内,你想弄清楚这个公司实际拥有什么。

这个阶段的目标是获取所有主公司拥有的公司,然后是这些公司的所有资产。为此,我们将:

  1. 查找主公司的收购情况,这将告诉我们范围内的公司。
  2. 查找每个公司的ASN如果有这将告诉我们每个公司拥有的IP范围。
  3. 使用反向whois查找来搜索与第一个条目组织名称、域名等相关的其他条目这可以递归完成
  4. 使用其他技术如shodan orgssl过滤器来搜索其他资产(ssl技巧可以递归完成)。

收购

首先,我们需要知道哪些其他公司由主公司拥有
一个选择是访问https://www.crunchbase.com/搜索 主公司,然后点击 "收购"。在那里你会看到主公司收购的其他公司。
另一个选择是访问主公司的维基百科页面并搜索收购

好的,此时你应该知道范围内的所有公司。让我们弄清楚如何找到他们的资产。

ASNs

自治系统号码(ASN)是由互联网号码分配机构IANA分配给自治系统AS唯一编号
一个ASIP地址块组成,这些地址块有明确定义的策略来访问外部网络,并由单一组织管理,但可能由几个运营商组成。

找到公司是否分配了任何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

Also, 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: +----------+---------------------+--------------+----------------+----------------------------+-----------+

您也可以使用 http://asnlookup.com/提供免费API来查找组织的IP范围。 您可以使用 http://ipv4info.com/ 查找域名的IP和ASN。

寻找漏洞

此时我们已知范围内的所有资产,如果允许的话,您可以对所有主机启动一些漏洞扫描器如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注册处出现相同的电子邮件您可以找到与公司相关的更多资产。 您可以使用在线工具,如:

您可以使用DomLink需要whoxy API密钥自动化此任务。 您还可以使用amass执行一些自动反向whois发现amass intel -d tesla.com -whois

请注意,每次发现新域名时,您都可以使用此技术发现更多域名。

追踪器

如果在两个不同的页面上找到相同追踪器的相同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图标哈希的域名](https://www.infosecmatter.com/wp-content/uploads/2020/07/favihash.jpg)

简单来说favihash能够帮助我们发现拥有与我们目标相同favicon图标哈希的域名。

此外你还可以使用favicon哈希来搜索技术正如[**这篇博客文章**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139)中解释的那样。这意味着,如果你知道**某个易受攻击版本的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"

被动接管

显然人们常常会将子域名指向云服务提供商的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内因此不在范围内请小心。


Bug bounty 小贴士注册 Intigriti,一个由黑客创建,为黑客服务的高级bug赏金平台!立即加入我们 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
# 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 编写的 go 语言封装器,它允许您使用主动暴力破解来枚举有效的子域名,以及带有通配符处理和易于输入输出支持的子域名解析。
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
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: 给定域名和子域名生成排列。
  • 您可以在这里获取 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响应引导算法。它利用提供的输入数据如定制词表或历史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 / 虚拟主机

如果你发现一个IP地址包含一个或多个属于子域名的网页,你可以尝试通过在OSINT资源中查找一个IP的域名或者在该IP中暴力破解VHost域名找到该IP中的其他带有网页的子域名

OSINT

你可以使用 HostHunter 或其他APIs找到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

Buckets Brute Force

在寻找子域名时,留意是否有指向任何类型的存储桶,如果是这样的话检查权限
此外,由于此时你将知道范围内的所有域名,尝试暴力破解可能的存储桶名称并检查权限

监控

你可以通过监控证书透明度日志来监控域名是否创建了新的子域名sublert就是这么做的。

寻找漏洞

检查可能的子域名接管
如果子域名指向某个S3存储桶检查权限

如果你发现任何子域名的IP与你在资产发现中已找到的IP不同,你应该执行基本的漏洞扫描使用Nessus或OpenVAS和一些端口扫描nmap/masscan/shodan。根据运行的服务,你可以在本书中找到一些“攻击”它们的技巧
注意有时子域名托管在客户端无法控制的IP内因此不在范围内请小心。

IPs

在初始步骤中,你可能已经找到了一些IP范围、域名和子域名
现在是时候收集这些范围内的所有IP以及域名/子域名的IPDNS查询

使用以下免费api服务,你还可以找到域名和子域名以前使用的IP。这些IP可能仍然属于客户端并可能允许你找到CloudFlare绕过

你还可以使用工具hakip2host检查指向特定IP地址的域名。

寻找漏洞

对所有不属于CDN的IP进行端口扫描(因为你在那里几乎不可能找到任何有趣的东西)。在发现的运行服务中,你可能会发现漏洞

找到一个指南 关于如何扫描主机。

Web服务器狩猎

我们已经找到了所有公司及其资产并且知道了范围内的IP范围、域名和子域名。现在是寻找Web服务器的时候了。

在之前的步骤中,你可能已经执行了一些对发现的IP和域名的侦察,所以你可能已经找到了所有可能的Web服务器。然而,如果你还没有,我们现在将看到一些快速技巧来搜索范围内的Web服务器

请注意,这将针对Web应用程序发现,因此你也应该执行漏洞端口扫描如果范围允许)。

一种快速发现与Web服务器相关的开放端口的方法是使用masscan
另一个查找Web服务器的友好工具是httprobefprobehttpx。你只需传递一个域名列表它将尝试连接到端口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以及所有的域名子域名),您可能不知道从哪里开始。让我们简化流程,从对它们全部进行屏幕截图开始。仅仅通过查看主页,您就可以发现更容易存在漏洞奇怪端点。

要执行上述想法,您可以使用 EyeWitnessHttpScreenshotAquatoneShutterwebscreenshot

此外,您还可以使用 eyeballer 对所有屏幕截图进行分析,以告诉您哪些可能包含漏洞,哪些不包含。

公共云资产

为了找到属于公司的潜在云资产,您应该从标识该公司的关键词列表开始。例如,对于加密货币公司,您可能会使用诸如:"crypto"、"wallet"、"dao"、"<domain_name>"、<"subdomain_names"> 等词。

您还需要包含常用于存储桶的常见词汇的词表:

然后,使用这些词汇生成排列组合(查看第二轮 DNS 暴力破解了解更多信息)。

使用生成的词表,您可以使用 cloud_enumCloudScrapercloudlistS3Scanner

记住,在寻找云资产时,您应该不仅仅在 AWS 中寻找存储桶

寻找漏洞

如果您发现诸如公开的存储桶或暴露的云函数之类的东西,您应该访问它们,尝试了解它们提供了什么,以及您是否可以滥用它们。

电子邮件

有了范围内的域名子域名,您基本上拥有了开始搜索电子邮件所需的一切。以下是我发现公司电子邮件最有效的API工具

寻找漏洞

电子邮件稍后将有助于暴力破解网页登录和认证服务(如 SSH。此外它们对于网络钓鱼也是必需的。此外,这些 API 还将为您提供有关电子邮件背后人物的更多信息,这对于网络钓鱼活动很有用。

凭证泄露

有了域名子域名电子邮件,您可以开始寻找过去属于这些电子邮件的泄露凭证:

寻找漏洞

如果您发现了有效的泄露凭证,这是一个非常容易的胜利。

秘密泄露

凭证泄露与公司被黑客攻击并泄露和出售敏感信息有关。然而,公司可能受到其他泄露的影响,这些信息不在那些数据库中:

Github 泄露

凭证和 API 可能会在公司或在该 github 公司工作的用户公共仓库中泄露。
您可以使用工具 Leakos 下载一个组织及其开发者的所有公共仓库,并自动运行 gitleaks

Leakos 也可以用来对提供的所有文本 URLs 运行 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 Automated Scanners 开源工具部分,因为,如果您不应该期望它们为您找到非常敏感的漏洞,它们在工作流程中实施一些初始网页信息时很方便。

总结

恭喜!此时您已经完成了所有基本的枚举。是的,这是基本的,因为可以做更多的枚举(稍后会看到更多技巧)。

所以您已经:

  1. 找到了范围内的所有公司
  2. 找到了所有属于公司的资产(如果在范围内,进行一些漏洞扫描)
  3. 找到了所有属于公司的域名
  4. 找到了域名的所有子域名(有子域名接管吗?)
  5. 找到了范围内的所有IP(来自CDN非 CDN)。
  6. 找到了所有网页服务器并对它们进行了屏幕截图(有什么奇怪的值得深入研究吗?)
  7. 找到了属于公司的所有潜在公共云资产
  8. 电子邮件凭证泄露秘密泄露可能会让您非常容易地大获全胜
  9. 渗透测试您发现的所有网页

全面自动化侦察工具

有几个工具可以对给定范围执行上述部分操作。

参考资料


Bug bounty tip: 注册 Intigriti,一个由黑客为黑客创建的优质漏洞赏金平台!今天就加入我们 https://go.intigriti.com/hacktricks,开始赚取高达 $100,000 的赏金!

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

从零到英雄学习 AWS 黑客攻击,通过 htARTE (HackTricks AWS Red Team Expert)

支持 HackTricks 的其他方式: