网络搜索引擎Shodan(2)

ops/2024/10/30 23:18:39/

声明:学习视频来自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文件。

7cd703346fbf4719b2b1fc8888e6fd77.png

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这个文档

37a84faa2a024c45b424dab67012ede3.png


二、 漏洞验证

本文利用CVE-2019-0708漏洞进行演示(本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规)

CVE-2019-0708,也被称为 "BlueKeep",是一个严重的远程代码执行漏洞,影响 Windows 操作系统的远程桌面服务(RDP)。这个漏洞特别危险,因为它可以被未授权的攻击者利用,而无需身份验证,且可以传播到其他易受攻击的系统。

1、漏洞指纹特征

以下是 CVE-2019-0708 漏洞的指纹特征,帮助识别受影响的系统:

  1. 操作系统版本

    • 受影响的 Windows 版本包括:
      • Windows 7
      • Windows Server 2008 R2
      • Windows Server 2008
    • Windows 8 和 Windows 10 不受影响。
  2. 开放的 RDP 端口

    • 漏洞通常在默认的 RDP 端口 3389 上被利用。
    • 可以通过工具如 Nmap 扫描该端口以确认服务状态。
  3. 特定的 RDP 响应

    • 受影响系统的 RDP 服务可能返回特定的标识信息,包括版本信息。
    • 使用工具如 rdesktop 或 MSTSC(Windows 自带的远程桌面连接)连接时,可能会看到系统版本信息。
  4. 特征字符串

    特征字符串:该漏洞的特征字符串为:"\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 

12266b9983a4440582e5c3c1ef71a028.png

8d3c64bedd034feaadf76fe10a890cca.png

使用host命令进行验证:shodan host x.x.x.x

e16a38f80ee342169f3b778a78afa68a.png

因为它开启了3389端口,因此我们可以使用远程连接去判断该主机是否存活

ad54d8b4155e4dc189ded4d08364d18a.png

使用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

641c7c8f931a4c01889fc211fdd94e17.png

89d9f1d66df44575998b8e02901b25b8.png

三、漏洞指纹收集和构造查找语句

  1. 确定漏洞特征

    • 了解你要查找的漏洞的特征,比如:
      • 受影响的端口(例如,CVE-2020-0796 通常影响开放的 445 端口)。
      • 特征字符串或数据包模式(如特定的十六进制序列)。
  2. 构造 Shodan 查找语句

    • 使用 Shodan 的搜索语法,根据已知的漏洞特征构造搜索查询。例如,查找开放 445 端口的资产:

      shodan search 'port:445'

    • 如果你知道特定的服务或软件版本,也可以将其包含在搜索语句中,例如:

      shodan search 'port:445 "Microsoft"'

  3. 使用 host 命令验证:

    • 一旦获取了符合条件的资产列表,可以使用 Shodan 的 host命令来获取更详细的信息,验证这些资产是否真的易受特定漏洞影响:

      shodan host <ip_address>

    • <ip_address>是你从搜索结果中提取的 IP 地址。
  4. 进行进一步分析

    • 根据host命令返回的信息,检查是否存在漏洞指纹特征(如特定的服务版本、开放的端口等)。


http://www.ppmy.cn/ops/129721.html

相关文章

计算机网络 | 第二章 物理层 | 26王道考研自用笔记

物理层任务&#xff1a;实现相邻节点之间比特&#xff08;0或1&#xff09;的传输 2.1 通信基础基本概念 2.1.1 信源、信宿、信号、信道 在通信系统中&#xff0c;信源负责生成信息&#xff0c;信宿接收和解释信息。信号是传输信息的载体&#xff0c;经过信道从信源到达信宿。…

用Pyhon写一款简单的益智类小游戏——2048

文字版——代码及讲解 代码—— import random# 初始化游戏棋盘 def init_board():return [[0] * 4 for _ in range(4)]# 在棋盘上随机生成一个2或4 def add_new_tile(board):empty_cells [(i, j) for i in range(4) for j in range(4) if board[i][j] 0]if empty_cells:i,…

从0学习React(9)

代码解析 const changeOrg (orgId) > {queryData.orgId orgId;delete queryData.deviceClassifyId;setQueryData(queryData);actionRef.current?.reset();loadTreeData(orgId); };1. const changeOrg (orgId) > { ... }; 这是一个箭头函数&#xff08;arrow functi…

强化学习数学基础学习(三)

前言 这次是蒙特卡洛方法 正文 蒙特卡洛方法(Monte Carlo&#xff0c;MC) 在强化学习&#xff08;Reinforcement Learning, RL&#xff09;中&#xff0c;蒙特卡洛方法是一类基于采样的学习方法&#xff0c;主要用于解决那些状态空间或动作空间过大&#xff0c;以至于无法使…

pikachu-XSS闯关挑战

get message<script>alert("123")</script>&submitsubmit post 可以暴力破解账号密码&#xff0c;但由于是XSS练习&#xff0c;点右上角的提示&#xff0c;就可以登陆 直接在输入框中输入 <script>alert("123")</script> …

Date工具类详细汇总-Date日期相关方法

# 1024程序员节 | 征文 # 目录 简介 Date工具类单元测试 Date工具类 简介 本文章是个人总结实际工作中常用到的Date工具类&#xff0c;主要包含Java-jdk8以下版本的Date相关使用方法&#xff0c;可以方便的在工作中灵活的应用&#xff0c;在个人工作期间频繁使用这些时间的格…

ljjh#True

// background.js // 使用 Map 存储拦截的请求数据&#xff0c;键为 interceptionId const interceptedRequests new Map(); // 使用 Map 存储 requestId 到 interceptionId 的映射 const requestIdToInterceptionIdMap new Map(); // 存储已附加调试器的标签页ID const d…

Spring Authorization Server基于Spring Session的前后端分离实现

本章实现的效果 授权码模式下使用前后端分离的登录页面和授权确认页面。设备码模式(Device Flow)下使用前后端分离的登录页面、授权确认页面、用户码(user_code)验证页面和用户码(user_code)验证成功页面。 分析 在一年多以前我出了两篇前后端分离的文章&#xff0c;分别是《S…