扫描渗透
去年秋天,扫描渗透我在一个客户的扫描渗透内网里跑了三天扫描器,最后拿下的扫描渗透那台机器,入口竟然是扫描渗透一个2016年就没再更新过的打印机管理页面。
这事说起来有点荒诞。扫描渗透那个页面的扫描渗透URL藏在资产清单的第47页,没人注意过。扫描渗透扫描器扫出来的扫描渗透时候,我盯着屏幕愣了几秒——它甚至不需要认证,扫描渗透直接就能访问后台配置。扫描渗透更离谱的扫描渗透是,这台打印机连着一台内网文件服务器,扫描渗透而服务器的扫描渗透管理员密码和打印机后台密码一模一样。
扫描渗透的扫描渗透核心逻辑其实就这么朴素:找到别人忘了关的门,然后看看门后面还连着哪扇门。扫描渗透工具本身不聪明,聪明的是你怎么理解扫出来的那堆数据。
很多人拿到扫描报告就开始按漏洞等级排序,高危的先打,中危的排队。我不这么干。我习惯先看端口分布,再翻目录结构,最后才看漏洞列表。原因很简单——一个开放了8080端口的机器,上面跑着Tomcat,和一个只开了22端口的跳板机,价值完全不同。前者可能是直达业务系统的捷径,后者可能只是某个运维随手开的临时通道。
有一次扫到一个C段,报告里列了十几个“低危”信息泄露。同事看了一眼就扔到一边了。我点开其中一个,发现是phpinfo页面。往下翻,里面有个环境变量写着DB_HOST=10.0.3.12,还有一个DB_PASSWORD。密码是明文的。那个C段本身进不去,但10.0.3.12这个内网地址,恰好在我另一份扫描报告里出现过——那台机器开着3306端口。
所以扫描渗透从来不是“扫完就打”的线性流程。它更像拼图。你手里有很多碎片,有些来自今天的扫描,有些来自三个月前的报告,有些来自你在客户办公室闲聊时听到的一句“我们最近在迁移数据库”。把这些拼在一起,路径就出来了。
工具方面,nmap、masscan、gobuster这些老面孔没什么好说的。真正拉开差距的是字典和规则。我见过有人用一份两万条的目录字典扫了半年,命中率极低;也见过有人根据目标行业特征,手工整理了三百条路径,一晚上就找到了上传接口。后者不是运气好,是他知道这个行业的CMS通常把接口藏在哪。
还有一个细节:扫描的时机。工作日上午十点和凌晨三点扫,结果可能完全不同。有些服务只在特定时间段开放,有些WAF的拦截策略会定时切换。我习惯在目标时区的凌晨跑一轮,上午再跑一轮,对比两份报告。差异本身就是线索。
说回那台打印机。拿下它之后,我没有急着横向移动。我先在那台文件服务器上翻了翻共享目录,找到一个名为“IT备份”的文件夹,里面有一个Excel,列着所有服务器的IP、用途和负责人。这份表格比我三天扫出来的东西都全。后来我跟客户的安全负责人聊,他说那份表格是两年前做的,早就没人维护了。但里面的IP,大部分还活着。
扫描渗透的终点不是拿到域控,是理解这个网络是怎么被一群人一点点搭起来的。那些遗留系统、临时配置、忘记删除的测试页面,都是人的痕迹。你顺着这些痕迹走,比顺着漏洞报告走,往往更快。
当然,这事也有翻车的时候。上个月扫一个目标,发现一个Jenkins未授权访问。我兴冲冲地进去准备建个任务,结果发现里面已经有人了——另一个攻击队留了个后门,还在上面写了句“到此一游”。我们俩在同一个Jenkins上碰了面,最后谁也没继续往下打,因为客户IT已经发现了异常,开始改密码了。
所以扫描渗透这事,快是优势,但快不代表乱。你得清楚每一步在干什么,扫出来的东西到底意味着什么。不然扫得再多,也只是在别人的网络里瞎逛。