Shodan搜索引擎学习手册

文章目录

Shodan搜索引擎学习手册1. Shodan搜索引擎的主要对象2. Shodan搜索引擎的原理3. Shodan的优缺点4. Shodan的功能5. 如何安装Shodan?6. Shodan的常用命令6.1 搜索命令6.2 Msfconsole简易使用6.3 搜索特定网页信息6.4 弱口令设备搜索6.5 扫描特定网段

7. 常见数据库及端口8. 下载与解析命令9. 常用查询命令10. 中间件和系统信息查询

常用端口和协议使用实例常见端口列表

为什么要了解这些查询语法?组合查询示例官网搜索谷歌搜索引擎语法补充FOFA/鹰图 搜索语法补充其他补充参数信息11. 结语

1. Shodan搜索引擎的主要对象

Shodan搜索引擎的主要对象是各种联网设备,包含但不限于:

手机电脑摄像头路由器服务器等

这些设备都有一个IP地址,并且通过Shodan可以进行扫描和查询。

2. Shodan搜索引擎的原理

Shodan通过以下方式工作:

使用各种扫描器对IP地址进行24小时不间断批量扫描,涵盖漏扫、硬件扫、目录扫等。根据地区的不同,IP扫描的范围也会有所不同(例如:中国、北美、南美等)。

3. Shodan的优缺点

优点:

不够实时,但速度快速且便捷。

缺点:

数据更新不够即时,可能存在延迟。

4. Shodan的功能

Shodan具有以下功能:

监控IP地址漏洞扫描并返回结果调用API接口等

5. 如何安装Shodan?

按照以下步骤安装Shodan:

克隆Shodan Python库:git clone https://github.com/achillean/shodan-python.git

进入shodan-python目录:cd shodan-python

安装:python setup.py install

初始化Shodan并输入API密钥(在Shodan官网注册后可获得API密钥):shodan init api_key

6. Shodan的常用命令

6.1 搜索命令

随机查找日本地区的IP:

shodan search --limit 10 country:jp

筛选信息(例如:筛出IP和危险端口3389):

shodan search --limit 10 --fields ip_str port:3389 country:jp

查找存在漏洞的IP:

shodan search has_vuln:true --limit 10 country:jp

查找特定指纹漏洞(例如:绕过高级会员搜索远程桌面漏洞):

shodan search --limit 10 --fields ip_str,port '"/x03/x00/x00/x0b/x06/xd0/x00/x00/x124/x00"'

6.2 Msfconsole简易使用

搜索:

Search 0708

使用脚本:

USE脚本使用

命令:

Show options/show targets

Set rhosts file:/check //文件直接拖入终端执行

6.3 搜索特定网页信息

后台网页HTML查询(例如:查找中国地区带有登录页的IP):

shodan search --limit 10 --fields ip_str,port country:cn http.html:login

查找历史被黑入的网站:

shodan search --limit 10 --fields ip_str,port http.title:hacked by

查找某某后台或者系统:

shodan search --limit 10 --fields ip_str,port http.title:管理系统

查找某某登录页面:

shodan search --limit 10 --fields ip_str,port country:cn http.html:"某某防火墙系统登录"

shodan search --limit 10 --fields ip_str,port country:cn http.html:login

6.4 弱口令设备搜索

-查找思科设备的弱口令并使用Finalshell尝试链接:

shodan search --limit 10 --fields ip_str,port "cisco -authorised port:23" country:jp

6.5 扫描特定网段

广域资产搜索(例如:美国国家安全局的一个网段):

shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24

组织IP搜索(例如:NASA组织):

shodan search --limit 10 --fields ip_str,port org:nsa has_vuln:true

-已安装Waf安全狗的网站ip搜索::

shodan search --limit 10 --fields ip_str,port country:jp http.waf:safedog

Mongodb未授权登录:

shodan search --limit 10 --fields ip_str "Mongodb server information -authentcation" port:27017 country:jp

Vnc空密码(远程链接)行为:

shodan search --limit 30 --fields ip_str "authentication disabled" port:5900

Jenkins组件:

这个组件有什么用?: Jenkins可以用于自动化渗透测试过程中的一些任务,通过编写任务,可以定期对目标系统进行安全测试,提高测试效率和覆盖范围任务:漏洞扫描、安全测试等**搜索组件的作用是什么?:**借助组件可以利用这个组件的漏洞间接进入其他人的服务器或者设备组件搜索命令:

shodan search --limit 10 --fields ip_str,port country:jp "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard" has_vuln:True

X-Jenkins" OR “Set-cookie:JSESSIONID”:表示搜索结果中要包含X-Jenkins或者Set-cookie的值都包含JSESSIONIDhttp.title:“Dashboard”: 表示Http响应的标题中包含Dashboard字符串

7. 常见数据库及端口

MySQL: 3306端口Oracle: 1521端口SQL Server: 1433端口Redis: 6379端口MongoDB: 27017端口PostgreSQL: 5432端口

8. 下载与解析命令

下载漏洞信息:

shodan download 0708 --limit 10 '"/x03/x00/x00/x0b/x06/xd0/x00/x00/x124/x00"'

解析下载后的信息:

shodan parse --fields ip_str

9. 常用查询命令

统计搜索结果:

shodan count xxx

查找IP的历史数据:

shodan host 某某ip --history

查看每个月允许查询次数:

shodan info

域名信息查询:

shodan domain 某某域名

实时查询某Ip的现状:

shodan scan submit 1.1.1.1(单个ip扫描)

Shodan scan submit 192.168.1.1,192.168.1.2,192.168.1.3(多Ip扫描)

shodan scan submit 192.168.1.0/24(网段扫描)

Shodan scan list(扫描历史)

10. 中间件和系统信息查询

查找Apache服务器:

shodan search --limit 10 --fields ip_str,port product:Apache httpd

查找Tencent Cloud资源:

shodan search --limit 10 --fields ip_str,port org:Tencent Cloud

常用端口和协议

使用实例

MySQL: 3306

常见端口列表

端口号协议功能描述80HTTP网页浏览443HTTPS安全网页浏览21FTP文件传输22SSH安全远程登录25SMTP发送邮件110POP3接受邮件143IMAP接受邮件53DNS域名解析3306MySQL数据库服务器默认端口5432PostgreSQL数据库服务器默认端口3389RDP远程连接 Windows69TFTP文件传输137-139NetBIOS文件打印和共享67-68DHCP动态分配 IP

为什么要了解这些查询语法?

通过组合地区、漏洞、版本、IP、计数等参数,结合端口(port)与对应服务,能够实现限定条件查询的目的。

组合查询示例

获取与腾讯云相关的远程桌面协议

shodan search --limit 10 --fields ip_str,port org:"Tencent cloud" port:3389

官网搜索

查找可能存在截图泄露的重要信息的设备:

has_screenshot:true cisco

谷歌搜索引擎语法补充

管理后台入口查询: inurl:admin登录页面查询: inurl:login可能存在 SQL 注入漏洞的页面查询:

PHP 页面: inurl:php?id=ASP 页面: inurl:asp?id=JSP 页面: inurl:jsp?id= 特定格式文件查询:

PDF 文件: filetype:pdfWord 文档: filetype:docExcel 表格: filetype:xls 标题中包含关键词的网页查询:

后台管理页面: intitle:后台管理登录页面: intitle:登录页面 特定网站类型查询:

教育机构网站中的论坛页面: site:edu inurl:forum政府网站中可能存在文件上传漏洞的页面: site:gov inurl:upload非营利组织网站中可能泄露密码信息的页面: site:.org inurl:password商业网站中的 phpMyAdmin 管理页面: site:.com inurl:phpmyadmin.net 域名中的备份文件: site:.net inurl:backup特定公司网站中包含“confidential”(机密)的页面: site:company.com inurl:confidential特定域名中上传文件的目录: site:domain.com inurl:uploads教育机构网站中特定关键词的 PPT 文件: site:edu.cn filetype:ppt 关键词

FOFA/鹰图 搜索语法补充

教育系统查询:"系统" && org="China Education and Research Network Center"

1day 查询:title="移动管理平台-企业管理" && country="CN"

教育机构注册接口查询:host="某某edu.cn" && "注册" && country="CN"

教育机构登录页面查询:status_code="200" && host="edu.cn" && body="用户名"

摄像头漏洞查询:body="Hikvision Digital Technology Co" && country="JP"

icon_hash="-596308075" && country="CN"

其他补充参数信息

操作系统: OS:Windows7,8,10 \ Linux \ Mac漏洞: has_vuln:true摄像头设备: device:webcam路由器设备: device:router部分 web 端设备: tp-link截图功能已开启的设备: has_screenshot:true cisco

Shodan官网功能

实时监控资产是否存在漏洞:

使用Alert命令或者官网可视化功能进行监控。示例:shodan alert -h

官网可视化监控

11. 结语

希望这篇Shodan学习笔记能够帮助到大家。如果你觉得有所收获,欢迎点赞、评论并分享给更多志同道合的朋友。如果在使用Shodan的过程中遇到任何问题,也可以在评论区留言交流,我们共同进步。安全之路漫长而艰辛,但也充满了无限的可能性。让我们携手并肩,共同探索网络安全的世界!