Shodan批量自动化

什么是Shodan

Shodan是互联网上最可怕的搜索引擎。Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。

Shodan的基本语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
hostname:"主机或域名"
如 hostname:"google''

port:"端口或服务"
如 port:"21"

ip : "ip地址"
如 ip : "168.200.71.60"

net:"IP地址或子网"
如 net:"210.45.24.0/24"

vuln :指定漏洞的cve
如 vuln:CVE-2015-8869
但是这个命令最好搭配起来使用,如 country:CN vuln:CVE-2014-0160

os :"操作系统"
​如 os:"centOS"

isp:"ISP供应商"
如 isp:"China Telecom"

product:"操作系统/软件/平台"
如 product:"Apache httpd"

version:"软件版本"
如 version:"3.1.6"

geo:"经纬度"
如 geo:"39.8779,116.4550"

country:"国家"
如 country:"China"
country:"UN"

city:"城市"
如 city:"Hefei"

org:"组织或公司"
如 org:"google"

before/after:"日/月/年"
如 before:"25/03/2018"
after:"25/03/2018"

asn : "自治系统号码"
如 asn:"AS2233"

命令行下使用Shodan

下载Shodan项目

1
git clone https://github.com/achillean/shodan-python.git


执行安装

1
2
cd shodan-python
python setup.py install


Key进行初始化
在Web网站的个人主页可以看到自己的API Key

1
shodan init API_Key


用shodan查询

1
如 shodan count +"Apache"


其他更多语法,在Python脚本中使用Shodan API时,可以通过查看 官方文档 进行学习。

Python脚本批量自动化

上面提到了使用Shodan API的开发文档,实战过程中为了方便起见,大可编写适合自己的脚本工具,进行批量化搜索和利用。下面介绍一下该工具的使用方法。
连接地址:https://github.com/zev3n/Shodan_So

1
./Shodan_So.py -h


-search命令后面接你要查询的内容,语法和在官网查询是一样的。

1
./Shodan_So.py -search "apache"


可以看到,本工具的查询效果和网页查询几乎是一样的。

这里需要着重介绍的参数还有--list_ip在查询命令后面加上这个参数之后,脚本会自动提取查询结果中的ip地址并打印。我们可以利用输出重定向将查询的ip列表保存到txt文件中,以供后续利用。例如:

1
./Shodan_So.py -search "apache" --list_ip >> ip.txt

另外,加上--list_ip_port参数后是返回IP地址:端口形式的地址,以供后续不同场景的利用。

1
./Shodan_So.py -search “apache” --list_ip >> ip.txt --list_ip_port


-iprg参数接受的则是CIDR地址块,可实现指定子网范围内主机的查询。
-f参数接受的是一个ip地址的文本文档,不同地址用换行隔开,本工具会依次读取文档内的ip地址并依次查询。
参考文章

-------------本文结束感谢您的阅读-------------