凌晨两点,渗透收集我盯着Burp Suite里那串十六进制响应头,第步突然意识到自己犯了个低级错误——漏了robots.txt。信息这是渗透收集对一个刚拿下权限的测试站点的常规复查,但就在这看似不起眼的第步文件里,藏着一个被注释掉的信息/backup/目录。点进去,渗透收集是第步一份三年前的数据库备份,里面躺着几十条明文密码。信息那个站点的渗透收集管理员大概永远想不到,他精心配置的第步WAF和防火墙,最终败给了一个搜索引擎爬虫规则文件。信息
信息收集从来不是渗透收集扫几个端口、跑几个目录那么简单。第步它更像是信息在拼一幅没有参考图的拼图,每一块碎片都可能改变全局走向。我见过太多新手上来就怼着Nmap狂扫全端口,扫完就急着试弱口令——那叫碰运气,不叫渗透。真正的信息收集得从被动开始:先查DNS历史解析记录,看看目标有没有用过动态IP;再去翻证书透明度日志,往往能挖出没公开的子域名。有个朋友就是靠crt.sh找到一个测试环境的子域,上面挂着未打补丁的Jenkins,直接RCE拿下了内网跳板机。
别迷信单一工具。Shodan能告诉你开放端口,但Google dorks能挖出意外的敏感文件。去年我评估一家电商公司,常规扫描一无所获,后来试着搜了句site:target.com filetype:xlsx,居然在某个二级域名下找到一份员工薪资表。那文件是三个月前某位HR误传到静态资源服务器的,权限都没设。你看,人永远是最大的漏洞——技术防护再严密,也挡不住一次手滑。
还有个常被忽略的维度:时间。信息是有时效性的,半年前的漏洞报告可能早就被修复,但三年前的技术栈遗留问题往往还躺在那里。我习惯把收集到的所有数据打上时间戳,归档成表格。某次渗透测试中,我发现目标用了老旧版本的Apache Struts,按时间推算应该打了补丁。但仔细比对响应头里的Server字段,发现版本号被改过——管理员只是改了显示版本,实际组件还是那个脆弱的版本。这种细节,只有把时间线拉长才能发现。
对了,别忘了社交平台。LinkedIn上员工的技能标签会暴露内部技术栈,GitHub上不小心提交的代码片段有时带着内网IP。甚至招聘信息都有用——如果某家公司急招Kubernetes运维工程师,大概率他们正在迁移容器化平台,那旧有的虚拟机架构可能就疏于防护了。这些看似不相干的碎片,拼在一起就是一张清晰的地图。
说到底,信息收集拼的不是工具多少,而是你愿不愿意多花半小时去翻那些没人看的角落。攻击面就摆在那里,只是大部分时候它藏在你看不见的阴影里。每一条记录、每一个响应头、每一段JS注释,都可能是那扇没上锁的后门。多问一句“为什么这里会有这个”,往往比多扫一百个端口更有用。