Shodan 是一个专门用于信息安全的搜索引擎,它通过互联网扫描,收集各种联网设备的信息和开放端口,并整理出各类网络资产的详细数据。Shodan 搜索的对象包括但不限于服务器、摄像头、路由器、工业控制系统(ICS)、物联网设备(IoT)、数据库和其他网络设备。与传统搜索引擎聚焦网页内容不同,Shodan 主要采集设备的元数据,如开放端口、设备型号、操作系统、使用的协议、服务状态、证书,信息等。
安装(命令行与图形化)和基本用法
命令行
kali下自带shodan,只不过需要到shodan官网注册并拿到key,克隆也需要key才能使用
shodan官网
shodan.io
1.命令行安装使用
使用GitHub下克隆
git clone https://github.com/achillean/shodan-python.git
2.切换到目录下执行安装
cd shodan-Python Python setup.py install
3.进行初始化
shodan init <aip-key>
4.查看帮助文档,确定安装成功
shodan -h
5.-h 参数解释
alert 管理您账户的网络警报 convert 将给定输入数据文件转换为不同格式 count 返回搜索结果的数量 data 批量访问 Shodan 数据 domain 查看域名的所有可用信息 download 下载搜索结果并将其保存为压缩 JSON 文件 honeyscore 检查 IP 是否为蜜罐 host 查看 IP 地址的所有可用信息 info 显示有关您账户的一般信息 init 初始化 Shodan 命令行 myip 打印您的外部 IP 地址 org 管理您组织对 Shodan 的访问 parse 从压缩的 JSON 文件中提取信息 radar Shodan 实时发现的一些结果地图 scan 使用 Shodan 扫描 IP/网段 search 搜索 Shodan 数据库 stats 提供搜索查询的摘要信息 trends 搜索 Shodan 历史数据库 version 打印此工具的版本信息 stream 实时流数据
2.命令解释与基本用法
- alert 管理网络监控警报
功能:管理 Shodan 帐户的网络警报,通过对特定 IP 地址或网段的监控,及时获取设备变化。
使用场景:用于监控公司网络、家庭设备的安全状况。
shodan alert create "My server" ipv4 释义: 在指定的 IP 地址 192.168.1.1 上创建一个名为 “My Server Alert” 的警报。
- convert 数据格式转换
功能:将输入数据文件转换为 Shodan 支持的格式。
使用场景:当已有扫描结果的格式不符合 Shodan 要求时,可以使用该命令完成格式转换
- count 获取查询结果数量
功能:返回指定搜索条件的结果数量。
使用场景:快速了解某一搜索条件的匹配数量,有助于预估搜索结果规模
shodan count port:80 country:cn
- download 下载搜索结果
功能:根据查询条件下载搜索结果,便于离线存储与分析
shodan download Apache_server "Apache country:us" --limit 10
- honeyscore 检查蜜罐设备
功能:检测某个 IP 是否是蜜罐设备(honeypot)。
使用场景:在进行安全评估时,可用于识别伪装成真实设备的蜜罐。
shodan honeyscore 8.8.8.8
- info 显示账户信息
功能:查看当前账户的 API 使用情况和查询额度。
shodan info
- host 获取ip详细信息
功能:查看特定 IP 地址的所有详细信息。
使用场景:当对某个设备的详细网络状态、端口开放情况感兴趣时使用。
shodan host 8.8.8.8
- info 初始化shodan-cLl
功能:初始化 Shodan CLI,并绑定 API Key。
shodan info api-key
- myip 查看外部ip地址
功能:返回当前设备的公网 IP
shodan myip
- parse 解析下载的 JSON 数据
功能:解析使用 download 命令下载的 JSON 数据文件,便于提取关键字段
shodan parse Apache_server.json.gz --fields ip_str,port
- scan 使用shodan扫描整个网段
功能:通过 Shodan 对 IP 或 IP 段进行扫描,获取实时数据(需高级帐户权限)。
shodan scan submit 192.168.0.1/24
- search 数据库查询
功能:在 Shodan 数据库中搜索特定设备或服务
shodan search (query)(options)(filters 释义 其中query是指定搜索内容,options是参数,filters是过滤器
- state 查询结果统计信息
功能:返回某个查询条件的统计信息。
shodan stats Apache --facets country
options参数
fields返回字段包含以下字段
filter条件
search用法
shodan search –limit 10 country:jp
shodan search –limit 10 –fields ip_str,port country:jp
shodan search –limit 10 –fields ip_str port:80 country:jp
host用法
shodan search ip
查看ip详细信息
shodan search ip –history
查看ip历史数据
download用法
CVE-2019-0708
不能直接查询,只能使用十六进制指纹查询
漏洞允许未经身份验证的攻击者使用远程桌面
服务连接到目标系统并发送精心设计过的请求,利用其身份预认证、不需要用户
交互确认同意接收连接的缺陷,即可在目标系统上执行任意代码,涵盖但不限于
安装程序,查看、更改或删除目标系统内数据,或创建具有完全用户权限的新账户
利用此漏洞需要满足以下条件:
1、在Windows操作系统启用了Remote Desktop Services远程桌面服
务,且未及时安装更新补丁。
2、攻击者通过RDP向目标系统远程桌面服务发送精心设计的请求。
shodan download 0708 –limit 10 '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'
释义:下载0708漏洞信息
\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00
释义:十六进制字符串(类似指纹)
parse用法
shodan parse –fields ip_str ///0708.json.gz
把内容重定向到0708.txt里
shodan parse –fields ip_str ///0.0708.json.gz>>0708.txt
count用法
shodan count "'\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'
释义:是说它数据库里大概存有一万四千多条与这个漏洞相关的记录
honeyscore用法
shodan honeyscore ip
释义:判断是否为蜜罐
https://honeyscore.shodan.io
网页端也可以直接搜索
实验1:
利用shodan实习VPN空密码登录
5900端口是远程控制软件VNC的默认服务端口。 先确认VNC是否是自己开放并且是必须
shodan search –limit 20 –fields ip_str "authentication disabled" port:5900 country:jp
authentication disabled 这是一个搜索条件,表示要查找那些认证(身份认证)被禁用的目标
利用parse命令重定向把ip搞到.txt文件中
shodan parse –fields ip_str 名称 >> VNC.txt
使用VNC软件进行验证是否成功
myip命令
shodan myip
释义:返回你的公网IP地址
title
shodan search –fields ip_str,port country:cn http.title:hacked by city:shenzheng
释义:使用title命令查找被黑客攻击的网站,并精确到国家以及城市
shodan search –fields ip_str,port http.title:mysql
shodan search –fields ip_str,port http.title:后台
scan命令
shodan scan -h
shodan scan submit ip
释义:可以支持shodan进行实时扫描
shodan scan lis
释义:查看扫描信息
stat命令
shodan state –facets ssl.version country:cn has_ssl:true http
统计中国使用ssl的ip,并用版本做一个统计
搜索弱口令
cisco
思科带有未授权特征且23端口是开放
shodan search –fields ip_str,port cisco -authorired" port:23
思科默认账密
u:admin/cisco
p:cisco
shodan搜索网段
net ip address renge
nas.gov 美国安全局网站
网段 shodan search --limit 10 --fields ip_str,port net:ip/24 网站 shodan search --limit 10 --fields ip_str,port org:nas.gov
访问不了的网站就用host解析ip
1:搜索一些组织的IP地址 shodan search --limit 10 --fields ip_str,port hostname:google 2:搜索一些带waf安全狗的网站 shodan search --limit 10 --fields ip_str port country:jp http.waf:safedog 检索 html 前端页面中带有关键字的 IP 地址,和 title 类似,一下搜索的是登录界面 shodan search --limit 10 --fields ip_syr,port country:jp http.html:login 举一反三 shodan search --limit 10 --fields ip_str,port http.html:"浩峰防火墙系统登录"
图形化
wencam 摄像头有关信息
monitor shodan一个模块,用于监控网站ip
manage 资产管理
sattings 设置通知邮件
dashboard 现有监控的一些信息 端口 漏洞 ip地址(存在cdn就有多个地址)对跟踪IP操作比较方便
net C段
谷歌语法
site:edu.cn "搜索域名"
inurl:login "搜索网页包含login的页面"
site:edu.cn inurl:login
inurl:php?id=1 查找可能存在SQL注入漏洞的PHP页面。
inurl:asp?id=1 查找可能存在SQL注入漏洞的ASP页面。
inurl:jsp?id=1 查找可能存在SQL注入漏洞的jsp页面
filetype:pdf
filetype:doc
filetype:xls
intitle:"后台管理"
intitle:"登录页面"
site:gov.cn inurl:upload 在政府网站中查询文件上传漏洞的页面
site:.com inurl:phpmyadmin 在商业网站中查询有没有存在的phhpmyadmin页面
site:.org inurl:password 在非盈利的组织网站中查找包含passwd的页面,可能找到泄露的信息
site:.gov inurl:vulnerability”;在各种政府网站中查找包
含“vulnerability”(漏洞)的页面。