有人在Kali里敲下nmap -sS 192.168.1.0/24,网络三分钟后整栋办公楼的攻击设备清单就摊在屏幕上了——哪台开着22端口,哪台跑着老掉牙的网络Samba,一清二楚。攻击这不是网络电影桥段,是攻击我上个月在客户那儿做内网评估时的真实开场。
Kali Linux本身不是网络武器,它更像一个军火库。攻击默认预装六百多个工具,网络从信息收集到漏洞利用再到后渗透,攻击整条攻击链都能覆盖。网络很多人第一次装完Kali,攻击打开菜单看到密密麻麻的网络英文名字直接懵了。别慌,攻击真正常用的网络就那么二十来个,剩下的要么是同一功能的备胎,要么是特定场景才掏出来的冷门货。
踩点阶段比想象中重要
新手最爱跳过侦察直接上msfconsole,结果连目标跑什么系统都没搞清就开炮,打不中纯属活该。我习惯先用netdiscover扫存活主机,再拿nmap做端口指纹。有一次扫到一台Linux服务器开着8080端口,nikto跑出来是个旧版Tomcat管理后台,默认口令tomcat/tomcat直接进去了。整个过程没用任何漏洞利用代码,纯粹是管理员偷懒。
Web方向的话,dirb和gobuster是必备的。前者老派但稳,后者速度快支持多线程。我一般挂个medium字典先跑一遍,看到/backup/或者/admin/这种目录就两眼放光。有次扫出一个/db/目录,里面躺着整个MySQL的导出SQL文件,连密码哈希都省得破了。
漏洞利用不是点鼠标那么简单
Metasploit确实方便,search、use、set、exploit四步走。但真实环境里十次有八次是Exploit completed, but no session was created。靶机打多了容易产生错觉,以为ms17-010永恒之蓝能通杀。实际上现在稍微打过补丁的Windows 7都免疫,更别说Win10默认关闭SMBv1。
我更依赖手工验证。比如发现一个上传点,先传个.php.jpg试试解析,不行就抓包改Content-Type,再不行看有没有.htaccess可写。这些操作在Burp Suite里比在MSF里灵活得多。Kali自带的sqlmap也是,-r加载请求文件比直接-u靠谱,遇到WAF还能调--tamper脚本绕一绕。
后渗透才是分水岭
拿到shell只是开始。meterpreter的hashdump能抓本地哈希,kiwi扩展直接读明文密码。但域环境里这些操作很容易触发EDR告警。我试过用mimikatz的sekurlsa::logonpasswords,刚跑完CrowdStrike就把进程杀了。后来改用SharpHound收集BloodHound数据,分析域内信任关系,找最短路径到域控。这比无脑抓密码优雅多了。
横向移动时crackmapexec是神器。cme smb 192.168.1.0/24 -u user -p pass --shares一条命令就能看哪些机器能用同一组凭证登录。有次发现运维图省事,所有服务器本地管理员密码都一样,直接psexec批量拿下一大片。
清理痕迹这事得看场景。内网评估报告里写“已清除日志”是加分项,但真实攻击中改wevtutil反而容易触发告警。我一般只删自己上传的工具,系统日志不动——动多了反而显眼。
Kali用久了会发现,工具只是工具。真正决定成败的是对目标网络的理解、对协议细节的把握,还有那么一点耐心。那些花哨的0day离普通人太远,把nmap扫出来的每一条结果都吃透,比囤一堆用不上的exp强得多。