Masscan有啥坑

极客

Masscan有啥坑?这玩意儿用不好,分分钟把你整崩溃!

大家好,今天咱们来聊聊 Masscan有啥坑 这个话题,说实话,我第一次接触 Masscan 的时候,那叫一个兴奋啊——号称几分钟扫完全网段,速度比 Nmap 快了几百倍,简直是渗透测试和安全运维的“神器”,结果呢?踩了一堆坑,差点把生产网络给搞挂了,所以今天我就掏心窝子跟大家唠唠,Masscan有啥坑,希望能让后来人少走点弯路。

Masscan有啥坑

速度太快,直接把网络干趴下

你知道 Masscan 最坑的地方是啥吗?就是它快得离谱!默认情况下,它每秒能发十万个包,你要是没限速,千兆网卡瞬间给你打满,我有一回在客户内网跑了个 masscan 10.0.0.0/8 -p80,好家伙,不到十秒,交换机 CPU 飙到 100%,整个办公区断网了五分钟,客户电话直接打到我手机上,那语气……我至今难忘。

所以啊,Masscan有啥坑?第一个坑就是:它默认不限速,你得手动加 --rate 参数,一般内网我建议从 --rate 1000 开始,别一上来就秀操作,你要是扫公网,也得悠着点,不然 ISP 分分钟封你 IP。

丢包严重,结果根本不准

第二个坑,就是丢包,Masscan 用的是无状态扫描,它不管你收不收得到回应,只管发,结果就是——你扫出来的开放端口,可能有一大半是假的;而真正开放的,反而没扫到,为啥?因为网络一拥塞,回应包全丢了。

我试过用 Masscan 扫一台已知开了 22 和 80 的机器,结果它只报了一个 80,22 死活不出来,后来我加了 --retries 3--wait 5,才勉强准了一点,但跟 Nmap 一比,还是差远了,所以你要是做资产盘点,千万别只信 Masscan 的结果,一定要用 Nmap 复扫一遍

跟 Nmap 的兼容性,简直让人头大

Masscan 支持 -oN-oX-oG 这些输出格式,看起来挺美好对吧?但你真拿它的 XML 给 Nmap 用,就会发现各种字段对不上,Masscan 输出的 <port> 里没有 <state>reason,Nmap 解析的时候直接报错,还有,Masscan 的 --banners 功能虽然能抓指纹,但抓出来的东西跟 Nmap 的 -sV 完全不是一个量级。

我有个朋友,写了个自动化脚本,先用 Masscan 扫端口,再用 Nmap 做服务识别,结果 Masscan 输出的 IP 列表里混了一堆乱码,脚本直接崩了,他折腾了一整天才发现,是 Masscan 的 --output-format--output-filename 没配合好,唉,说多了都是泪。

防火墙和 IDS 直接把你拉黑

这个坑最致命,Masscan 的流量特征太明显了——短时间内大量 SYN 包,防火墙和 IDS 一眼就认出来,你在客户那儿扫,轻则被 WAF 封 IP,重则触发告警,人家直接拔你网线,我有次在云上扫自己的服务器,刚跑两秒,阿里云就发短信来了:“您的实例存在异常网络行为……” 我赶紧把进程杀了。

Masscan有啥坑?这就是个大坑:它不适合在未经授权的网络里跑,你要真想用,要么加代理,要么用 --source-ip 伪装,要么就老老实实跟客户报备,别想着偷偷摸摸扫,迟早出事。

参数复杂,文档还贼简略

Masscan 的参数其实不少,但官方文档写得跟天书似的。--http-user-agent 这个参数,你猜它是干啥的?我一开始以为是设置扫描时的 UA,结果它其实是在抓 banner 时用的 UA,还有 --rotate--shard,这俩是用来分布式扫描的,但文档里就一句话带过,我研究了半天才搞明白。

更坑的是,Masscan 的版本更新很慢,有些 bug 从 2018 年到现在都没修,比如在 Windows 上跑,有时候会莫名其妙崩溃,错误信息还全是乱码,你说气不气人?

Masscan 能用,但得会用

说了这么多,不是要劝大家别用 Masscan,它确实快,确实适合大网段快速探测,但你要记住:它只是个“粗筛”工具,不是“精查”工具,用它扫完,一定要用 Nmap 复核;用它之前,一定要限速;用它的时候,一定要确保有授权。

好了,今天就唠到这儿,如果你也踩过 Masscan 的坑,欢迎在评论区分享你的血泪史,咱们下期再见,拜拜!

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]