什么是Shodan
Shodan是互联网上最可怕的搜索引擎。Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。
Shodan的基本语法
1 | hostname:"主机或域名" |
命令行下使用Shodan
下载Shodan项目1
git clone https://github.com/achillean/shodan-python.git
执行安装1
2cd shodan-python
python setup.py install
Key进行初始化
在Web网站的个人主页可以看到自己的API Key1
shodan init API_Key
用shodan查询1
如 shodan count +"Apache"
其他更多语法,在Python脚本中使用Shodan API时,可以通过查看 官方文档 进行学习。
Python脚本批量自动化
上面提到了使用Shodan API的开发文档,实战过程中为了方便起见,大可编写适合自己的脚本工具,进行批量化搜索和利用。下面介绍一下该工具的使用方法。
连接地址:https://github.com/zev3n/Shodan_So1
./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地址并依次查询。
参考文章