学习视频笔记均来自B站UP主" 泷羽sec",如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
链接直达:https://space.bilibili.com/350329294
文章目录
介绍
Shodan 是一个专门用于信息安全的搜索引擎,它通过互联网扫描,收集各种联网设备的信息和开放端口,并整理出各类网络资产的详细数据。Shodan 搜索的对象包括但不限于服务器、摄像头、路由器、工业控制系统(ICS)、物联网设备(IoT)、数据库和其他网络设备。与传统搜索引擎聚焦网页内容不同,Shodan 主要采集设备的元数据,如开放端口、设备型号、操作系统、使用的协议、服务状态、证书信息等。
安装及基本用法
kali Linux安装
- 克隆shodan文件
git clone https://github.com/achillean/shodan-python.git
- setup执行安装
cd shadon-python
python setup.py install
- shodan初始化
shodan init api_key
- 查看帮助文档
shodan -h
相关参数解释
Commands:
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 提供搜索查询的摘要信息
stream 实时流数据
trends 搜索 Shodan 历史数据库
version 打印此工具的版本信息
基本用法
- alert - 管理网络监控警报
功能:管理 Shodan 帐户的网络警报,通过对特定 IP 地址或网段的监控,及时获取设备变化。
使用场景:用于监控公司网络、家庭设备的安全状况。
示例:
shodan alert create "My Server" 192.168.1.1
此命令将在指定的 IP 地址 192.168.1.1 上创建一个名为 “My Server Alert” 的警报。
- convert - 数据格式转换
功能:将输入数据文件转换为 Shodan 支持的格式。
使用场景:当已有扫描结果的格式不符合 Shodan 要求时,可以使用该命令完成格式转换。
- count - 获取查询结果数量
功能:返回指定搜索条件的结果数量。
使用场景:快速了解某一搜索条件的匹配数量,有助于预估搜索结果规模。
示例:
shodan count port:80 country:US
- download - 下载搜索结果
功能:根据查询条件下载搜索结果,便于离线存储与分析
示例:
shodan download apache_servers "apache country:US" --limit 10
- honeyscore - 检查蜜罐设备
功能:检测某个 IP 是否是蜜罐设备(honeypot)。
使用场景:在进行安全评估时,可用于识别伪装成真实设备的蜜罐。
示例:
shodan honeyscore 8.8.8.8
- host - 获取 IP 详细信息
功能:查看特定 IP 地址的所有详细信息。
使用场景:当对某个设备的详细网络状态、端口开放情况感兴趣时使用。
示例:
shodan host 8.8.8.8
- info - 显示账户信息
功能:查看当前账户的 API 使用情况和查询额度。
示例:
shodan info
- init - 初始化 Shodan CLI
功能:初始化 Shodan CLI,并绑定 API Key。
示例:
shodan init YOUR_API_KEY
- myip - 查看外部 IP 地址
功能:返回当前设备的公网 IP。
示例:
shodan myip
- parse - 解析下载的 JSON 数据
功能:解析使用 download 命令下载的 JSON 数据文件,便于提取关键字段。
示例:
shodan parse apache_servers.json.gz --fields ip_str,port
- scan - 使用 Shodan 扫描 IP 或网段
功能:通过 Shodan 对 IP 或 IP 段进行扫描,获取实时数据(需高级帐户权限)。
示例:
shodan scan submit 192.168.1.0/24
- search - 数据库查询
功能:在 Shodan 数据库中搜索特定设备或服务。
示例:
shodan search [query] [options] [filters]
其中query是指定搜索内容,options是参数,filters是过滤器
options包含以下参数:
参数 | 说明 | 示例 |
---|---|---|
--color | 启用颜色输出 | --color |
--no-color | 禁用颜色输出 | --no-color |
--fields TEXT | 列出在搜索结果中显示的属性。 | --fields ip_str,port |
--limit INTEGER | 应返回的搜索结果数量。最大值为 1000。 | --limit 100 |
--separator TEXT | 搜索结果属性之间的分隔符。 | --separator "," |
-h, --help | 显示帮助信息并退出。 | --help |
其中–fields(选取返回字段)包含以下字段
字段 | 描述 |
---|---|
ip_str | 设备的 IP 地址。 |
port | 设备的开放端口。 |
hostnames | 设备的主机名。 |
org | 设备所属组织。 |
asn | 设备的自编号(ASN)。 |
data | 设备返回的原始数据。 |
timestamp | 结果返回的时间戳。 |
location | 设备的地理位置信息。包括城市,国家 |
product | 设备上运行的产品名称。 |
version | 设备上运行的版本。 |
os (偶尔有) | 设备的操作系统。 |
ssl | 设备的 SSL 证书信息。 |
http | 设备的 HTTP 服务信息。 |
vuln | 设备存在的漏洞信息。 |
tags | 设备的标签信息。 |
domains | 设备相关的域名。 |
cert | 设备的 SSL 证书信息。 |
filter条件
字段 | 说明 | 示例 |
---|---|---|
after | 搜索指定收录时间之后的数据,格式为 dd-mm-yy | after:"11-11-15" |
before | 搜索指定收录时间之前的数据,格式为 dd-mm-yy | before:"11-11-15" |
city | 搜索指定的城市 | city:"Hefei" |
cloud.provider | 搜索指定的云服务提供商 | cloud.provider:"AWS" |
cloud.region | 搜索指定的云服务区域 | cloud.region:"us-east-1" |
cloud.service | 搜索指定的云服务类型 | cloud.service:"EC2" |
device | 搜索指定的设备类型 | device:"router" |
geo | 搜索指定的地理位置,参数为经纬度 | geo:"31.8639, 117.2808" |
has_vuln | 搜索是否存在已知漏洞的设备 | has_vuln:true |
hostname | 搜索指定的主机或域名 | hostname:"google" |
isp | 搜索指定的 ISP 供应商 | isp:"China Telecom" |
net | 搜索指定的 IP 地址或子网 | net:"210.45.240.0/24" |
org | 搜索指定的组织或公司 | org:"google" |
port | 搜索指定的端口或服务 | port:"21" |
product | 搜索指定的操作系统/软件/平台 | product:"Apache httpd" |
region | 搜索指定的区域 | region:"CA" |
ssl | 搜索是否使用 SSL | ssl:true |
state | 搜索指定的州/省 | state:"California" |
tag | 搜索指定的标签 | tag:"test" |
version | 搜索指定的软件版本 | version:"1.6.2" |
http.title | 搜索指定的 HTTP 标题 | http.title:"Welcome" |
http.html | 搜索指定的 HTML 内容 | http.html:"<html>" |
http.status | 搜索指定的 HTTP 状态码 | http.status:200 |
ip | 搜索指定的 IP 地址 | ip:"192.168.1.1" |
- stats - 查询结果统计信息
功能:返回某个查询条件的统计信息。
示例:
shodan stats apache --facets country
- stream - 实时流数据
功能:实时显示 Shodan 数据流,适合进行网络监控和快速分析。
示例:
shodan stream banners
高阶用法
Search
搜索shodan的数据库
- 扫描日本的IP地址
shodan search --limit 10 country:jp
- 限定扫描内容ip和端口
shodan search --limit 10 --fields ip,port country:jp
shodan search --limit 10 --fields ip_str,port country:jp
shodan search --limit 10 --fields ip_str,port 80 country:jp
shodan search --color --limit 10 --fields ip_str port:3389 country:cn city:shenzhen
参数color,将搜查数据重点标色
shodan search --limit 10 --fields ip_str,port:3389 country:cn city:shenzhen os:windows 11
- 查看有漏洞设备
shodan search has_vuln:True port:3389 country:cn city:shenzhen os:windows 7 --fields ip_str --limit 10
- 查看摄像头
shodan search --limit 10 --fields ip_str,port:3389 country:cn city:shenzhen device:webcam
- 查看路由器
shodan search --limit 10 --fields ip_str,port:3389 country:cn city:shenzhen device:router
- 查看web设备
shodan search --limit 10 --fields ip_str,port:3389 country:cn city:shenzhen tp-link
- 查询漏洞
shodan search --limit 10 --fields ip_str,port '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'
上面十六进制字符串为CVE-2019-0708的漏洞特征, 漏洞对应3389端口开放
shodan search vuln:CVE-2019-0708
vuln参数需要高级会员及以上
CVE-2019-0708 是一个高危的远程桌面服务漏洞,它允许未经身份验证的攻击者通过 RDP(远程桌面协议)连接到目标系统并发送特殊设计的请求来执行远程代码。这个漏洞是预身份验证的,不需要用户交互,即攻击者可以在目标系统上执行任意代码,安装程序,查看、更改或删除数据,或者创建具有完全用户权限的新账户
MSF验证
使用msfconsole查找CVE-2019-0708的利用模块
search 0708
可以看到四个利用模块,选择第二个
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
展示可能存在漏洞的操作系统
show targets
将上图IP导入一个txt(0708),设置目标主机
set rhosts file:0708.txt
批量检测目标IP是否可以漏洞利用
check
- 查看vnc空密码
shodan search --limit 10 --fields ip_str "authentication disabled" port 5900 country:jp
- 查看黑页
shodan search --limit 10 --fields ip_str,port http.title:hacked by country:cn city:shenzhen
- 查看思科弱口令
shodan search --limit 10 --fields ip_str,port "cisco -authorized port:23" country:cn
- 查询网段
shodan search --limit 10 --fields ip_str,port net 208.88.84.0/24
- 查询社会组织IP
shodan search --limit 10 --fields ip_str,port org:nsa.gov
shodan search --limit 10 --fields ip_str,port org:Tencent
- 查询主机IP
shodan search --limit 10 --fields ip_str,port hostname:google
- 查询安装安全狗的网站
shodan search --limit 10 --fields ip_str,port country:cn http.waf:safedog
- 查询前端页面含特定关键字的IP
shodan search --limit 10 --fields ip_str,port country:cn http.html:login
- 查询Mongodb未授权登录
shodan search --limit 10 --fields ip_str "Mongodb server information -authentication" port:27017
- 根据响应头查询jenkins组件
shodan search --limit 10 --fields ip_str "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard"
Jekins:
- 皓峰防火墙登录
shodan search --limit 10 --fields ip_str,port http.html:"皓峰防火墙系统登录"
- 查看中间件
shodan search --limit 10 --fields ip_str,port product:Apache
Host
- 查看主机详细信息
shodan host 47.107.33.31
- 查看IP历史解析
shodan host 160.251.63.158 --history
Download
将搜索结果下载为json压缩包文件
shodan download CVE_2019_0708 --limit 100 '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'
shodan download --limit 10 "authentication disabled" port:5900
Parse
将下载的json压缩包解压
shodan parse --fields ip_str CVE_2019_0708.json.gz
保存文件
shodan parse --fields ip_str CVE_2019_0708.json.gz > ip.txt
Count
shodan count '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'
Honeyscore
Scan
shodan scan -h
- 扫描IP
shodan scan submit IP/CIDR
- 查看扫描信息
shodan scan list
- 查询特定扫描状态
shodan scan status <scan_id>
Domain
- 收集子域名列表
shodan domain baidu.com
Stats
统计中国使用了ssl的ip数量,并用版本做统计
Awesome Shodan Search Queries收集
- cve-2014-0160****漏洞影响的设备数量:
shodan count vuln:cve-2014-0160
80467
- 为你的网络创建一个私人防护并订阅它
shodan alert create mynetwork 198.20.58.0/24 && shodan stream --alerts=all
- 查找位于瑞士的服务器最常见的10个漏洞
shodan stats --facets vuln country:CH
- D-Link网络摄像机DCS-5300系列,无需身份验证
shodan search 'd-Link Internet Camera, 200 OK'
- 启用匿名身份验证的FTP服务器
shodan search '230 login successful port:21'
- 数据库
# MySQL
shodan search 'product:MySQL'
# MongoDB
shodan search 'product:MongoDB'
# elastic
shodan search 'port:9200 json'
# Memcached
shodan search 'product:Memcached'
# CouchDB
shodan search 'product:CouchDB'
# PostgreSQL
shodan search 'port:5432 PostgreSQL'
# Riak
shodan search 'port:8087 Riak'
# Redis
shodan search 'product:Redis'
# Cassandra
shodan search 'product:Cassandra'
- 游戏
# Minecraft
shodan search 'Minecraft Server port:25565'
# Counter-Strike: Global Offensive
shodan search 'product:"Counter-Strike Global Offensive"'
# Starbound
shodan search 'product:Starbound'
# ARK: Survival Evolved
shodan search 'product:"ARK Survival Evolved"'
- 工业控制系统
# XZERES Wind Turbine
shodan search 'title:"xzeres wind"'
# PIPS Automated License Plate Reader
shodan search 'html:"PIPS Technology ALPR Processors"'
# Modbus
shodan search 'port:502'
# Niagara Fox
shodan search 'port:1911,4911 product:Niagara'
# GE-SRTP
shodan search 'port:18245,18246 product:"general electric"'
# MELSEC-Q
shodan search 'port:5006,5007 product:mitsubishi'
# CODESYS
shodan search 'port:2455 operating system'
# S7
shodan search 'port:102'
# BACnet
shodan search 'port:47808'
# HART-IP
shodan search 'port:5094 hart-ip'
# Omron FINS
shodan search 'port:9600 response code'
# IEC 60870-5-104
shodan search 'port:2404 asdu address'
# DNP3
shodan search 'port:20000 source address'
# EtherNet/IP
shodan search 'port:44818'
# PCWorx
shodan search 'port:1962 PLC'
# Crimson v3.0
shodan search 'port:789 product:"Red Lion Controls"'
# ProConOS
shodan search 'port:20547 PLC'
- 被黑的Ubiquiti Networks设备
shodan search 'hacked-router-help-sos'
- 监控摄像头,用户:admin,无密码
shodan search "default password" "cam"
- 家用路由器的存储设备/附加的USB存储设备
shodan search 'IPC$ all storage devices'
- 无需身份验证的PBX电话网关
shodan search 'port:23 console gateway -password'
- Lantronix以太网适配器的管理界面,无需密码
shodan search 'Press Enter for Setup Mode port:9999'
- Polycom视频会议系统免认证shell
shodan search '"polycom command shell"'
- 未经身份验证的VNC服务器
shodan search '"authentication disabled" port:5900,5901'
- NPort串口转eth / MoCA设备无密码
shodan search 'nport -keyin port:23'
- Jenkins默认安装
shodan search 'http.favicon.hash:81586312'
- SonarQube安装
shodan search 'http.favicon.hash:1485257654'
- IBM WebSphere版本泄漏
shodan search 'WASRemoteRuntimeVersion'
标签:search,--,ip,学习,fields,shodan,port
From: https://blog.csdn.net/weixin_72986003/article/details/144318548