关于NetworkSherlock
NetworkSherlock是一款功能强大且灵活的网络端口扫描工具,该工具专为网络安全专业人员和渗透测试人员设计,凭借其先进的功能,NetworkSherlock可以有效地扫描目标IP地址范围、CIDR地址块和多个目标。
该工具集成了Shodan搜索功能(Shodan是世界上首屈一指的互联网连接设备扫描和分析服务),支持跨各种协议实现详细的数据抓取。通过集成Shodan,NetworkSherlock能够大幅增强其扫描功能,可以帮助广大研究人员更加深入地了解网络中的安全漏洞以及潜在威胁。通过将本地端口扫描与Shodan广泛的数据库相结合,NetworkSherlock为识别和分析网络安全问题提供了一个全面的视角。
功能介绍
1、扫描多个IP地址、IP地址范围和CIDR地址块;
2、端口扫描功能,支持TCP和UDP协议;
3、详细的Banner数据抓取;
4、通过Ping检测识别可到达的主机;
5、多线程支持实现更快速的扫描操作;
6、支持将扫描结果存储到文件中;
7、提供详细的工具版本信息;
8、带有颜色高亮提醒的控制台输出,增加了数据可读性;
9、集成Shodan以增强扫描能力;
10、支持通过配置文件配置Shodan API密钥;
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.6+环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/HalilDeniz/NetworkSherlock.git
(向右滑动,查看更多)
然后切换到项目目录中,使用pip工具和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
cd NetworkSherlock
pip install -r requirements.txt
工具配置
我们可以通过编辑networksherlock.cfg文件来设置或修改Shodan API密钥:
[SHODAN]
api_key = YOUR_SHODAN_API_KEY
工具使用
python3 networksherlock.py --help
usage: networksherlock.py [-h] [-p PORTS] [-t THREADS] [-P {tcp,udp}] [-V] [-s SAVE_RESULTS] [-c] target
NetworkSherlock: Port Scan Tool
positional arguments:
target 目标IP地址(一个或多个)、IP地址范围或CIDR地址块
192.168.1.1-192.168.1.5,192.168.1.0/24)
options:
--help 显示工具帮助信息和退出
PORTS, --ports PORTS
要扫描的目标端口(例如1-1024、21、22、80或80)
THREADS, --threads THREADS
要使用的线程数量
{tcp,udp}, --protocol {tcp,udp}
扫描所使用的协议
--version-info 获取工具版本信息
SAVE_RESULTS, --save-results SAVE_RESULTS
扫描结果存储文件
--ping-check 扫描之前执行Ping检测
--arp-discover 针对指定网络执行ARP发现
针对额外信息启用Shodan集成
(向右滑动,查看更多)
工具使用样例
基础端口扫描
扫描单个IP地址,使用默认端口:
python networksherlock.py 192.168.1.1
自定义端口范围
扫描一个IP地址,端口范围自定义:
python networksherlock.py 192.168.1.1 -p 1-1024
扫描多个IP地址和指定端口自定义
扫描多个IP地址,自定义目标端口(支持多个):
python networksherlock.py 192.168.1.1,192.168.1.2 -p 22,80,443
(向右滑动,查看更多)
CIDR地址块扫描
使用CIDR标识要扫描的整个子网:
python networksherlock.py 192.168.1.0/24 -p 80
(向右滑动,查看更多)
使用多线程扫描
使用多线程执行扫描任务以提升任务执行速度:
python networksherlock.py 192.168.1.1-192.168.1.5 -p 1-1024 -t 20
(向右滑动,查看更多)
选择协议执行扫描
使用一个指定的协议来执行扫描任务(TCP或UDP):
python networksherlock.py 192.168.1.1 -p 53 -P udp
使用Shodan执行扫描
python networksherlock.py 192.168.1.1 --use-shodan
使用Shodan扫描多个目标
python networksherlock.py 192.168.1.1,192.168.1.2 -p 22,80,443 -V --use-shodan
(向右滑动,查看更多)
Banner获取和结果存储
python networksherlock.py 192.168.1.1 -p 1-1000 -V -s results.txt
(向右滑动,查看更多)
扫描之前执行Ping检测
执行Ping检测之后扫描一个IP地址范围:
$ python3 networksherlock.py 10.0.2.12 -t 25 -V -p 21-6000 -t 25
********************************************
Scanning target: 10.0.2.12
Scanning IP : 10.0.2.12
Ports : 21-6000
Threads : 25
Protocol : tcp
---------------------------------------------
Port Status Service VERSION
22 /tcp open ssh SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1
21 /tcp open telnet 220 (vsFTPd 2.3.4)
80 /tcp open http HTTP/1.1 200 OK
139 /tcp open netbios-ssn %SMBr
25 /tcp open smtp 220 metasploitable.localdomain ESMTP Postfix (Ubuntu)
23 /tcp open smtp #' #'
445 /tcp open microsoft-ds %SMBr
514 /tcp open shell
512 /tcp open exec Where are you?
1524/tcp open ingreslock root@metasploitable:/#
2121/tcp open iprop 220 ProFTPD 1.3.1 Server (Debian) [::ffff:10.0.2.12]
3306/tcp open mysql >
5900/tcp open unknown RFB 003.003
53 /tcp open domain
(向右滑动,查看更多)
工具输出样例
$ python3 networksherlock.py 10.0.2.0/24 -t 10 -V -p 21-1000
********************************************
Scanning target: 10.0.2.1
Scanning IP : 10.0.2.1
Ports : 21-1000
Threads : 10
Protocol : tcp
---------------------------------------------
Port Status Service VERSION
53 /tcp open domain
********************************************
Scanning target: 10.0.2.2
Scanning IP : 10.0.2.2
Ports : 21-1000
Threads : 10
Protocol : tcp
---------------------------------------------
Port Status Service VERSION
445 /tcp open microsoft-ds
135 /tcp open epmap
********************************************
Scanning target: 10.0.2.12
Scanning IP : 10.0.2.12
Ports : 21-1000
Threads : 10
Protocol : tcp
---------------------------------------------
Port Status Service VERSION
21 /tcp open ftp 220 (vsFTPd 2.3.4)
22 /tcp open ssh SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1
23 /tcp open telnet #'
80 /tcp open http HTTP/1.1 200 OK
53 /tcp open kpasswd 464/udpcp
445 /tcp open domain %SMBr
3306/tcp open mysql >
********************************************
Scanning target: 10.0.2.20
Scanning IP : 10.0.2.20
Ports : 21-1000
Threads : 10
Protocol : tcp
---------------------------------------------
Port Status Service VERSION
22 /tcp open ssh SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.9
(向右滑动,查看更多)
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
NetworkSherlock:
https://github.com/HalilDeniz/NetworkSherlock
原文始发于微信公众号(FreeBuf):NetworkSherlock:一款基于Shodan的强大端口扫描工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论