信息打点实战:从CDN绕过到资产测绘的完整渗透测试侦查指南 📅 2026/7/2 22:29:16 1. 项目概述一次完整的信息打点实战复盘最近在复盘小迪安全课程第16天的内容主题是“信息打点”。这可以说是渗透测试或安全评估中最基础、也最考验耐心和技巧的环节。很多人觉得信息打点就是拿个扫描器扫一下其实远不止如此。它更像是一个侦探拼凑线索的过程目标是把一个模糊的域名或公司名变成一张清晰可见的“攻击地图”包括真实的服务器IP、开放的端口、跑在上面的业务系统、隐藏的API接口甚至是可能暴露内部信息的邮件服务器。这次笔记我就结合课程核心和这些年踩过的坑把CDN绕过、业务部署分析、漏洞回链、接口探针、全网扫描和反向邮件这些关键点掰开揉碎了讲清楚目标是让你看完就能上手构建一套属于自己的、高效的信息收集工作流。2. 核心思路拆解从“面”到“点”的侦查艺术信息打点不是无头苍蝇乱撞它遵循着从外围到核心、从模糊到精确的逻辑。我的整体思路可以概括为“先广撒网再重点捕捞”。2.1 为什么是这个顺序首先CDN绕过是起点。现在稍微有点规模的公司都会用CDN来加速和隐藏真实服务器。如果你不绕过CDN你扫描、探测的目标可能只是CDN的边缘节点永远触碰不到真正的业务核心。所以找到真实IP是打开所有后续可能性的大门。拿到真实IP后就要看“业务部署”。这个IP上是不是只跑了一个Web服务有没有其他端口开放是不是用了云服务不同的部署方式比如一台物理服务器托管多个虚拟主机或者使用Kubernetes等容器编排直接影响我们的探测策略和攻击面。接着“漏洞回链”和“接口探针”是针对具体应用的深度挖掘。前者关注的是应用本身是否存在能让我们“反向连接”出来的漏洞比如SSRF、XXE、某些RCE后者则是系统地发现所有可供交互的API端点这些往往是逻辑漏洞的高发区。“全网扫描”是一个补充和验证环节。当我们针对特定目标完成深度收集后可以用全网扫描的思路看看这个公司还有没有其他未知的资产子域名、关联IP段、不同地理位置的部署避免遗漏。最后“反向邮件”是一个容易被忽略但有时能出奇制胜的环节。它不直接针对业务系统而是针对人员工和内部流程。通过收集邮箱、分析邮件服务器信息可能为鱼叉式钓鱼攻击或密码爆破提供入口。2.2 工具与心智模型的结合新手常犯的错误是过于依赖工具扫出一个漏洞就想直接上。但在信息打点阶段更重要的是建立“心智模型”。每发现一个信息都要问自己这说明了什么它和之前发现的信息有什么关联比如发现一个测试子域名test.xxx.com解析到了和主站不同的IP这可能意味着测试环境的存在而测试环境的安全策略往往更宽松。再比如通过证书透明度日志发现了一个从未公开过的子域名这可能是内部系统或即将上线的新业务。工具给你数据但大脑需要把它们连成线、织成网。3. CDN绕过揪出隐藏的真实服务器这是信息打点的第一道坎也是必修课。CDN内容分发网络就像给真实服务器套上了一层又一层的代理和缓存我们的目标就是穿透这层迷雾。3.1 如何判断目标是否使用了CDN在费劲绕过之前先得确认目标是不是真的用了CDN。有几个快速判断的方法多地Ping/解析使用像ping.chinaz.com这类网站或自己用不同地区的代理/服务器去ping目标域名如果返回的IP地址差异很大基本可以确定用了CDN。检查DNS记录查看域名的NS名称服务器记录如果指向dnsv1dnspodcloudflareawsdns等知名CDN或DNS服务商可能性很高。检查响应头观察HTTP响应头中的ServerX-CacheVia等字段常会包含CDN厂商的标识如DWSTenginecloudflare。3.2 主流绕过手法实战解析确定了有CDN就可以开始尝试绕过了。没有一种方法能保证100%成功需要组合拳。历史DNS记录查询 这是成功率相对较高的一种方法。很多网站在使用CDN前其域名是直接解析到真实IP的。这些历史记录可能会被DNS记录搜索引擎保存下来。常用的工具有SecurityTrails 历史DNS记录查询功能非常强大能追溯到很久以前。ViewDNS.info 提供历史IP记录查询。微步在线ThreatBook 在线的威胁情报平台查询域名有时也能看到关联的历史IP。 操作时重点关注A记录和CNAME记录的变化。找到一个在目标网站上线初期或某次变更前使用的IP很可能就是真实IP或离真实服务器很近的IP。利用子域名发散 公司的IT管理可能存在疏忽主站www.xxx.com用了CDN但一些子域名可能没有。特别是内部系统oa.xxx.comcrm.xxx.commail.xxx.com。测试/开发环境dev.xxx.comtest.xxx.comstaging.xxx.com。其他业务线m.xxx.com(移动端)api.xxx.com。 用子域名爆破工具如subfinderamassOneForAll收集大量子域名然后逐一解析。这些子域名解析到的IP很可能与主站真实IP处于同一个C段或内网段为后续的IP段扫描提供方向。SSL证书关联查询 一个服务器可能为多个域名提供HTTPS服务这些域名会绑定在同一张SSL证书上。通过查询目标域名证书的签名或主题备用名称SAN可以发现其他关联域名这些域名可能没有使用CDN。工具推荐crt.sh这个网站它基于证书透明度日志CT Log数据非常全。在搜索框输入域名能找到包含该域名的所有证书进而发现其他关联域名。邮件服务器追踪 很多时候公司内部邮件系统如mail.xxx.com或smtp.xxx.com不会走CDN。通过给目标公司邮箱如infoxxx.com发一封邮件注意不要发垃圾邮件可以假借咨询名义然后分析邮件原文的头部信息Header查找Received字段里面可能包含邮件服务器跳转的真实IP地址。此外公司的MX记录邮件交换记录指向的IP也值得关注。利用全网扫描数据 像ShodanCensysFofaZoomEye这样的网络空间测绘引擎它们爬取的是全网IP的 banner 信息。你可以在这些引擎中搜索目标公司的特有标识比如网站标题title:“公司名”HTTP响应头中的特定字段header:“ThinkPHP”HTML正文中的版权信息body:“Copyright © 2023 XXX Inc.” 搜索时限定搜索条件为titlebodyheader等而不是host或domain。这样即使域名通过CDN访问引擎也可能因为曾经扫描过真实IP而留下记录。其他小众技巧DNS域传送漏洞 如果目标DNS服务器配置不当可能存在域传送漏洞可以直接获取该域的所有解析记录。命令如dig axfr ns1.xxx.com xxx.com。多地Ping的“漏网之鱼” 有些CDN配置可能没有覆盖全球所有地区。用全球多个地点的服务器进行Ping或HTTP访问偶尔可能有一两个地点返回了不一样的、非CDN节点的IP。关注网站源代码/JS文件 有些Web应用会在前端代码中硬编码一些内部API的地址或IP这需要手动浏览或使用工具提取分析。注意 在尝试邮件追踪或利用某些在线服务时务必遵守法律法规和道德规范避免对目标造成骚扰或触发安全警报。信息收集应以“非侵入式”为原则。4. 业务部署分析摸清服务器的“家底”拿到疑似真实IP后先别急着上漏洞扫描器。静下心来分析一下这个IP上的业务部署情况这能帮你选择最合适的后续攻击路径避免打草惊蛇。4.1 端口扫描与服务识别这是最基本的一步。使用Nmap进行端口扫描是标准操作。但不要只用默认的-sS(SYN扫描)。全端口扫描nmap -p- --min-rate1000 -T4 target_ip快速扫描所有65535个端口。服务版本探测 对开放的端口使用-sV进行版本探测nmap -sV -p open_ports target_ip。准确的版本信息对于寻找漏洞至关重要。脚本扫描 使用-sC运行默认的NSE脚本或者针对特定服务使用更深入的脚本如nmap --script http-title,http-headers -p 80,443 target_ip。UDP端口扫描 如果TCP扫描收获不大可以尝试扫描重要的UDP端口如DNS(53) SNMP(161)nmap -sU --top-ports100 -T4 target_ip。SNMP如果配置了弱口令或默认社区名可能泄露大量系统信息。4.2 部署架构推断根据扫描结果我们可以推断服务器的角色和架构Web服务器集群 如果发现80/443端口并且Server头显示是NginxApacheIIS。结合之前CDN绕过的情况这可能就是源站服务器。进一步查看是否开启了其他Web管理端口如8080 8081 8443等。数据库服务器 发现3306 (MySQL) 5432 (PostgreSQL) 6379 (Redis) 27017 (MongoDB)等端口。特别注意 Redis和MongoDB默认无认证或弱认证的情况非常普遍直接导致未授权访问。尝试用redis-cli -h ip或mongo --host ip连接一下可能会有惊喜。文件共享与服务 发现21 (FTP) 22 (SSH) 445 (SMB) 2049 (NFS)等端口。这些是远程管理和文件传输的通道通常是口令爆破的重点目标。应用中间件 发现7001 (WebLogic) 8080 (Tomcat/Jenkins) 8161 (ActiveMQ) 15672 (RabbitMQ)等。这些中间件的管理后台如果暴露在外网且使用弱口令是极好的突破口。云服务与容器 发现2375 (Docker API未授权) 2376 (Docker API TLS) 6443 (Kubernetes API) 10250 (Kubelet API)等。这些端口暴露往往意味着更严重的风险可能直接拿到容器或集群控制权。4.3 虚拟主机vHost探测一个IP上可能通过虚拟主机技术承载了多个网站。仅仅访问IP可能得到默认页或第一个站。我们需要探测还有哪些域名也指向了这个IP。方法 使用工具如ffufgobuster的虚拟主机爆破模式。ffuf -w /path/to/subdomain_wordlist.txt -u http://target_ip -H Host: FUZZ.xxx.com -fs default_page_size这里的原理是在HTTP请求头中指定不同的Host字段服务器会根据这个字段返回不同的网站内容。通过对比响应大小(-fs过滤掉默认页大小)或关键词来发现隐藏的虚拟主机。5. 漏洞回链与接口探针深入应用腹地在摸清网络层面部署后我们需要深入具体的Web应用。这里的核心是找到应用与外部交互的“通道”和“触点”。5.1 漏洞回链寻找“向外打电话”的漏洞“回链”指的是利用目标服务器上的漏洞让目标服务器主动发起一个网络连接回调到我们控制的服务器上从而证明漏洞存在或获取shell。最常见的场景是SSRF服务器端请求伪造。SSRF漏洞探测 寻找所有接受URL参数的地方。比如头像上传处是否支持从URL拉取内容采集/转码功能。内置的“分享到第三方”、“生成二维码”等功能。file_get_contents()curlHttpClient等函数被调用处的前端参数。回链检测平台 为了高效检测我们需要一个能接收回连请求的服务器。常用方法DNS回连 利用DNS查询记录。让目标访问一个类似http://unique_subdomain.your_dnslog_server.com的地址。我们只需要在DNS日志平台如ceye.iodnslog.cn查看是否有该子域名的查询记录即可无需目标服务器能出网访问我们的HTTP服务。HTTP回连 搭建一个简单的HTTP服务器用Pythonpython3 -m http.server 80并在日志中查看访问记录。更专业一点可以用Burp Suite的Collaborator Client功能它会生成一个临时域名所有对该域名的DNS和HTTP请求都会被Burp记录并回显。漏洞利用 一旦确认存在SSRF就可以尝试利用它访问内网服务http://192.168.1.1:8080、读取本地文件file:///etc/passwd或与云元数据服务交互http://169.254.169.254/。5.2 接口探针发现所有“入口”现代Web应用尤其是前后端分离的架构充满了各种API接口。这些接口是业务逻辑的核心也是漏洞的富矿。探针的目标是尽可能全地发现它们。主动爬取 使用Burp Suite的爬虫Spider功能或者ZAP 对网站进行自动化遍历。配置好爬虫范围让它自动点击链接、提交表单从而发现更多路径。被动监听 将浏览器代理设置为Burp然后手动浏览网站每一个功能点。Burp会记录下所有经过它的HTTP请求包括那些不体现在页面链接中的AJAX请求XHR这是发现API接口最主要的方式。目录/文件爆破 使用字典对网站进行路径爆破。工具如dirsearchgobusterffuf。ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -fc 403,404重点寻找/api//v1//admin//upload//export//import/ 以及各种脚本文件如.php.jsp.asp.action等。JS文件分析 前端JavaScript文件中常常硬编码了API的URL、接口参数甚至隐藏的路径。使用浏览器开发者工具的“源代码”Sources选项卡或者使用工具如LinkFinderJSFinder来自动化提取JS文件中的URL和路径。参数爆破 对于已发现的接口尝试对参数名进行爆破。例如发现/api/userinfo?id123 可以尝试爆破其他参数如/api/userinfo?uid123tokenxxxactiondelete等。工具如ArjunParamSpider可以辅助完成。API文档与源码泄露 留意/swagger-ui.html/api-docs/help等路径可能是Swagger API文档。同时检查.git/目录泄露.DS_Store文件 以及备份文件如www.zipbak等这些可能包含完整的源码和接口定义。6. 全网扫描与资产关联绘制完整的攻击面针对单一IP或域名的深度扫描之后我们需要将视野放大进行“全网扫描”式的资产发现确保没有遗漏目标公司的其他资产。6.1 基于IP段的扫描从已知的真实IP或子域名IP出发扫描其所在的C段如192.168.1.0/24甚至B段。思路是公司的服务器很可能部署在同一个或相邻的网段。工具Masscan是速度之王适合快速扫描大网段。nmap更精准适合对存活IP进行深度扫描。可以结合使用先用Masscan快速扫出存活IP和开放端口再用Nmap对存活IP进行详细的服务识别。# Masscan 快速扫描C段80443端口 masscan -p80,443 192.168.1.0/24 --rate1000 -oG masscan_output.txt # 提取存活IP用Nmap进一步扫描 grep open masscan_output.txt | awk {print $4} live_ips.txt nmap -sV -iL live_ips.txt -oA nmap_detailed_scan6.2 利用网络空间测绘引擎这是“全网扫描”的利器。我们不再是自己发包而是查询这些引擎已有的、海量的扫描数据。搜索语法以Fofa为例搜索公司主域名关联IPdomainxxx.com搜索特定标题的公司资产titleXXX公司管理后台搜索特定备案号下的资产icp京ICP备12345678号需注意合规性搜索特定城市、使用特定框架的资产cityBeijing bodyThinkPHP搜索特定端口服务port6379 countryCN redis关联分析 将从一个引擎找到的IP、域名、证书等信息作为关键词输入到另一个引擎进行搜索往往能发现新的关联资产。例如在Shodan找到一个IP的证书信息里包含另一个域名再用这个域名去Fofa搜。6.3 证书透明度CT日志挖掘证书透明度是一项公开审计技术几乎所有正规CA签发的SSL/TLS证书都会被记录在公开的CT日志中。这成为了发现子域名的宝藏。工具与网站crt.sh 最常用的网站搜索域名即可。censys.io 在证书搜索栏搜索域名。CertSpotter 监控域名证书签名的服务。技巧 不仅搜索xxx.com 也搜索*.xxx.com。关注证书的“Subject Alternative Name (SAN)”字段里面会列出该证书适用的所有域名经常能发现很多内部或未公开的域名。7. 反向邮件信息收集瞄准“人”这个薄弱环节安全中最薄弱的环节往往是“人”。通过收集和分析邮件相关信息可以为社会工程学攻击做准备。7.1 邮箱地址收集爬取网站 网站的联系我们、关于我们、团队介绍、新闻稿、博客评论等处可能暴露邮箱。使用工具如theHarvestertheHarvester -d xxx.com -b google。搜索引擎语法 使用Google Dorksite:xxx.com xxx.comxxx.com emailintext:xxx.com site:xxx.com泄露数据查询 在HaveIBeenPwnedDeHashed等网站查询目标域名看是否有邮箱密码组合在历史泄露事件中。这不仅能拿到邮箱还可能拿到可用的密码虽然不建议直接用于攻击但可以作为密码策略分析的依据。7.2 邮件服务器信息收集MX记录查询nslookup -typeMX xxx.com或dig MX xxx.com。获取邮件服务器的域名和优先级。邮件服务器扫描 对MX记录指向的域名进行A记录解析得到IP然后对该IP进行端口扫描25/SMTP 465/SMTPS 587/Submission 110/POP3 995/POP3S 143/IMAP 993/IMAPS。SMTP服务探测使用telnet或nc连接25端口通过HELOEHLO命令获取服务器banner信息可能包含软件版本。尝试VRFY和EXPN命令如果未禁用来验证或展开邮箱用户名。测试是否开放匿名中继Open Relay这是一个严重的安全配置错误。7.3 分析与利用思路收集到的邮箱列表可以用于用户名生成 邮箱前缀如zhangsan通常是公司内部系统的用户名。密码爆破 结合收集到的常用密码规则如公司名年份对OWA VPN 或其他登录门户进行定向爆破。务必在法律授权范围内进行。钓鱼攻击准备 了解邮箱格式如名.姓company.com姓拼音首字母名company.com可以更精准地构造鱼叉式钓鱼邮件的收件人。社会工程学 结合从领英等社交平台找到的员工信息可以构建更具欺骗性的攻击剧本。8. 信息整理与持续监控信息打点不是一次性的工作而是一个持续的过程。所有收集到的信息必须被有效地整理和利用。8.1 信息整理工具不要只把结果扔在txt文件里。推荐使用Obsidian Logseq 作为个人知识库用双向链接关联起IP、域名、端口、漏洞、员工等信息形成知识图谱。Maltego 强大的可视化情报收集和关联分析工具可以自动化地收集和关联各类信息。自定义脚本和数据库 对于大型项目可以编写脚本将各类工具的输出结果Nmap XML Subfinder JSON等解析后存入数据库如SQLite方便查询和关联。8.2 建立监控机制目标资产是动态变化的。新的子域名、新的服务器、新的端口可能随时上线。子域名监控 使用AmassSubfinder定期如每周运行与历史结果对比发出警报。证书监控 订阅crt.sh的RSS feed或使用其API监控目标域名的新证书。端口/服务监控 对关键资产IP进行定期的轻量级端口扫描如每周一次对比端口变化。GitHub监控 使用GitHub Dork或工具如GitMiner 监控目标公司员工是否不小心上传了含有密码、API密钥、源码的仓库。信息打点的终点不是你收集了多少G的数据而是你能否从这些数据中提炼出有价值的攻击路径并清晰地呈现在你的渗透测试报告或攻击链图中。它要求测试者既有工程师的严谨工具使用、自动化又有侦探的洞察力关联分析、大胆假设。这个过程没有银弹唯手熟尔以及永不满足的好奇心。每次打点都是一次对目标数字疆域的重新测绘而地图绘制的越精细胜利的天平就越向你倾斜。