F-NAScan:一款网络资产扫描工具

工具有点老旧,但昨天用到了,还不错,轻巧

网络资产信息扫描

渗透测试(特别是内网渗透)中经常需要对目标进行网络资产收集,即探测对方服务器都有哪些IP,IP上开了哪些端口,端口上运行着哪些服务。 该脚本即为实现此过程,相比其他探测脚本有以下优点:

  1. 轻巧简洁,只需python环境,无需安装额外外库。
  2. 扫描完成后生成独立页面报告。

此脚本的大概流程为:

ICMP存活探测-->端口开放探测-->端口指纹服务识别-->提取快照(若为WEB)-->生成结果报表

F-NAScan:一款网络资产扫描工具
F-NAScan扫描
F-NAScan:一款网络资产扫描工具
F-NAScan报告

运行环境

运行环境: python 2.6 +

git clone https://github.com/ywolf/F-NAScan.git
  • -h 必须输入的参数,支持ip(192.168.1.1),ip段(192.168.1),ip范围指定(192.168.1.1-192.168.1.254),ip列表文件(ip.ini),最多限制一次可扫描65535个IP。
  • -p 指定要扫描端口列表,多个端口使用,隔开 例如:22,23,80,3306。未指定即使用内置默认端口进行扫描(21,22,23,25,53,80,110,139,143,389,443,445,465,873,993,995,1080,1723,1433,1521,3306,3389,3690,5432,5800,5900,6379,7001,8000,8001,8080,8081,8888,9200,9300,9080,9999,11211,27017)
  • -m 指定线程数量 默认100线程
  • -t 指定HTTP请求超时时间,默认为10秒,端口扫描超时为值的1/2。
  • -n 不进行存活探测(ICMP)直接进行扫描。

结果报告保存在当前目录(扫描IP-时间戳.html)。

用法示例

例子:

python NAScan.py -h 10.111.1
python NAScan.py -h 192.168.1.1-192.168.2.111
python NAScan.py -h 10.111.1.22 -p 80,7001,8080 -m 200 -t 6
python NAScan.py -h ip.ini -p port.ini -n

服务识别

服务识别在server_info.ini文件中配置

格式为:服务名|默认端口|正则
例如 ftp|21|^220.*?ftp|^220-

正则为空时则使用端口进行匹配,否则以正则匹配结果为准。