渗透测试实战-菠菜站渗透测试(Nacos反序列化漏洞利用)

免责声明:文章来源于真实渗透测试,已获得授权,且关键信息已经打码处理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 

一、信息收集

1.站点是一个正常的80端口开放的http服务使用nginx进行搭建,对其目录进行了扫描,没有得到什么能利用的信息

2.类似的站点通常会开放22或3389来进行远程维护,通过扫描端口发现了一些意外收获

该服务器开放了大量的端口,其中不止有3306、6379这种数据库服务端口、3389远程rdp端口、还存在大量http服务端口,注意到其中存在8848,可能存在nacos系统

3.通过测试大部分开放HTTP服务的端口下都没有网站,不过也是有收获,加上刚开始看到的主站共有四个登录框,其中Seata分布式事务服务系统存在弱口令,直接就登陆进去了

Seata-Server:seata/seata

可惜登录进去后什么信息也没有,之前没了解过这个系统搜索了一下,好像没有什么能利用的

4.还有另外两个站点,对象存储系统和一个类似令牌存储的站点,尝试弱口令均没有成功

minio服务器:minioadmin/minioadmin

4.之前说发现了开放了8848端口的,使用字典进行扫描,果然发现存在nacos系统,并且通过字典扫描目录未授权获取了nacos的密码

未授权访问地址:

/nacos/v1/auth/users?pageNo=1&pageSize=1

可获取已经注册过的账号和加密后的密码

二、实战环节

1.直接利用nacos漏洞扫描工具进行漏洞扫描,发现其版本为2.0.3且存在多个版本漏洞

漏洞名称: Nacos token.secret.key默认配置(QVD-2023-6271)

漏洞描述: 开源服务管理平台 Nacos 中存在身份认证绕过漏洞,在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。漏洞影响版本: 0.1.0 <= Nacos <= 2.2.0

漏洞名称: Nacos User-Agent权限绕过(CVE-2021-29441)

漏洞描述: 该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。

漏洞影响版本: Nacos <= 2.0.0-ALPHA.1

漏洞名称: Nacos Derby SQL注入漏洞 (CNVD-2020-67618)

漏洞描述: config server中有个接口,没有做任何的鉴权,即可执行sql语句,可以泄漏全部数据

漏洞影响版本: 与Nacos版本无关,看是否使用了内置的Derby数据库

漏洞修复方案: 对接口接口鉴权, 修改 nacos的application.properties配置文件nacos.core.auth.enabled=true,开启服务身份识别功能

2.利用权限绕过漏洞创建test用户登录nacos系统,查看系统配置(注意退出后清除该用户)

3.两个反序列化漏洞都需要手动测试,在测试后竟然发现该服务器存在Nacos Jraft Hessian反序列化漏洞,注入内存马后执行命令直接回显了Administrator权限

漏洞名称: Nacos Jraft Hessian反序列化漏洞(QVD-2023-13065)

漏洞描述: nacos默认的7848端口是用来处理集群模式下raft协议的通信,该端口的服务在处理部分jraft请求的时候使用hessian传输协议进行反序列化过滤不严,导致RCE

漏洞影响版本: 1.4.0 <= Nacos < 1.4.6 和 2.0.0 <= Nacos < 2.2.3

4.直接上webshell管理工具(我比较习惯用哥斯拉)利用注入的内存马进行上线

注意需要设置请求头,哥斯拉的设置为:

x-client-data: godzilla
Referer: https://www.google.com/

成功上线,利用命令查看服务进程,分析后发现好像只有windows自带的杀软

tasklist /svc        查看所有正在运行的进程及其服务信息

5.上线fscan对内网服务进行扫描,扫描后发现内网只有服务器一个地址,但是扫描出来了redis未授权访问

6.还是老套路,直接注入suo5内存马,做正向代理,访问redis数据库

成功连接redis服务器,其中存放着主站的账号,密码,ID等信息(经过测试后发现mysql数据库已经不再使用了,无法渗透)

6.到了这个时候其实已经拿下这个站点了,获得了所有的信息,但是想到最初扫描的端口目的就是为了拿到远程连接,而且已经获得了管理员用户权限完全可以创建一个新用户进行远程RDP登录,但是想尝试一下能不能获取管理员用户的密码,随即上传mimikatz尝试获取系统中账户的密码

通过命令查看当前服务器用户账户信息,发现服务器中存在多个用户

net users        列出所有用户账户

mimikazt使用命令读取密码信息,获取Administrator等多个用户密码

mimikatz.exe "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::sam" exit

privilege::debug:提升进程的权限到 DEBUG 级别,这通常是为了获取对系统进程更多的控制权,包括读取其他进程的内存空间。

token::elevate:提升当前访问令牌的权限,这通常用于绕过用户账户控制 (UAC) 或获取更高权限的操作。

sekurlsa::logonpasswords:尝试从本地安全机构子系统服务 (LSASS) 进程中提取当前登录用户的密码信息。

lsadump::sam:从本地 SAM (Security Account Manager) 数据库中转储用户账户信息,包括密码哈希。

exit:退出 Mimikatz。

webshell并不能做到真正的交互式回显,所以需要连起来一行执行命令(mimikatz是提供这种执行命令的方法,同样也能交互式输出)

7.利用Administrator用户账户/密码成功登录菠菜网站服务器

三、总结

成功拿下了菠菜网站的服务器,进行了远程桌面连接,通过最后登录和公网IP的查找也发现该服务器是一台云主机

        感觉这次渗透一切都太顺利,服务器完全不设防,历史漏洞也没有修复,没什么技术含量,主要是对各种工具的使用,各位大佬当爽文看就行,希望以后大家做渗透测试的时候也都能碰到这样的站点

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 设计模式之工厂函数模式

文章目录 案例基本案例逐渐复杂的案例 问题回顾什么是工厂模式&#xff1f;为什么会用到工厂函数模式&#xff1f;工厂函数模式和抽象工厂模式有什么关系&#xff1f; 工厂函数模式是一种创建型设计模式&#xff0c;抛出问题&#xff1a; 什么是工厂函数模式&#xff1f;为什么…

uniapp版本更新除了plus.runtime.getProperty的解决办法

以下是展示图 带尺寸的图片: 首先把以下代码放到想要更新弹出的页面 //template部分<uni-popup ref"popup" background-color"#fff"><versionUp handleCloseVersion"closeVersion"></versionUp></uni-popup>//script…

应急响应:Windows 入侵排查思路.

什么是应急响应. 一个组织为了 应对 各种网络安全意外事件的发生 所做的准备 以及在 事件发生后 所采取的措施 。说白了就是别人攻击你了&#xff0c;你怎么把这个攻击还原&#xff0c;看看别人是怎么攻击的&#xff0c;然后你如何去处理&#xff0c;这就是应急响应。 目录&am…

上海电信万兆宽带2026年将实现全城覆盖

为了响应号召&#xff0c;上海力争到2026年&#xff0c;初步建成以5G-A和万兆光网为标志的全球双万兆城市。上海电信正式对外宣布将于8月30日正式上线“美好家万兆融合套餐”&#xff0c;同时发布速率行业领先的“5G-A套餐”&#xff0c;上线“随翼选”云翼智选礼包&#xff0c…

【Go】手写简易go webserver

核心&#xff1a;实现net/http库中handler接口的ServeHTTP方法的实例&#xff0c;通过http.ListenAndServe注册后&#xff0c;所有的请求都会打到该实例的ServeHTTP方法里。Context是对请求对象和响应对象的封装&#xff0c;实现了获取请问请求参数、设置状态码、设置响应头、设…

WINDOWS核心编程-----3章,内核对象,是现在不同账号下测试

系列文章目录 终端服务命名空间中内核对象的测试程序 TerminalService程序需要用登录不同的windows账号同时运行。才能看出效果 建议测试流程 1&#xff0c;先登录windows账号A&#xff0c;运行两个本程序实例 2&#xff0c;保持上述两个实例人在运行中&#xff0c;在登陆wind…

Vue3 搭建前端工程,并使用idea配置项目启动

1 下载node.js 先下载 node.js LTS 并安装&#xff1a;node.js 的 npm&#xff0c;用于管理前端项目包依赖&#xff0c;这里以 14.17.3 这个版本为例。如果已经安装过 node.js&#xff0c;可以在设置中找到应用&#xff0c;点进去搜索 node.js 即可卸载 node.js 14.17.3 安装…

C语言典型例题32

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 习题2.9 编程序用getchar函数读入两个字符给c1&#xff0c;c2&#xff0c;然后分别用putchar函数和printf函数输出这两个字符。 &#xff08;1&#xff09;变量c1&#xff0c;c2应该定义为字符型或者整型吗&#x…

Flutter 学习之旅

本文只针对个人学习所遇问题&#xff0c;以及解决方案进行记录&#xff0c;不深刨原理。 不深刨原理是因为我也才开始学习&#xff0c;讲不明白&#xff0c;有可能还误导大家 &#xff0c;希望多多包涵。 问题一&#xff1a; 如何通过appBar去设置状态栏字体颜色以及状态栏透…

LLM - 使用 HuggingFace + Ollama 部署最新大模型 (GGUF 格式 与 Llama 3.1)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/141028040 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 Ollama…

【Linux】Ubuntu20.04系统中能在命令行ping通百度等网站,而在浏览器中不能上网的问题解决方法

今天离开学校&#xff0c;在家中打开ubuntu系统准备上网&#xff0c;发现浏览器打不开&#xff0c;但是QQ是可以发消息的&#xff0c;证明WIFI应该是没有问题的&#xff0c;但是谷歌和火狐浏览器就是打不开网址&#xff0c;很奇怪&#xff01; 先检查我们Linux能不能ping通 开一…

基于Jakarta,TypeScript,Golong的国密SM2、3、4

文章目录 前言一. Jakarta代码二. TypeScript三.golang 前言 最近还要深度研究hutools底层实现&#xff0c;一定要搞透澈&#xff0c;本章将会是持续更新 所有密钥由Jakarta统一生成&#xff0c;因为没测试其他语言生成是否可以 参考资料&#xff1a; Java代码实现SM2算法以及…

整理 钢琴 基础知识

大普表和钢琴键盘对照表 一 大普表和钢琴键盘对照表 二 五线谱、键位、左右手 八分音符 坐姿 手型

机器学习——支持向量机(SVM)(1)

目录 一、认识SVM 1. 基本介绍 2. 支持向量机分类器目标 二、线性SVM分类原理&#xff08;求解损失&#xff09; 三、重要参数 1. kernel&#xff08;核函数&#xff09; 2 .C&#xff08;硬间隔与软间隔&#xff09; 四、sklearn中的支持向量机&#xff08;自查&#…

使用Adobe Photoshop CS5给图片加水印

使用Adobe Photoshop CS5给图片加水印 前言1.我这里使用的是Adobe Photoshop CS52.新建空白画布3.写入水印内容4.按 Ctrl T 将其倾斜5.右键图层选择“混合选项”6.选择描边&#xff0c;颜色选择灰色7.效果如下8.填充选择0&#xff0c;不透明度选择75%9.打开编辑&#xff0c;选…

transformer中编码器之间是串行还是并行的;算力共享中,transformer实现编码器并行运行,怎么进行聚合的

目录 transformer中编码器之间是串行还是并行的 1. 编码器结构的独立性 2. 编码器内部的并行处理 3. 编码器之间的数据流 4. 训练阶段的并行性 算力共享中,transformer实现编码器并行运行,怎么进行聚合的 编码器并行运行的实现 编码器的输出聚合 举例说明 transform…

对 Go 语言中循环屏障 CyclicBarrier 的理解

同步屏障 (Barrier) 是并发编程中的一种同步方法。对于一组 goroutine ,程序中的一个同步屏障意味着任何 goroutine 执行到此后都必须等待,直到所有的 goroutine 都达到此点才可继续执行下文。 Barrier 无论是翻译成屏障、障碍还是栅栏,都很形象,就是一道拦截坝,拦截一组对…

国内大量家用路由器惨遭DNS劫持,你中招了吗?

近期&#xff0c;D妹收到不少用户反馈&#xff0c;在访问网站或APP时都遭遇了访问失败的问题。经深入排查&#xff0c;我们监测到大量家用路由器的DNS解析配置被篡改&#xff0c;从而影响到了正常的网站和APP访问。 该情况于2024年5月开始出现&#xff0c;于8月5日集中爆发达到…

图像变换算法

1.1 傅里叶变换 (Fourier Transform) 介绍 傅里叶变换是一种数学变换&#xff0c;用于将图像从空间域转换到频率域。它广泛应用于图像去噪和滤波。 原理 傅里叶变换将图像表示为频率成分的叠加&#xff0c;使得频率成分可以独立处理。通过对频率成分的分析和处理&#xff0…

【登录扫码】--集成企业微信

背景&#xff1a; 在系统的登录流程中&#xff0c;我们引入了一种创新的扫码登录方式&#xff0c;旨在提升用户体验与安全性。此流程的核心在于通过生成并扫描二维码来实现快速、便捷的登录认证 调用流程详细说明&#xff1a; 扫码登录选择&#xff1a;用户首先访问系统登录页面…