freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

NetworkSherlock:一款基于Shodan的强大端口扫描工具
2024-01-16 17:17:14

关于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.1-192.168.1.5,192.168.1.0/24)

 

options:

  -h, --help            显示工具帮助信息和退出

  -p PORTS, --ports PORTS

                        要扫描的目标端口(例如1-1024、21、22、80或80)

  -t THREADS, --threads THREADS

                        要使用的线程数量

  -P {tcp,udp}, --protocol {tcp,udp}

                        扫描所使用的协议

  -V, --version-info       获取工具版本信息

  -s SAVE_RESULTS, --save-results SAVE_RESULTS

                        扫描结果存储文件

  -c, --ping-check       扫描之前执行Ping检测

  -ad, --arp-discover     针对指定网络执行ARP发现

  --use-shodan          针对额外信息启用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:【GitHub传送门

参考资料

https://www.youtube.com/c/HalilDeniz

# 网络安全 # 端口扫描 # 网络扫描 # Shodan # 端口识别
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录