在渗透测试领域,前期打点阶段直接决定了整个测试的效率和深度。快速打点是指通过高效的方法收集目标资产、识别漏洞并进行初步攻击尝试。本文基于实际攻防经验,探讨如何在渗透测试前期对目标进行快速渗透。
快速打点的核心思路
渗透测试的前期阶段往往时间紧迫,需要快速锁定目标的暴露面。核心思路是通过网络资产测绘快速收集互联网暴露资产(被动扫描),并联动指纹识别工具和扫描器进行打点。具体而言,利用测绘平台(如FOFA、Shodan或鹰图)查询目标的公开资产信息,然后结合自动化工具进行指纹探测和漏洞扫描。
例如,在红队攻防中,信息收集是"最肝"的部分,但通过自动化测绘,可以显著缩短时间。这就需要我们从两方面下功夫:资产收集 与扫描优化。
面临的难点
在攻防演练或渗透测试中,目标资产的呈现形式往往不统一,这增加了处理的复杂性。主要难点包括:
- 公司名单表:组织方可能仅提供公司名称列表,需要通过测绘引擎扩展为具体资产。
- 杂乱资产堆 :资产可能混杂URL、IP、域名等多种形式,如
http://baidu.com、192.168.23.1或带端口的地址,需要分类处理以避免遗漏。
这些问题要求工具或脚本具备灵活性,能自动区分并处理不同类型资产,否则容易导致资产收集不完整,影响后续打点效率。
解决方案
为了克服上述难点,我们可以从测绘语法和资产处理两个维度入手,确保资产收集的全面性和准确性。
测绘语法设计
测绘语法是网络空间搜索引擎的核心,利用多角度查询可以最大化资产覆盖。建议使用"或"逻辑(OR)整合以下语法进行查询(参考FOFA等平台的规则):
- ICP备案号 :如
icp="京ICP证030173号",用于查找备案相关的网站资产。 - 域名 :如
domain="baidu.com",直接搜索根域名或子域名。 - IP地址 :如
ip="192.168.1.1",定位特定IP的资产。 - Host信息 :如
host="example.com",结合域名变体搜索。 - 网站Title和Body :如
title="百度"或body="powered by",通过页面内容特征识别。 - 一年前后数据 :使用时间过滤,如
after="2023-01-01" && before="2024-01-01",获取历史资产变化。 - SSL证书 :
- 公用名:如
cert="baidu.com"。 - 组织:如
cert.o="Baidu Inc."。 - 序列号:如
cert.serial_number="123456"。


- 公用名:如
这些语法可以组合使用,例如(icp="备案号" || domain="域名") && country="CN",以覆盖更多资产。实际应用中,测绘平台如FOFA支持这些字段,帮助快速定位暴露面。 通过多源查询(如ICP、证书和页面特征),可以绕过CDN隐藏的真实IP,提高收集准确率。
资产处理机制
目标资产往往杂乱无章,例如:
http://baidu.com
http://baidu.com:1122
https://192.168.23.1:8899
192.168.23.1
baidu.com
需要通过脚本或工具清洗为标准化格式,分为WEB资产(带协议的URL)和IP资产。具体处理后可能输出:
-
WEB资产:
http://baidu.com http://baidu.com/asdxasd/asd http://baidu.com:1122 https://192.168.23.175:8899 http://conasdasd.com https://conasdasd.com https://192.168.124.175:8899 http://192.168.123.175:1122 https://192.168.123.175:1122 -
IP资产:
192.168.123.175 192.168.23.1 192.168.124.175
这种分类便于后续扫描:WEB资产直接进行指纹识别,IP资产需先端口探测。
扫描处理流程
扫描阶段是将收集资产转化为可利用情报的关键。分为测绘引擎结果处理和杂乱资产处理。
测绘引擎结果处理
从测绘平台获取的IP资产,使用gogo工具进行端口扫描和初步探测。gogo是一个面向红队的高性能扫描器,支持主动/被动指纹识别和关键信息提取。 随后,对去重后的资产使用observer_ward进行指纹探针,这是一个Web应用和服务指纹识别工具,能快速识别框架和技术栈。 识别出指纹后,联动nuclei执行对应POC(Proof of Concept)扫描。nuclei是一个快速漏洞扫描引擎,支持自定义模板,适用于批量验证。
杂乱资产处理
杂乱资产分为WEB和IP两种:
- WEB资产 :直接等待
gogo探测结果。 - IP资产 :先用
gogo进行端口扫描,收集开放端口上的WEB服务。
完整流程:资产识别 → WEB资产(包括初始收集) → gogo探测 → 合并所有WEB资产 → observer_ward指纹识别 → nuclei漏洞扫描。这种管道式处理确保不遗漏任何暴露点,并在攻防中快速定位脆弱资产。
优缺点分析
优点
- 资产覆盖最大化:多测绘语法结合,确保收集到更多隐藏资产,避免单一查询的局限性。
- 处理全面:针对杂乱资产的清洗机制,不遗留任何潜在目标,提高打点效率。
缺点
需要持续维护指纹库和POC模板,以应对新漏洞。建议建立漏洞运营流程,针对攻防中出现的高危POC进行及时更新。这是一个日积月累的过程,但一旦成熟,能显著提升团队响应能力。
总结与后续思考
通过整合测绘引擎、指纹识别和漏洞扫描工具,我们可以实现资产的最大化覆盖和高效利用。
快速打点并非终点,后续可进一步优化以应对复杂场景:
- 红队C2服务器指纹识别:针对Cobalt Strike等C2框架,识别默认特征,如vshell一键上线端口、红队扫描器WEB地址、Yakit或JNDI注入工具的特定端口。这有助于在渗透中伪装或反制。
- 防守方蜜罐识别:蜜罐常有独特特征,如特定JS文件或初始发包后请求敏感域名(qq.com、baidu.com)。通过被动监测,可以避免落入陷阱。
此外,未来可整合更多自动化工具,如ALLiN或JiaoSuInfoSec,形成一键式打点系统。 最终,快速打点强调工具与经验的结合,在实际渗透中不断迭代,以适应动态的网络环境。