凌晨两点,何查我盯着终端上滚动的看台扫描日志,光标停在了一个不起眼的机器445端口上。这台机器是漏洞公司刚接手的老旧文件服务器,管理员说“应该没问题”,何查但我知道,看台漏洞从来不会写在系统管理员的机器自信里。
第一步永远是漏洞信息收集,不是何查拿工具乱扫。你得先知道这台机器是看台什么系统、什么版本、机器开放了哪些服务。漏洞我用的何查是nmap,一条简单的看台命令:nmap -sV -sC 192.168.1.105。输出结果里,机器Windows Server 2008 R2,SMB服务版本号是6.1.7601。看到这个版本号,我心里咯噔一下——这是永恒之蓝(MS17-010)的典型宿主。2017年WannaCry勒索病毒横扫全球时,就是打穿了这条链路。
光靠版本号判断不够,得验证。我调用Metasploit里的exploit/windows/smb/ms17_010_eternalblue模块,设置好RHOST参数,敲下run。屏幕上跳出Meterpreter session 1 opened,三秒,就三秒,这台“应该没问题”的机器就交出了system权限。这不是我技术多高超,是漏洞太老了——微软2017年就发布了补丁,但这台机器显然从没打过。
拿到shell后,别急着欢呼。真正的漏洞查看才刚刚开始。我输入load mimikatz,抓取内存中的明文密码。几分钟后,管理员账号的哈希值躺在屏幕上。用hashcat跑个字典,弱密码Admin@123直接暴露。你看,一个系统的崩溃往往不是单一漏洞,而是多个小问题的串联:系统不更新、密码强度低、管理员复用凭据。
检查漏洞不能只看操作系统层面。我切到Web服务,这台机器还跑着一个老旧的IIS 7.5。用Nikto扫了一遍,发现/uploads/目录允许匿名写入。配合之前拿到的shell,我上传了一个ASPX webshell,浏览器里直接执行命令。这下连后门都省了,人家把门敞开着等你进。
但漏洞查看不是攻破就完事。你得做记录,像医生写病历一样。我打开本地笔记,按时间线记下:端口扫描时间、发现的漏洞类型、利用步骤、影响范围。每个漏洞都标注CVSS评分——MS17-010是9.8分,弱密码是7.5分,IIS目录权限是5.3分。这些数字不是冰冷的,它们代表这台机器在互联网上的暴露程度。
最后一步,写修复建议。不是那种“建议定期更新补丁”的废话,要具体:第一,升级到Windows Server 2016以上或安装KB4012212补丁;第二,强制密码策略,禁用Administrator账户的远程登录;第三,关闭IIS的写入权限,迁移到Nginx。写完这些,我把报告发给管理员,附了一句:“这台机器现在是我说了算,但明天可能是别人。”
查看漏洞的本质,是用攻击者的眼睛审视自己。你不需要多高深的技术,但得有耐心,一层层剥开系统表面的光鲜。漏洞不在工具里,在那些被忽略的细节中——一个没更新的补丁、一个默认密码、一个开放了十年的端口。它们安静地躺在那里,等着某个凌晨两点的不眠人。