什么是Shodan
Shodan是互联网上最可怕的搜索引擎。Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。
Shodan的基本语法
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项目
git clone https://github.com/achillean/shodan-python.git
cd shodan-python
python setup.py install
Key进行初始化
在Web网站的个人主页可以看到自己的API Key
shodan init API_Key
如 shodan count +"Apache"
其他更多语法,在Python脚本中使用Shodan API时,可以通过查看 官方文档 进行学习。
Python脚本批量自动化
上面提到了使用Shodan API的开发文档,实战过程中为了方便起见,大可编写适合自己的脚本工具,进行批量化搜索和利用。下面介绍一下该工具的使用方法。
连接地址:https://github.com/zev3n/Shodan_So
./Shodan_So.py -h
-search
命令后面接你要查询的内容,语法和在官网查询是一样的。
./Shodan_So.py -search "apache"
可以看到,本工具的查询效果和网页查询几乎是一样的。
这里需要着重介绍的参数还有--list_ip
在查询命令后面加上这个参数之后,脚本会自动提取查询结果中的ip地址并打印。我们可以利用输出重定向将查询的ip列表保存到txt文件中,以供后续利用。例如:
./Shodan_So.py -search "apache" --list_ip >> ip.txt
另外,加上--list_ip_port
参数后是返回IP地址:端口形式的地址,以供后续不同场景的利用。
./Shodan_So.py -search “apache” --list_ip >> ip.txt --list_ip_port
-iprg
参数接受的则是CIDR地址块,可实现指定子网范围内主机的查询。-f
参数接受的是一个ip地址的文本文档,不同地址用换行隔开,本工具会依次读取文档内的ip地址并依次查询。