专栏名称: FreeBuf
国内关注度最高的全球互联网安全新媒体
目录
相关文章推荐
萧山发布  ·  让企业轻装上阵!萧山这里走出新路子! ·  20 小时前  
萧山发布  ·  让企业轻装上阵!萧山这里走出新路子! ·  20 小时前  
四川观察sctv  ·  雷军,中国新首富! ·  昨天  
四川观察sctv  ·  雷军,中国新首富! ·  昨天  
PCEC 可持续发展服务  ·  PCEC大讲堂新年第一讲丨隔爆型电气设备的紧 ... ·  2 天前  
PCEC 可持续发展服务  ·  PCEC大讲堂新年第一讲丨隔爆型电气设备的紧 ... ·  2 天前  
网信浙江  ·  深度伪造亟待深度防治 ·  2 天前  
51好读  ›  专栏  ›  FreeBuf

Masscan及Nmap实现对阿里云ECS的外网端口监控

FreeBuf  · 公众号  · 互联网安全  · 2017-11-18 18:34

正文

*本文原创作者:yuegui_2004,本文属于FreeBuf原创奖励计划,禁止转载

Nmap作为一个开源的互联网端口扫描及安全审计工具,大家并不陌生,许多系统及网络管理员利用它进行网络探测、端口扫描、端口服务管理等。但是在遇到大网段全端口范围的场景时,nmap的扫描能力就受到了限制,扫描周期长就成为了其弊端。

要实现外网端口监控,首先就要保证端口扫描的近实时性,对向外暴露的高危端口及时处理,那么如何解决大网段全端口扫描的场景呢?此时就需要用到Masscan,一个大网段全端口扫描神器。首先我们简单熟悉一下这款扫描神器。

Masscan采用了异步数据传输的方式,能够灵活的自定义任意地址范围和端口范围。

masscan端口扫描速度之所以能够如此之快,一是其基于无状态的急速扫描技术,无状态连接是指无关心TCP状态,不占用系统TCP/IP资源;二是其发包速度非常快,并可以灵活配置,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万;默认情况下masscan的发包速度每秒100包,为了提高速度,可以通过参数—rate设置发包速度。尤其是在应对大网段全端口扫描的时候,这个参数就发挥了其快速的特点。

那么如何利用Masscan和nmap实现对阿里云ECS的外网端口监控呢?

大体思路是利用masscan对阿里云公网IP进行全IP 全端口定期进行快速扫描,同时针对扫描出的结果再结合nmap进行端口服务探测和安全扫描。

首先需要收集阿里云所有ECS外网地址,这里通过阿里云ECS API获取所有ECS外网IP并写入文件,此文件将作为masscan及nmap的扫描输入。贴出部分代码如下:

收集了阿里云ECS所有外网IP地址之后,接下来就该masscan出场了,将IP文件作为扫描输入,对1~65535的端口进行全端口扫描,输出结果保存的文件有多种形式,-oL 文本格式;-oX xml格式;-oJ json格式;执行命令运行msscan扫描:

masscan -iL ip.txt -p1-65535 -oL result—rate 1000

或者利用python的系统命令接口执行:

—rate参数指定发送扫描包的个数,扫描大网段全端口范围时,建议该值设置大一些,提高发包速率,能够提升扫描速度。

masscan执行结果如下(json格式):

masscan强大之处在于其端口扫描的速度快,但是针对扫描出的端口无法探测其对应的服务及主机操作系统类型,这个时候nmap就派上用场了,可以利用nmap对已经扫描出的IP和端口进行服务探测和安全检查,这里采用redis临时存储masscan的扫描结果,nmap对masscan的结果再次进行扫描,将最终开放的端口及服务探测结果写入文件保存。







请到「今天看啥」查看全文