烟消火灭网

上周做内网渗透测试,目标是一台对外只开了80和443的Web服务器。客户说“就这一个入口”。我扫完端口,发现22端口filtered,3306 filtered,看着确实没戏。但三层主机扫描一跑,同一

kali3层主机扫描

上周做内网渗透测试,层主目标是机扫一台对外只开了80和443的Web服务器。客户说“就这一个入口”。层主我扫完端口,机扫发现22端口filtered,层主3306 filtered,机扫看着确实没戏。层主但三层主机扫描一跑,机扫同一C段下冒出来七台活主机,层主其中一台的机扫445端口直接开着——后来证明那是台内网文件服务器,凭据复用直接拿下域控。层主这就是机扫三层扫描的价值:它不盯着单个IP的端口,而是层主把整个网段当猎场。

Kali里做三层发现,机扫核心就两条路:ICMP和ARP。层主别小看这俩老协议,它们比TCP SYN扫描隐蔽得多,很多防火墙对ICMP echo的过滤策略跟对TCP完全两码事。我习惯先用nmap -sn 192.168.1.0/24跑一遍,这个-sn就是ping scan,不发端口探测包。它默认走ARP(同网段)或ICMP(跨网段),速度快得离谱,一个C段通常十秒内出结果。

但有个坑得说清楚:如果目标网段跨了路由器,ARP就失效了,nmap自动切ICMP。而ICMP echo很多环境是关的,这时候-sn就漏报。去年给一家制造业客户做评估,他们办公网段ping全禁,-sn扫出来只有网关。换nmap -PE -PS22,80,443 -PA80 10.10.10.0/24才把三十多台设备揪出来——-PE是ICMP echo,-PS是TCP SYN到指定端口,-PA是ACK。三种探针混着发,总有一种能穿过去。

ARP扫描在Kali里还有更直接的工具。arp-scan --localnet,一条命令,输出比nmap还干净。它只发ARP请求,不碰IP层以上任何东西。交换机不会记录三层信息,所以从网络设备日志角度看,这玩意儿几乎隐形。但前提是你得在同一个广播域里。跨网段?没戏。我见过有人拿arp-scan去扫远程网段,结果零输出还以为是防火墙拦了,其实就是二层到不了。

三层扫描的另一个思路是走路由跟踪反推。比如nmap --traceroute -sn 目标网段,它会结合TTL和ICMP超时消息,把路径上的三层设备画出来。有次扫一个/16的大网段,直接-sn太慢,我先用traceroute找到几个关键跳,再针对每跳后面的子网做ARP扫描。效率翻倍,而且能发现那些藏在NAT后面的主机。

说个具体案例。某次内部红队演练,目标网段10.0.0.0/24,常规nmap -sn扫出12台。我觉得不对劲,这个网段DHCP地址池是50个起租的。换masscan做ICMP echo,速率拉到10000包每秒,扫出来31台。多出来的19台全是Windows工作站,系统防火墙默认禁ping,但masscan的ICMP包构造跟系统ping不一样,某些防火墙规则匹配不上就放行了。当然masscan扫三层有点浪费,它强项是四层。但那次确实靠它补全了资产列表。

最后提一嘴超时和重试。nmap -sn默认超时1秒,重试1次。内网有丢包的话,改--max-retries 3 --host-timeout 30s。别设太大,否则一个C段扫十分钟。我一般--min-rate 1000起步,内网千兆环境扛得住。扫完拿结果跟DHCP日志、ARP表、交换机MAC表交叉比对,漏报率能压到5%以下。

三层扫描不是万能钥匙,但它便宜、快、动静小。四层扫描像拿手电筒照房间,三层扫描像直接看电表——谁在用电,一目了然。

访客,请您发表评论:

© 2026. sitemap