信息收集
参考文章
https://mp.weixin.qq.com/s?__biz=Mzk1NzgzMjkxOQ==&mid=2247492084&idx=1&sn=4f612b3ed0c8cab8b605e237191341f3&chksm=c2924d282579c5b2698a0ad1b877857d411a38978ddb521c1e0524337b35dd7c87f100b60ff7&mpshare=1&scene=23&srcid=0703wpcBA0W6xjTx2aepIrHS&sharer_shareinfo=8cfda2a64384e22677bd04596f0f2ae4&sharer_shareinfo_first=8cfda2a64384e22677bd04596f0f2ae4#rd
https://xz.aliyun.com/news/16265 信息收集的艺术
https://mp.weixin.qq.com/s?__biz=Mzg3ODE2MjkxMQ==&mid=2247499378&idx=1&sn=ab5aa07e3e2265a5c7953a0c88c6206d&chksm=ce175f6e79267667b9c260a534a3331eb79c8b454a8d4df50e2d818d3004da804f0bb0fe7366&mpshare=1&scene=23&srcid=0615ib9BD6HEYt41AgvqMCUf&sharer_shareinfo=4810c94d6d90f6ea05d28b88925b846b&sharer_shareinfo_first=4810c94d6d90f6ea05d28b88925b846b#rd
https://xz.aliyun.com/news/92241
https://www.hacktwohub.com/
其实还没有参考完,下次更新
我只做了一些补充工作与了解相关方法,这篇文章不是我写的
0x01 基础名词解释
dns解析
dns,即域名系统:Web 浏览器通过 互联网协议 (IP) 地址进行交互。DNS 将域名转换为 IP 地址,以便浏览器能够加载互联网资源
https://www.cloudflare.com/zh-cn/learning/dns/what-is-dns/
渗透测试和网络安全中常见的 DNS 记录类型
| 记录类型 | 全称 | 作用 | 渗透/安全中的意义 |
|---|---|---|---|
| A 记录 | Address | 将域名指向一个 IPv4 地址(最常见)。 | 帮我们找到目标网站的真实公网 IP(或者 CDN IP)。 |
| AAAA 记录 | IPv6 Address | 将域名指向一个 IPv6 地址。 | 针对 IPv6 资产进行单独的扫描和渗透。 |
| CNAME | Canonical Name | 别名记录。把一个域名指向另一个域名。 | 如果发现目标解析到了 xxx.wrdcdn.com,说明目标挂了 CDN 防御,需要想办法绕过。 |
| MX 记录 | Mail Exchanger | 指定由哪台服务器来负责接收发送往该域名的邮件。 | 顺藤摸瓜找到企业的邮件服务器 IP。通过对邮件服务器发送钓鱼信或利用其漏洞。 |
| TXT 记录 | Text | 任意可读的文本记录。常用于配置 SPF(反垃圾邮件)或域名所有权验证。 | 1. 验证企业用了什么第三方云服务; 2. 查看 SPF 配置是否错误,从而伪造企业邮箱发钓鱼邮件。 |
| NS 记录 | Name Server | 指定该域名由哪台 DNS 服务器来负责解析。 | 知道目标用的是哪家 DNS 厂商,或者是否存在 DNS 域传送漏洞(Zone Transfer) 从而直接拉取所有子域名。 |
与 DNS 相关的经典网络安全概念
因为 DNS 是互联网的基石,所以它也是黑客和安全防守方对抗的重灾区:
- DNS 缓存投毒
黑客通过向本地 DNS 服务器注入假的解析记录(比如把bank.com对应的 IP 改成黑客自己的钓鱼服务器 IP)。不知情的用户去访问银行时,就会被带进假网站,导致密码被窃 - DNS 域传送漏洞
由于配置不当,DNS 服务器允许任何人查询该域名下的所有记录。攻击者利用这个漏洞,可以直接把企业成百上千个内部子域名、内部测试 IP 整个打包下载,资产瞬间暴露。 - DNS 隧道
在内网渗透中,很多严格的防火墙会封锁所有的上网端口(如 80, 443),但通常会放行 53 端口(DNS请求)。攻击者利用这一点,把木马控制指令、或者窃取的数据切碎,伪装成合法的 DNS 查询请求发送出去,实现隐蔽控网和数据出流
c段
https://www.cnblogs.com/renhaoblog/p/13026361.html
C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器
在线查询
旁站和C段在线查询地址:http://www.webscan.cc/ 、 http://www.5kik.com/
常用工具
web:k8旁站、御剑1.5
K8Cscan大型内网渗透自定义插件化扫描神器,包含信息收集、网络资产、漏洞扫描、密码爆破、漏洞利用,程序采用多线程批量扫描大型内网多个IP段C段主机,目前插件包含: C段旁注扫描、子域名扫描、Ftp密码爆破、Mysql密码爆破、Oracle密码爆破、MSSQL密码爆破、Windows/Linux系统密码爆破、存活主机扫描、端口扫描、Web信息探测、操作系统版本探测、Cisco思科设备扫描等,支持调用任意外部程序或脚本,支持Cobalt Strike联动
下载地址:https://github.com/k8gege/K8CScan
最新版Ladon https://github.com/k8gege/Ladon
c段下的机器有天然信任,一旦攻击者拿下了 C 段中的某一台边缘机器(比如一个打印机服务器或测试机),就可以利用 ARP 欺骗、内网扫描等手段,轻松横向渗透到同 C 段的核心服务器(如域控、数据库)
🛠️ 0x02 正文详情:标准化资产挖掘八大链路
(一)主域名与企业信息收集
1.1 企业信息查询(股权穿透、子公司梳理:Tscan、ENscan)
平时用无影
批量查询可以使用EnScan_GO
下载后需要配置API、cookie后使用,这里是参考文章笔者常用的命令,如果报错可以微调命令,每个人的环境和配置文件都不一样不用完全照搬
我选择在wsl-kali使用,注意可以 配置代理防止因为ip封号

1 | ./enscan -n 百度 -field icp,weibo,wechat,app,job,wx_app,copyright,supplier --hold --supplier --branch |
1.2 ICP备案查主域名(时效性第一手数据:工信部官网、批量查询)
1 | 1.1.企业信息查询”已经查询到了公司名和一部分备案号信息,这时候我们就访问时效性最高的工信部ICP,直接查询`公司名`可获取当前公司备案的主域名,需要点击`详情`。`时效性高是因为ICP备案会定期变更一部分,工信部作为数据来源是第一手信息。 |
1.3 WHOIS 历史与反查(定位影子域名与未备案域名:微步在线)
通过域名的历史注册信息(注册人邮箱、电话、姓名),反查该人名下的所有其他域名,找到企业被淘汰的"影子域名",`这种域名运气好还能测绘到资产,再不济在后面的host碰撞会用到。
- 查询历史whois
1 | 企业的whois信息会因为各种原因进行变更,有时候会变更关键的(注册人邮箱、电话、姓名),通常搜索这些信息可以获取到企业注册过但是没备案的域名。这里推荐用微步,因为它隐藏了不重要的变更。 |
2.反查关联域名
1 | 上一步获取到了whois中的(注册人邮箱、电话、姓名)信息后,我们可以通过这些信息反查注册过的域名,这些域名有的还没过期但是不在企业备案中,可能企业自己也忘记了。 |
(二)子域名与公网 IP 测绘
主域名&企业信息收集”完成后,我们已经拿到了企业基本信息,接下来我们就基于这些信息,使用各种渠道扩展这些信息
2.1 测绘平台被动收集
注:被动收集要工具和测绘平台结合使用,1是不能完全相信工具输出,2是接口调用接口可能因为程序原因缺失结果,而大部分资产都在这一步产出所以要尽可能覆盖全。
2.1.1 工具调用接口(Tscan、Subfinder 批量自动化)
1.tscan快速查询
输入我们在“一、主域名&企业信息收集”获取到的主ICP备案号,字段选择“备案”,一定要是主备案号,子备案号会漏下,记得勾选右边的资产测绘平台
输入我们在“一、主域名&企业信息收集”获取到的主域名,字段选择“证书”/“域名”,记得勾选右边的资产测绘平台
注:部分站点会使用通配符证书,另外平台在证书字段上的匹配也可能带有模糊性。所以我们查询app.com.cn会匹配上abcdefapp.com.cn这种资产,这种不是目标资产,所以查询完要人工筛选一下
2.subfinder
1 | #subfinder配置文件位置运行以下命令可以看到 |
1 | ./subfinder -dL domains.txt -rl 20 -all -json -o results.json |
参数释义:
-dL domains.txt:读取文件内多个根域名批量扫描-rl 20:请求速率限制 20-all:启用全部配置好的数据源-json:输出 JSON 格式结构化结果-o results.json:将结果保存至results.json文件
2.1.2 资产测绘平台语法精通(Hunter、Quake、FOFA)
域名/ICP 备案查找
1 | # Hunter(鹰图) |
icp
1 | # Hunter |
Icon_hash(哈希深度追踪)
一个企业或组织为了保持品牌一致性,通常会在其名下的所有网站、内部OA系统、测试环境甚至边缘业务线中,使用同一个网站小图标(favicon.ico)网络资产测绘平台(如 FOFA、Hunter、Quake)在爬取全网数据时,会自动把每个网站的图标下载下来,并计算出一个“指纹”(哈希值)
掌握了目标主站图标的哈希值,去测绘平台上一搜,就能把全网所有挂着这个图标的服务器全部“揪”出来,这就叫 哈希深度追踪
1 | 首先根据在测绘平台收集的结果,把icon的下载路径或测绘平台的icon_hash保存下来,后期收集边缘资产用就行 |
Title & Body 关键字检索
title
1 | # Hunter |
body
注意body查询不能用title的关键字,这样会出现重复结果的问题
1 | # Hunter |
2.2 爆破子域名(主动发现)(打通时间差:Findomain、OneForAll)
OneForAll的使用,尽量使用虚拟环境(版本十分古老)
1 | //扫描单个域名 |
结果说明

模块介绍
https://github.com/shmilylty/OneForAll/blob/master/docs/directory_structure.md
OneForAll配置文件在当前目录“config/api.py”中配置
- 将我们在“一、主域名&企业信息收集”获取到的主域名存入domains.txt,配置好Apikey,OneForAll支持接口获取+域名爆破,这里主要用它的字典爆破功能。
- 哪天填完吧
- 命令
1 | python -m venv venv |
覆盖写入 文件里原本的内容会被清空,只剩下这一行:
1 | echo example.com > domains.txt |
追加写入 在文件最后再加一行:
1 | echo baidu.com >> domains.txt |
常用:
1 | python oneforall.py --targets ./domains.txt --wordlist subnames-9.5w.txt --brute True run |

OneForAll\results\ 查看结果
Findomain轻型侦察(极速、被动)
2.3 证书透明度(CT)日志查询(HTTPS 证书全量追溯:crt.sh、sslmate)
原理:为了防止CA(证书颁发机构)滥发伪造的SSL/TLS证书,对于主流公开信任CA签发、被现代浏览器信任的TLS证书,通常需要满足CT相关策略,因此很多公网子域名会在CT日志中留下记录。这意味着,只要目标企业为它的某个子域名申请了HTTPS证书,这个子域名就不可避免地被永久公开记录在了CT日志里。
1.crt查询 (容易挂,要等等)
1 | https://crt.sh/?q=talentsec.cn |
调用证书绑定接口直接查询主域名,可以获取证书历史绑定的域名信息
2.sslmate查询
1 | https://sslmate.com/ct_search_api/ |
调用证书绑定接口直接查询主域名,可以获取证书历史绑定的域名信息。
3.国内证书查询
1 | https://myssl.com/ |
2.4 威胁情报深度挖掘(DNS 请求与基础设施关联:微步、奇安信、360)
原理:威胁情报平台每天会处理全球海量的DNS请求、恶意样本外联请求和安全设备日志。在这些日志中,记录了大量的域名解析活动。通过查询威胁情报平台,可以作为补充数据源,帮助发现一部分常规手段不易直接发现的子域名和关联基础设施,甚至能查出一些通过常规字典爆破或搜索引擎查不到的深度隐蔽子域名
1.微步威胁情报 需付费
1 | # 微步情报社区,https://x.threatbook.cn/ |
搜索主域名可以获取到子域名信息
2.奇安信威胁情报 需要登录
里面还有cve看
1 | # 奇安信 威胁情报中心 https://ti.qianxin.com/ |
搜索主域名可以获取到CNAME记录和关联域名,里面有子域名
搜索主域名点击关联域名模块也可以获取子域名信息
3.360威胁情报 需要登录
1 | # 360 威胁情报中心 https://ti.360.cn/domain/talentsec.cn |
搜索主域名可以获取到对应的子域名信息
2.5 搜索引擎精准语法(Google Hacking)
https://www.google.com
在资产测绘和渗透测试中,利用 Google 搜索引擎查询目标网站,是一项极其关键的“被动信息收集”技术
1.site收集
site: 是一个高级搜索指令(Google Dork)。它的作用是通过site:app.com.cn -www搜索指定的域名相关的网页排除www站点(主站([www.app.com](https://www.app.com).cn)往往有成千上万的公开文章和介绍页,很多无效信息。排除了 www 之后,剩下的结果往往是那些防备薄弱的边缘资产)
2.google api,用插件Google SERP Scrapper抓取结果
为了避免一页一页翻页抓取太慢,我们需要让 Google 一页显示更多结果。
.找到 每页结果数,把滑块拉到最大,设置为 100(此时可能会要求你验证一下不是机器人)。保存设置
1 | site:app.com.cn -www |
使用插件100 条结果的网址就会被自动整理好并下载电脑上
2.6 DNS 历史解析记录查询(寻找未挂 CDN 的原始 IP:dnsdumpster、viewdns、securitytrails)
很多业务在刚上线测试时,或者是早期阶段,往往是直接将域名解析到服务器真实物理IP上的,后来才接入的CDN。通过历史DNS记录,可以找到这些曾经存在过的旧IP或旧域名。这类“影子资产”通常无人维护、缺乏最新的安全补丁、甚至存在弱口令和未授权访问,是红队打点的绝佳突破口
1.dnsdumpster
1 | https://dnsdumpster.com |
直接搜索主域名or子域名去查找DNS历史解析记录,以找到历史配置过的域名和ip
2.viewdns
1 | https://viewdns.info/iphistory/?domain=talentsec.cn |
3.securitytrails
1 | https://securitytrails.com/domain/talentsec.cn/history/a |
(三)企业 IP 段与边缘资产提取
2.7 IP C段提取(排除 CDN 噪音)
在企业实际运维中,除了对外服务的官网会绑定域名,还有大量的内部系统、基础设施是绝对不会绑定域名的,它们只通过IP访问
以下路线取其一
2.7.1 路线一:ASN 自治系统号收集(超大型企业自有资产追溯)
此方法只针对超大型企业,因为超大型企业通常会注册自己的ASN,ASN下挂载的所有IP段都是企业自有资产,比C段聚合更精准、覆盖更全。
确认企业的ASN号
我们需要找到企业的英文名称,可以在google搜索企业名称,wiki和百度百科都会显示,访问https://bgp.he.net/搜索企业英文名即可。注意因为模糊查询只有完全匹配的才是,不要收集歪了
1 | https://bgp.he.net/ |
如果没有找到企业英文名称,可以找一个确认是企业资产的IP去反查ASN号
命令一:whois 103.92.88.7 | grep -i "origin\|netname\|descr"
命令二:curl https://ipinfo.io/103.92.88.7 | jq '.org'
2.获取ASN下IP段
在网站直接搜索ASN自治系统号,点击Prefixes v4即可,也可以通过命令收集。
1 | https://bgp.he.net/ |
1 | whois -h whois.radb.net -- '-i origin AS38378' | grep -E "^route|^descr|^origin" |
需要注意的是可以看到一个ASN号下可以存在多个组织,如果客户只是让你收集博世中国,那博世家电的IP段就要剔除掉
2.7.2 路线二:数据合并聚合(子域名/IP 反查 C段:Eeyes)
1 | https://github.com/EdgeSecurityTeam/Eeyes |
- 域名汇总C段
输入之前步骤汇总收集到的子域名,通过./Eeyes-darwin -l domain.txt提取C段资产
支持排除掉CDN资产,注意IP出现次数需要超过3次,次数少容易收集歪
比如ips.txt的文本文件,并放到了同一个目录下,你可以这样运行:
1 | ./Eeyes-linux -l ips.txt |
- IP汇总C段
然后使用Tscan进行资产分练,输入之前步骤汇总收集到的IP(去重后),提取出现次数3以上的C段地址
2.8 存活 IP 资产收集与清洗
去除cdn和其他已经不属于对应资产的ip
正因为 C 段大概率是混杂的机房段,所以我们不能直接去攻击或深度扫描整个 C 段。我们把 C 段交给空间测绘平台,目的是借用平台提前缓存好的域名、证书等情报,把混在机房里的“目标机器”精确地挑出来,从而完成第二步的“IP 归属确认”
2.8.1 C段资产存活探测(节省精力的精简端口扫描)
路线一属于信息来源教单一的原因所以需要组合收集,
路线二可以直接调用现成的资产测绘平台能力,这里举例我们直接将C段给到空间测绘,列出存活的IP资产,并且可以看到反查域名、归属等信息
推荐使用:
1 | # hunter https://hunter.qianxin.com/ |
2.8.2 IP 归属确认与资产剔除(区分 CDN、公共服务与自有专线)
因为这部分资产很容易收集歪,所以在C段资产存活探测后,需要确认资产归属,可以看是不是企业专线、解析的域名是不是目前所属。注:这里查归属时顺便可以反查域名,新的IP也可能找到更多域名。
• 剔除:明显的 CDN IP。
• 剔除:第三方公共服务IP。
• 保留 :目标企业自己名字注册的 ASN 段、专线段。
• 保留 :无法明确归属,但在前期收集中出现了多个目标核心子域名的云服务器网段。
一,查询cdn
1.cname查询
dig target.com
解析结果里出现了类似 *.kunlunca.com(阿里云 CDN)、*.tlsafe.com(腾讯云)、*.cloudflare.net 等明显的 CDN 厂商后缀,那对应解析出来的 IP 绝对是 CDN 节点
2.多地 Ping 测试
3.查看 HTTP 响应头 CDN 节点在处理请求时,通常会在 HTTP 响应头(Headers)里留下自己的指纹
1 | curl -I [https://target.com](https://target.com) |
如果在返回的 Header 中看到了 X-Cache、X-Cache-Lookup、Via,或者 Server: cloudflare,这就是请求被 CDN 拦截并处理了
4 . 查 ASN 与 IP 归属用微步在线(ThreatBook)或 bgp.he.net 直接反查这个 IP,看 IP 的所有者(ASN/Org)
二,识别第三方公共服务 IP
第三方公共服务指的是企业为了方便,直接使用了别人提供的现成服务(SaaS/PaaS),而不是自己买服务器搭建的。这些服务器的控制权根本不在目标企业手里。
威胁情报平台的标签识别。像微步、FOFA 这类测绘和情报平台,已经给全网的 IP 打好了标签。
- 把一个 C 段批量丢进微步的 API 时,注意看它返回的
tags字段。 - 如果带有 “公共 DNS”、“CDN 节点”、“IDC 公共网关” 这种标签,直接写脚本做正则匹配,将其从扫描任务池中自动化剔除
1 | https://tool.chinaz.com/same |
2.8.3 全端口深度扫描
对上面保留的IP进行全端口扫描,最后输出的结果就是IP+端口资产需要和之前收集到资产整合
(四)前端 JS 提取与目录挖掘
在深度的 Web 漏洞挖掘中,能敏锐地把同一个域名下的不同功能路径(如 /index 和 /admin)视作“独立的资产面”来对待,是非常成熟的实战思维。
2.9 JS 文件敏感路径深度查询(URLFinder、JSFinder、FindSomething 插件)
将上面收集到的所有URL作为输入,通过工具爬取网站前端JS文件,从JS文件中提取URL,再通过精简URL筛选出子域名。
1.URLFinder
这里演示URLFinder爬取一个站点,若要使用建议多个站点同时提取。
突出优点:在提取出API路径后,可以结合配置的字典对这些路径进行Fuzz或者状态码探测,看看这些从JS里抓出来的接口到底能不能真正访问
可以是去前线探路,爬取网页、顺藤摸瓜找到所有的 .js 文件、隐藏的 API 接口和子域名
命令:
1 | ./URLFinder-macos-arm64 -u https://www.talentsec.cn/ -s all -m 2 |
替代品:
记得tun
1 | go install github.com/projectdiscovery/katana/cmd/katana@latest //主动爬虫 |
1.1 mantra
不可以自己去发现新的网页,它的任务是拿着给它的内容,逐字逐句地扫描里面有没有硬编码的 AK/SK(云主机的密钥)、JWT Token、数据库密码等敏感信息
1 | # 维持 30 个并发线程稳扎稳打地扫描 |
1 | echo "https://exalpme.js" | mantra -d |
2.JSFinder
JSFinder同样可以爬取js文件并提取出域名
突出优点:支持深度爬取。当它在一个JS里发现了一个新的URL时,可以继续去请求那个新的URL,看看能不能找到更多的JS文件。
命令:
1 | cd ~/tools/web_recon/JSFinder |
3.FindSomething 单个网站
以google插件的形式引入
突出优点:支持人工触发DOM节点加载JS,最全但是因为依靠人工触发DOM没法批量爬取,可以用在日常渗透中
可以使用雪瞳代替
1 | # 下载链接:https://github.com/momosecurity/FindSomething |
2.10 目录扫描与后台资产区分(发现隐蔽的测试环境/敏感管理路径)
目录爬取的目的,是为了发现目标网站上那些没有被正常链接公开,但却真实存在并可以直接访问的敏感路径和文件
目录这里我们主要使用后台页面的字典就行了,尽量挂上代理池有些路径会触发WAF规则,线程也尽量小一些
1 | # 进入 Java 项目目录 |
比如这个站点“/index”和“/admin”可以看做两个站,不止可以作为后台登录页面泄露,也可以作为url资产区分开
(五)Host 头碰撞(打通隐蔽/无法访问资产)
当域名的DNS解析已经失效,但Web服务器、反向代理、负载均衡、CDN回源配置中仍保留着基于Host的虚拟主机路由时,手动将域名指向候选IP后,仍有机会命中这些配置并访问到目标服务。这也是为什么直接访问IP没有转发,直接访问域名也没有指向,只有域名和IP都具备,才能访问网站的原因
第一步:收集反向代理服务器的ip
第二步:收集解析异常的域名,能解析到内网中的域名
第三步:手动把域名解析为某个ip,采用笛卡尔积碰撞,两两匹配,直到域名能访问出某个系统
HostCollision
从无法访问的域名,和所有ip进行碰撞测试
1 | java -jar HostCollision.jar -ipFilePath ip.txt -hostFilePath host.txt |
碰撞成功后可以这样构造请求,填写真实host,下面演示了配置正确host和不配置host的区别。
# 下载链接:https://github.com/pmiaowu/HostCollision
Tscan也新增了host碰撞的功能,只需要将IP和域名粘贴进去运行即可
2.11 虚拟主机路由机制与 Host 碰撞原理
host碰撞
0.前提条件
1.手工验证
2.自动化批量撞脚本
2.12 碰撞实战落地流程(HostCollision、Tscan 联动笛卡尔积匹配)
(六)企业新媒体与移动端资产梳理
3.1 微信生态账号收集(公众号、小程序、服务号定向检索)
微信直接搜索目标公司名称
3.2 APP 移动端应用收集(开发者绑定、多应用商店追溯:点点数据、七脉数据)
获取APP名称
直接搜索企业名称即可,企业在发布应用时会绑定开发者为企业。记得切换应用商店看看,有时候测试应用会只在个别应用商店上架。
# 点点数据:https://www.diandian.com/
# 七脉数据:https://www.qimai.cn/account/setting
(七)敏感信息泄露与网络空间暴露面
4.1 Google Hacking 高阶实战语法
小技巧:可以把下面的语法做成一个skill,不用手动替换,把资产给模型整理新的语法
0.基本语法
1.管理后台搜索
site设置为主域名和IP,可以迅速把目标企业暴露在公网的各种OA系统、CMS后台、测试环境管理端全部揪出来
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | (site:app.com.cn OR site:122.194.76.10) (intitle:"管理" OR intitle:"后台" OR intitle:"登录" OR intitle:"admin" OR intitle:"login" OR intitle:"dashboard" OR intitle:"system" OR intitle:"portal" OR intitle:"manage" OR inurl:admin OR inurl:login OR inurl:manage OR inurl:dashboard) |
(site:...):是为了把搜索范围圈定在要测试的目标域名或真实 IP 上。注意如果用 * 通配符容易搜出别人家的资产。
(intitle:... OR inurl:...): 提取了全网所有后台系统最爱用的命名规律
2.未授权接口搜索
可以找到因为企业配置不当,而产生的未授权访问或敏感信息泄露的常见接口、监控面板和调试页面
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | (site:app.com.cn OR site:122.194.76.10) (inurl:swagger OR inurl:api-docs OR intitle:"Swagger UI" OR inurl:graphql OR inurl:graphiql OR inurl:altair OR inurl:v2/api-docs OR inurl:v3/api-docs OR inurl:postman OR inurl:doc.html) |
微服务与 Java 中间件未授权(Actuator/Nacos)
针对Java生态的定制语句,寻找SpringBoot监控端点、阿里Druid数据库连接池面板、微服务注册与配置中心等。
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | (site:app.com.cn OR site:122.194.76.10) (inurl:actuator OR inurl:druid OR inurl:nacos OR intitle:"Eureka" OR intitle:"Spring Boot Admin" OR inurl:jolokia OR inurl:dubbo OR inurl:weblogic OR inurl:jmx-console OR intitle:"Tomcat" OR intitle:"Welcome to JBoss") |
运维监控面板暴露(Zabbix/Jenkins/GitLab)
匹配运维基础设施的特征页面,如Kibana (日志)、Zabbix (监控)、Jenkins (持续集成/发版)、GitLab (源码仓库),这些系统往往部署在内网,内网系统安全性一般较低,一旦公网暴露大概率有突破口
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | (site:app.com.cn OR site:122.194.76.10) (intitle:"Kibana" OR inurl:kibana OR intitle:"Zabbix" OR inurl:jenkins OR intitle:"Dashboard [Jenkins]" OR intitle:"GitLab" OR intitle:"Gitea" OR inurl:harbor OR inurl:solr OR inurl:phpmyadmin OR intitle:"phpMyAdmin" OR inurl:adminer OR intitle:"Hadoop" OR intitle:"Apache Flink" OR intitle:"Spark" OR intitle:"RabbitMQ Management" OR inurl:flower) |
1 | (site:app.com.cn OR site:122.194.76.10) (inurl:"/phpinfo.php" OR intitle:"phpinfo()" OR inurl:"/server-status" OR inurl:"/server-info" OR intitle:"Apache Status") |
测试环境与敏感文件类型定向挖掘(密码表/SQL/证书源码)
匹配URL路径中包含开发/测试特征词的页面。此类环境一般用于上线前测试,通常没有接入WAF,且可能存在为了方便调试而遗留的硬编码密码或后门接口,也是突破口之一
1 | (site:app.com.cn OR site:yicongfound.org OR site:122.194.76.10) (inurl:test OR inurl:dev OR inurl:staging OR inurl:demo OR inurl:uat OR inurl:beta OR inurl:sandbox OR inurl:pre OR inurl:local) |
6.敏感文件
强制Google只返回指定格式的文件,企业运维中不可避免会存放一些未授权访问的文档,尤其是存储桶经常会放一些未授权文档,被爬虫抓取后直接暴露。
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | 1. (site:app.com.cn OR site:122.194.76.10) (ext:pdf OR ext:doc OR ext:docx OR ext:xls OR ext:xlsx OR ext:ppt OR ext:pptx OR ext:csv OR ext:txt) |
目录遍历与报错页面识别_
当Web服务器没有配置默认首页且允许列出目录时,就会出现这个标题,可以直接浏览服务器上的文件结构。
注使用通配符*可能会收集到其他资产,建议有确认的资产IP的话使用精确的IP
1 | (site:app.com.cn OR site:122.194.76.10) (intitle:"index of" OR intitle:"Directory Listing For") |
报错页面
匹配各类网站在错误时特有的报错文本格式,作用较少主要用于确认目标数据库信息。
1 | (site:app.com.cnORsite:yicongfound.orgORsite:122.194.76.10) (intext:"Fatal error:"ORintext:"Warning: mysql_connect()"ORintext:"stack trace:"ORintext:"Syntax error"ORintext:"java.lang.NullPointerException"ORintext:"SQL syntax"ORintext:"Exception in thread") |
第三方协作平台/看板数据泄露(Trello/Notion/语雀/GitHub)
指定目标为第三方云端协作网站,并在后面跟上目标企业的核心高辨识度名字。从第三方网站中提取出出与目标企业相关的开发代码或测试账号。
注:以下语法搜索范围较大,关键字要及时调整,尽量精确
1 | (site:trello.com OR site:atlassian.net OR site:notion.so OR site:shimo.im OR site:yuque.com OR site:processon.com OR site:github.com) ("yicongfound" OR "金光纸业" OR "sinarmas") |
4.2 网盘/云端笔记敏感信息检索(网络拓扑、系统交接文档、核心代码备份)
开发、运维或外包人员为了工作方便,经常会将公司内部的源代码、网络拓扑图、VPN 账号或交接文档打包上传到百度网盘、阿里云盘,或者记在语雀等云端笔记上。
1 | #懒盘:https://www.lzpanx.com/ |
寻找网络拓扑与IT架构
金光纸业 拓扑
金光集团 架构
APP中国 IP规划
sinarmas 拓扑
yicongfound 架构图
寻找系统交接与配置文档
金光纸业 VPN
金光集团 堡垒机
APP中国 密码
sinarmas 账号交接
yicongfound 配置文档
寻找核心代码与备份数据
金光纸业 源码
APP中国 数据库备份
sinarmas sql备份
yicongfound 代码
寻找内部行政/通讯录泄露(社工利器)
金光纸业 通讯录
金光集团 花名册
APP中国 组织架构
sinarmas 员工名单
4.3 全网邮箱资产搜集(Snov.io、Phonebook、Hunter.io 及社工关联)
邮箱收集直接调用三方接口即可,一般都是通过邮箱域名搜索,所以在这之前我们可以从主域名&企业信息收集”确认企业邮箱的主域名是什么,这些网站会在全网爬取或枚举邮箱信息,不用我们自己去花时间确认,而且数据源够的话收集的数量是很可观的。
1 | # https://app.snov.io/domain-search?name=app.com.cn&tab=emails |
(八)源码获取与云存储安全
4.4 目标网站源码获取与指纹识别
指纹探测(Tscan、Wappalyzer)
指纹识别
可以通过Tscan、Wappalyzer识别产品的指纹信息
1 | # Tscan:https://github.com/TideSec/TscanPlus/releases |
开源产品
• 开源产品GitHub、gitee直接clone下载下来审计
1 | # https://github.com/ |
商业产品
• 商业产品:闲鱼、深网、A网购买,可以搜到
1 | # https://www.huzhan.com/ |
魔改/自研系统 GitHub 特征检索(版权/API路径/JS指纹)
实战技巧:
■ 搜到结果后,点进仓库看commit历史,很多人发现泄露后删了文件但历史还在
■ 看这个开发者的其他仓库,一个人泄露一次大概率还有其他泄露
■ 注意fork的仓库,原仓库删了但fork还在
- 找到网站特征
■ 页面底部版权信息:“Powered by XXX” / “Copyright 2023 某某科技”
■ 独特的JS/CSS路径:/static/js/chunk-2d0a1f3.js
■ 独特的API路径:/api/v2/internal/xxx
■ 页面title或meta标签中的系统名
■ 登录页面的独特文案/图片路径 - 拿特征去GitHub/grep.app搜
敏感目录源码泄露利用(.git / .svn / WEB-INF / 备份文件)
通过目录扫描有时候能扫描到开发者遗漏的源码备份或配置文件,部分配置文件可以恢复源码。原理就是目录扫描配合工具dump源码,可以参考我参考的作者之前看到的一篇文章:
1 | # https://juejin.cn/post/6950954967435837454 |
4.5 深网与暗网数据泄露分析(IntelX、各类安全/勒索论坛关联检索)
IntelX 聚合搜索引擎
这个网站好用的地方在于,他把深网、A网上历史泄露事件的数据都下载下来了数据量很大,泄露主角一般是与目标有供应关系的三方网站,很多账密之类的都能使用,缺点是太贵了让公司报销。
搜索:app.com.cn、@app.com.cn、企业名
1 | # https://intelx.io/ |
深网
1 | 搜索:app.com.cn、@app.com.cn、企业名 |
A网
1 | xss.is |
4.6 云存储桶(OSS/S3/COS/OBS)枚举与未授权检测(BucketHunter 字典生成、多云扫描与 AI 研判分析)
原理:企业在云上的存储桶(阿里云OSS/AWS S3/腾讯云COS/华为云OBS)经常因权限配置错误导致未授权访问。存储桶名称全球唯一,通过企业关键字+常见后缀拼接桶名进行探测,可以发现企业遗忘或配置不当的云存储资产
1 | # 注:原作者已经传到github供大家使用 |
生成桶名称字典
从前期收集的子域名和企业关键字中提取特征,生成桶名字典。进入交互式终端选择第一步生成桶字典,依照流程填写以下信息即可
./BucketHunter
• 企业关键字(公司简称、产品名、项目代号)
• 前期收集的子域名列表
多云存储桶扫描
使用程序会调用开源项目S3Scanner对生成的字典进行多云平台批量扫描,能看到收集到很多存在可读对象和未授权写的桶,因为是模糊匹配大部分会歪需要让AI结合资产分析一遍关联度。
在交互式终端选择第二步,执行扫描即可
- AI研判分析
第二步完成后可以让AI分析结果,剔除掉明显不符合的部分,分析前需要填写必要信息以让AI精度提高,最后人工跟进AI结果筛选验证一下就行,演示的客户域名比较通用,AI也能综合分析个概率
🏁 0x03 总结
标准化闭环侦察链路的落地价值与演练参考
一套完整标准化企业外网资产信息收集流程,整合企业工商备案、子域名测绘、IP 网段探测、CT 日志检索、JS 接口提取、Host 碰撞、敏感信息挖掘、云存储桶检测等多维度侦察手段,配套各类工具实操命令与测绘检索语法。文章剔除过时低效方法,重点针对影子、边缘隐蔽资产给出落地挖掘方案,形成闭环侦察链路,可有效减少资产遗漏,为渗透测试、攻击面梳理工作提供完整可复用的实战参考
判断cdn
1.多地ping
CDN 的典型特征是就近分配节点,不同地区 ping 出不同 IP
当然,ping出来不同ip也不一定是cdn
| 工具地址 | 特点 |
|---|---|
| https://ping.chinaz.com/ | 站长工具,国内节点多,延迟低 |
| https://www.itdog.cn/ping | 支持大量海外节点,适合你查国内学校域名(海外节点没 CDN,能直接连源站) |
| http://ping.aizhan.com/ | 爱站网,和站长工具类似,可交叉验证 |
| http://ce.cloud.360.cn/ | 360 云测,支持多地区多协议测试 |
cdn绕过方法
1.历史dns查询
很多网站的发展路径是先搭好服务器 IP,后来才接入 CDN 做防护。所以域名的DNS 解析历史记录里,会保留接 CDN 之前的真实 IP 记录,通过查询这些历史数据,就能找到源站 IP
| 工具地址 | 核心功能 |
|---|---|
| https://dnsdb.io/zh-cn/ | 除了子域名,也支持查域名的历史解析记录 |
| https://x.threatbook.cn/(微步在线) | 国内知名威胁情报平台,能查域名关联 IP、历史解析、是否为 CDN 节点 |
| http://toolbar.netcraft.com/site_report?url= | 老牌域名情报平台,能查网站的历史服务器信息、IP 绑定记录 |
| http://viewdns.info/ | 专门的 DNS 历史查询工具,支持查看域名的所有解析变更记录 |
| https://tools.ipip.net/cdn.php | IPIP 的 CDN 检测工具,输入 IP 就能判断是不是 CDN 节点 |
2.子域名查询同子网
Dnsdb(https://dnsdb.io/zh-cn/)
- 用法:输入主域名(比如
ccnu.edu.cn),选择查询类型为A记录,就能批量导出所有公开子域名 + 对应的 IP
3.服务器主动外连
触发邮箱
ssrf
4.证书透明度日志与全网ssl证书扫描
即使域名在 DNS 上隐藏得很好,但服务器上部署的 SSL 证书是无法伪造的
使用 Censys、Shodan 或 ZoomEye 等网络空间测绘工具,在全网搜索目标域名的 SSL 证书