hacktricks/generic-methodologies-and-resources/external-recon-methodology
2023-09-04 14:18:18 +00:00
..
github-leaked-secrets.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2023-09-04 14:18:18 +00:00
README.md Translated to Chinese 2023-08-03 19:12:22 +00:00
wide-source-code-search.md Translated to Chinese 2023-08-03 19:12:22 +00:00

外部侦察方法论

☁️ HackTricks 云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥


赏金漏洞提示注册 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/搜索主要公司,并点击“acquisitions”。在那里,你将看到主要公司收购的其他公司。
另一种选择是访问主要公司的维基百科页面并搜索“acquisitions”。

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

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

此外,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 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

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

跟踪器

如果在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图标哈希的域名

简单来说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:"版权字符串"

CRT 时间

通常会有一个类似于的定时任务

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

更新服务器上的所有域名证书

这意味着即使用于此操作的CA在有效期内没有设置生成时间也可以在证书透明日志中找到属于同一公司的域名

查看此文档以获取更多信息

被动接管

显然人们常常将子域名分配给属于云提供商的IP并在某些时候失去该IP地址但忘记删除DNS记录。因此只需在云中如Digital Ocean生成一个虚拟机,实际上就可以接管一些子域名

这篇文章讲述了一个相关的故事,并提出了一个脚本,在DigitalOcean中生成一个虚拟机获取新机器的IPv4地址并在Virustotal中搜索指向该地址的子域名记录

其他方法

请注意,每当发现一个新的域名时,您都可以使用此技术来发现更多的域名。

Shodan

由于您已经知道拥有IP空间的组织的名称您可以在shodan中使用以下数据进行搜索org:"Tesla, Inc."检查找到的主机是否有新的意外域名在TLS证书中。

您可以访问主网页的TLS证书,获取组织名称,然后在shodan已知的所有网页的TLS证书中搜索该名称,使用过滤器:ssl:"Tesla Motors"

Assetfinder

Assetfinder是一个查找与主域名相关的域名和它们的子域名的工具,非常强大。

寻找漏洞

检查是否存在域接管。也许某个公司正在使用某个域名,但他们失去了所有权。只需注册它(如果便宜),并让公司知道。

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


Bug赏金提示注册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是一个用于收集目标公司或个人的电子邮件地址、子域名、主机名和其他相关信息的开源工具。它可以通过搜索引擎、DNS查询和其他公开来源来收集这些信息。theHarvester可以帮助黑客在外部侦察阶段获取有关目标的重要信息从而为后续攻击提供有用的情报。

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

该项目免费提供与赏金计划相关的所有子域。您还可以使用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: 我认为这个工具只使用了一个解析器
gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns 是一个用Go语言编写的massdns的封装工具,它允许您使用主动暴力破解来枚举有效的子域名,同时处理通配符并提供简单的输入输出支持。
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" %}

虚拟主机

如果你找到一个包含一个或多个网页的IP地址属于子域名你可以尝试通过在OSINT来源中查找IP中的域名或通过暴力破解虚拟主机域名来找到该IP中的其他子域名。

OSINT

你可以使用HostHunter 或其他API来查找IP中的一些虚拟主机

暴力破解

如果你怀疑某个子域名可能隐藏在一个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中因此不在范围内请小心。

IP地址

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

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

寻找漏洞

端口扫描所有不属于CDN的IP地址(因为您很可能在其中找不到任何有趣的东西)。在发现的运行服务中,您可能能够找到漏洞。

查找有关如何扫描主机的指南

Web服务器搜索

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

在之前的步骤中您可能已经对发现的IP和域进行了一些侦察因此您可能已经找到了所有可能的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工具(https://github.com/carlospolop/Leakos自动下载一个组织及其开发人员的所有公共存储库,然后自动运行gitleakshttps://github.com/zricethezav/gitleaks

Leakos还可以用于对传递给它的URL提供的所有文本运行gitleaks,因为有时网页也包含机密信息

Github Dorks

还可以检查此页面,以查找您攻击的组织中可能的github dorks

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

Pastes泄露

有时,攻击者或工作人员会在粘贴网站上发布公司内容。这可能包含或不包含敏感信息,但搜索它非常有趣。
您可以使用Pastos工具(https://github.com/carlospolop/Pastos同时在80多个粘贴网站上进行搜索

Google Dorks

虽然老旧但黄金谷歌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自动化扫描器开源工具这一部分,因为尽管你不应该期望它们能找到非常敏感的漏洞,但它们在工作流程中实施一些初始的Web信息时非常有用。

总结

恭喜!到目前为止,你已经执行了所有基本的枚举。是的,这只是基本的,因为还可以进行更多的枚举(稍后会介绍更多技巧)。

所以你已经:

  1. 找到了范围内的所有公司
  2. 找到了公司拥有的所有资产(如果在范围内进行了一些漏洞扫描)
  3. 找到了公司拥有的所有域名
  4. 找到了域名的所有子域名(有没有子域接管的风险?)
  5. 找到了范围内的所有IP地址来自CDN和非CDN的
  6. 找到了Web服务器并对它们进行了截图(有没有什么奇怪的值得深入研究的地方?)
  7. 找到了公司拥有的所有潜在的公共云资产
  8. 找到了可能给你带来巨大收益电子邮件凭据泄露秘密泄露
  9. 对你找到的所有Web进行了渗透测试

完整的自动化侦察工具

市面上有几种工具可以针对给定的范围执行部分建议的操作。

参考资料


赏金猎人小贴士:注册Intigriti,一个由黑客创建的高级赏金猎人平台!立即加入我们,赚取高达10万美元的赏金!https://go.intigriti.com/hacktricks

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

☁️ HackTricks云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥