首页 > 其他分享 >Shodan 进阶使用技巧:无高级会员如何搜索指定漏洞并进行批量验证

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

时间:2024-10-27 19:44:59浏览次数:6  
标签:Metasploit Shodan 进阶 批量 验证 漏洞 0708 x00

内容预览 ≧∀≦ゞ

  • Shodan进阶使用之批量查找并验证漏洞
    • 声明
    • 导语
    • 一、漏洞信息收集
    • 二、构建 Shodan 搜索语句
      • 1. 指定端口
      • 2. 指定操作系统
      • 3. 指定漏洞条件
      • 4. 完整 Shodan 查询语句
    • 三、验证目标设备的漏洞状态
      • 示例验证命令
    • 四、 使用 Shodan 批量下载与解析漏洞数据
      • 下载搜索结果
      • 解析下载的数据
    • 五、 使用 Metasploit 进行漏洞批量验证
      • 1. 启动 Metasploit Console
      • 2. 搜索并使用漏洞模块
      • 3. 设置选项
      • 4. 检查漏洞
    • 总结

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,这是漏洞主要影响的端口:

port:3389

2. 指定操作系统

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

os:"windows 7"

3. 指定漏洞条件

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

has_vuln:true

4. 完整 Shodan 查询语句

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

shodan search --limit 10 --fields ip_str,port port:3389 os:"windows 7" has_vuln:true

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

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

shodan search --limit 10 --fields ip_str,port “\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00”

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

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

示例验证命令

shodan host <目标IP>

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

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


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

下载搜索结果

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

shodan download 0708 --limit 10 “\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00”

在这里插入图片描述

解析下载的数据

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

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 漏洞的利用模块,并选择合适的模块:

search 0708
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce

在这里插入图片描述

3. 设置选项

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

show options

在这里插入图片描述

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

在这里插入图片描述

4. 检查漏洞

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

check

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

在这里插入图片描述

出现[+]代表漏洞存在可利用,[*]代表不可利用或漏洞不存在。



总结

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

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

标签:Metasploit,Shodan,进阶,批量,验证,漏洞,0708,x00
From: https://blog.csdn.net/2301_79518550/article/details/143254703

相关文章

  • 厉兵秣马之Java 语言基础和进阶(二)
    续写厉兵秣马之Java语言基础和进阶(一)厉兵秣马之Java语言基础和进阶(二)5.抽象类6.接口7.抽象类与接口区别8.JAVA集合类的使用8.1.列表(List)8.2.集合(Set)8.3.映射(Map)8.4.队列(Queue)8.5.其他集合类8.6.迭代器(Iterator)9JAVA包、内部类和匿名类9.1.包(Package)9.2.......
  • 红队知识学习入门(3)Shodan使用
    声明学习视频来自B站UP主泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负一、shodansearch和host语法1、host2、searchshodansearch--limit10--fieldsip_str,port......
  • Shodan搜索引擎(2)
    目录一、Shodan的批量下载及解析1.批量下载2.解析二、Shodan的蜜罐识别三、Shodan的history使用四、VNC空密码连接4.1VNC的介绍4.2VNC的组成4.3VNC的安全性及利用vnc空密码4.3.1vncserver如何免密码4.3.2Shodan上操作命令【注意事项】声明本笔记内容参考了泷......
  • Java进阶学习笔记54——HashMap、LinkedHashMap、TreeMap
    HashMap集合的底层原理:HashMap跟HashSet的底层原理是一模一样的,都是基于哈希表实现的。实际上,原来学的Set系列集合的底层就是基于Map实现的,只是Set集合中的元素只要键数据,不要值数据而已。哈希表:1)JDK8之前,哈希表=数组+链表;2)JDK8开始,哈希表=数组+链表+红黑树;3)哈希表是......
  • #渗透测试#SRC漏洞挖掘# 信息收集-Shodan进阶VNC
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                            ......
  • 指针(进阶)
    1.字符指针2.数组指针3.指针数组4.数组传参和指针传参5.函数指针6.函数指针数组7.指向函数指针数组的指针8.相关的练习指针的主题,我们在初级阶段的《指针》已经接触过了,我们知道了指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。2.指针......
  • 史上最强!Spring Boot 3.3 高效批量插入万级数据的多种方案
    SpringBoot3.3多种方式实现高效批量插入万级数据,史上最强!在大数据处理场景下,如何高效地将大量数据插入数据库是一个重要课题。本文基于SpringBoot3.3及MyBatis-Plus,介绍几种高效的批量插入数据的方法,包括:使用JDBC批处理使用自定义SQL批处理单条插入(for循环)拼接SQL语句......
  • 面试 | 针对有经验的20个高频Python面试问题·进阶篇
    1.什么是字典和列表推导?Python推导式与装饰器一样,是语法糖结构,可帮助从给定的列表、字典或集合构建经过修改和过滤的列表、字典或集合。使用推导式可节省大量时间和代码,这些代码可能会更加冗长(包含更多代码行)。对整个列表执行数学运算my_list=[2,3,5,7,11]squared_......
  • 利用VBA实现工作表批量显示/隐藏
    引言工作表批量显示/隐藏的UI设计与功能实现,主要是为了在处理包含大量工作表的工作簿时,我们可以根据需求快速隐藏多个非必需的工作表,或者只显示少量但必要的工作表。工作表批量显示/隐藏的演示GIFUI设计这里主要使用到了两个列表框和两个按钮控件,主界面设计......
  • Java面试真题之中级进阶(线程,进程,序列化,IO流,NIO)
    前言本来想着给自己放松一下,刷刷博客,慕然回首,线程、程序、进程?Java序列化?Java中IO流?JavaIO与NIO的区别(补充)?似乎有点模糊了,那就大概看一下Java基础面试题吧。好记性不如烂键盘***12万字的java面试题整理***简述线程、程序、进程的基本概念。以及他们之间关系是什......