声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章
声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。
感谢泷羽sec 团队的教学
视频地址:shodan(2)_哔哩哔哩_bilibili
本文主要讲解download和parse这两个命令,以及如何利用漏洞指纹特征去批量查找并验证某个漏洞。
一、download和parse命令
1、download
download命令用于下载特定查询的搜索结果,并将其保存到本地文件。该命令允许用户获取大量设备信息并进行离线分析。
用法
shodan download <filename> <search query>
- <filename>:保存搜索结果的文件名(可以是.json格式)。
- <search query>:您想要搜索的查询字符串。
示例
shodan download apache "apache"
这将下载与“apache”相关的结果搜索并命名为apache文件。
2、parse
parse用于分析的命令从 Shodan 下载的结果文件,提取并显示特定信息。这对于查看下载的数据并获取更有用的统计信息非常有用。
用法
shodan parse <filename> [OPTIONS]
- <filename>:要解析的JSON文件名。
示例
shodan parse apache.json.gz --fields ip_str,port,org > apache.txt
这将解析apache.json文件,并仅显示IP地址、端口和组织信息。随后输出到apache.txt这个文档
二、 漏洞验证
本文利用CVE-2019-0708漏洞进行演示(本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规)
CVE-2019-0708,也被称为 "BlueKeep",是一个严重的远程代码执行漏洞,影响 Windows 操作系统的远程桌面服务(RDP)。这个漏洞特别危险,因为它可以被未授权的攻击者利用,而无需身份验证,且可以传播到其他易受攻击的系统。
1、漏洞指纹特征
以下是 CVE-2019-0708 漏洞的指纹特征,帮助识别受影响的系统:
-
操作系统版本
- 受影响的 Windows 版本包括:
- Windows 7
- Windows Server 2008 R2
- Windows Server 2008
- Windows 8 和 Windows 10 不受影响。
- 受影响的 Windows 版本包括:
-
开放的 RDP 端口
- 漏洞通常在默认的 RDP 端口 3389 上被利用。
- 可以通过工具如 Nmap 扫描该端口以确认服务状态。
-
特定的 RDP 响应
- 受影响系统的 RDP 服务可能返回特定的标识信息,包括版本信息。
- 使用工具如 rdesktop 或 MSTSC(Windows 自带的远程桌面连接)连接时,可能会看到系统版本信息。
-
特征字符串
特征字符串:该漏洞的特征字符串为:"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"
2、操作演示(文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。)
我们可以根据漏洞指纹特征构造shodan搜索语句:shodan search --limit 10 --fields ip_str,port '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"' country:JP
使用host命令进行验证:shodan host x.x.x.x
因为它开启了3389端口,因此我们可以使用远程连接去判断该主机是否存活
使用metasploit去批量验证漏洞
首先搜索该漏洞的利用模块:search CVE-2019-0708
选择你想使用的模块:use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
查询并配置必要的信息:show options
配置攻击IP命令: set rhosts file:装有IP的文件路径-->set rhosts file:'/root/0708.txt'
检查验证漏洞:check
三、漏洞指纹收集和构造查找语句
-
确定漏洞特征:
- 了解你要查找的漏洞的特征,比如:
- 受影响的端口(例如,CVE-2020-0796 通常影响开放的 445 端口)。
- 特征字符串或数据包模式(如特定的十六进制序列)。
- 了解你要查找的漏洞的特征,比如:
-
构造 Shodan 查找语句:
- 使用 Shodan 的搜索语法,根据已知的漏洞特征构造搜索查询。例如,查找开放 445 端口的资产:
shodan search 'port:445'
- 如果你知道特定的服务或软件版本,也可以将其包含在搜索语句中,例如:
shodan search 'port:445 "Microsoft"'
- 使用 Shodan 的搜索语法,根据已知的漏洞特征构造搜索查询。例如,查找开放 445 端口的资产:
-
使用 host 命令验证:
- 一旦获取了符合条件的资产列表,可以使用 Shodan 的 host命令来获取更详细的信息,验证这些资产是否真的易受特定漏洞影响:
shodan host <ip_address>
- <ip_address>是你从搜索结果中提取的 IP 地址。
- 一旦获取了符合条件的资产列表,可以使用 Shodan 的 host命令来获取更详细的信息,验证这些资产是否真的易受特定漏洞影响:
-
进行进一步分析:
- 根据host命令返回的信息,检查是否存在漏洞指纹特征(如特定的服务版本、开放的端口等)。