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

news2024/11/24 15:03:03

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

一、信息收集

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.coloradmin.cn/o/2039511.html

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

相关文章

leetcode 103.二叉树的锯齿形层序遍历

1.题目要求: 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。2.做题思路:由题我们可以判断&#xff0c;树中每到偶数…

IV(电流-电压)测试和CV(电容-电压)测试

IV&#xff08;电流-电压&#xff09;测试和CV&#xff08;电容-电压&#xff09;测试是半导体参数表征中非常重要的两种测试方法。 一、IV测试&#xff08;电流-电压测试&#xff09; 1. 定义与目的 IV测试是测量半导体器件在不同电压下的电流响应&#xff0c;以评估其电学…

树莓派智能语音助手之ASR – SpeechRecognition+PocketSphinx

想要让树莓派成为智能语音助手&#xff0c;除了会“说”&#xff0c;也要会“听”。接下来&#xff0c;就要让它实现ASR&#xff08;语音识别&#xff09;功能了。 本来想用sherpa-onnx来实现离线语音识别的&#xff0c;可惜&#xff0c;我的树莓派系统太老了&#xff0c;折腾…

mybatis常见面试问题

0.原生JDBC样例: public class MainClass { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立连接 String url = &q…

视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库

ch3中的所有代码&#xff0c;除了在kdevelop中运行&#xff0c;还可以在VScode中运行。下面将简要演示配置过程&#xff0c;代码不再做解答&#xff0c;详细内容在下面的文章中。&#xff08;这一节中的pangolin由于安装过程中会出现很多问题&#xff0c;且后续内容用不到该平台…

重磅官宣!追光少年【彭禹锦】荣担任中国美育促进网amp;IPA美育中国行代言人

在美育事业蓬勃发展的今天&#xff0c;一位年仅15岁的少年以其非凡的艺术才华和积极向上的精神风貌&#xff0c;成为了万众瞩目的焦点。中国美育促进网与IPA美育中国行正式宣布&#xff0c;才华横溢、正能量满满的追光少年彭禹锦受邀担任“中国美育促进网&IPA美育中国行”代…

c++中__int128的使用

需要10^30才可以存&#xff0c;我们可以用__int128来算 #include<bits/stdc.h>using namespace std;bool is_sqr(__int128 x) {__int128 l -1, r 1e16;while (r - l > 1) {__int128 m (l r) / 2;__int128 m2 m * m;if (m2 < x) {l m;} else {r m;}}if (l *…

【机器学习】RNN循环神经网络的基本概念、工作原理(含python代码)和应用领域

引言 递归神经网络&#xff08;RNN&#xff09;是一类用于处理序列数据的神经网络。它们在处理如时间序列数据、语音、文本和其他序列格式数据时特别有用 文章目录 引言一、RNN的基本概念1.1 RNN的定义组成1.1.1 单个神经元1.1.2 网络结构 1.2 RNN的工作原理及代码示例1.2.1 循…

8月7日-8日学习

首先是昨天看到的gemma 2 中训练2B模型用了知识蒸馏&#xff0c;找了一下技术报告 结果先找到了一代的半天没有看到知识蒸馏的部分 然后在二代里面找到了 只有很小的一部分 就是用小模型学习大模型的概率预测分布 然后这里的话又找到了华为发布的小模型论文 Rethinking Optim…

Centos7安装Redis(采用docker安装方式)

文章目录 1 拉取Redis镜像2 上传并修改配置文件3 启动Docker容器4 查看Docker是否正常启动 linux系统安装redis可以自己上传程序&#xff0c;手动启动&#xff0c;也可以用docker以容器形式启动。 redis建议可采用docker安装&#xff0c;如果是例如mysql这种追求稳定的关系型数…

mmdeployv0.6 mmdetectionv2.4、mmcv-full1.6安装及环境搭建

一、安装条件 Step 1.创建conda虚拟环境并激活 conda create -n mmdeploy python3.8 -y #创建环境 conda activate mmdeploy #激活环境Step 2.安装 PyTorch #如果网不好&#xff0c;可以这样安装 pip3 install torch1.8.1cu111 torchvision0.9.1cu111 -…

基于python的百度迁徙迁入、迁出数据分析(十)

副标题&#xff1a;从百度迁徙数据看——迁徙数据特征分析 书接上文&#xff0c;我们先回顾一下我们统计的时间口径&#xff1a;2024年2月1日——2024年8月1日&#xff0c;这里包含了春运、清明、五一、端午、四个中大型国定假日&#xff0c;我们详细分析一下在当下的统计周期…

GOIP语音网关对接VOS3000技巧 落地于呼叫配置

GOIP语音网关对接VOS3000技巧 落地和呼叫以鼎信GOIP网关为例 首先登录vos端&#xff0c;添加落地网关和账户 账户添加&#xff1a; 账户管理&#xff0c;先添加账户然后应用&#xff0c;在过滤看看是否添加成功 给账户添加一个费率 双击费率数量添加费率的地区前缀&#xff0…

关于宠物浮毛对身体是否有害?宠物空气净化器选对告别浮毛困扰

说到宠物掉毛&#xff0c;大家是不是都会心里咯噔一下&#xff0c;担心这会不会对身体有啥不好&#xff1f;这确实是很多养宠人&#xff0c;还有那些正打算养宠的朋友心里的一块大石头。而且啊&#xff0c;这浮毛问题还常常成了家庭纷争的源头&#xff0c;特别是那些怀孕了的、…

【约数之和】

题目 TLE代码 #include<bits/stdc.h> using namespace std; typedef long long LL; #define x first #define y secondconst int N 5e710; const int MOD 9901; LL a, b; unordered_map<int, int> cnt; LL res 1; LL fast(int base, int expo) {LL result 1;…

TreeSet的排序方式

一.TreeSet的特点&#xff1a; 二.TreeSet对象排序练习题&#xff1a; 需求&#xff1a;利用TreeSet存储整数并进行排序 package com.itheima.a06mySet; ​ import java.util.TreeSet; ​ public class A05_TreeSetDemo1 {public static void main(String[] args) {//1.创建T…

链表算法题一

​ 旋转链表 旋转链表 首先考虑特殊情况 若给定链表为空表或者单个节点,则直接返回head,不需要旋转操作.题目给定条件范围: 0 < k < 2 ∗ 1 0 9 0 < k < 2 * 10^9 0<k<2∗109,但是受给定链表长度的限制,比如示例2中,k4与k1的效果等价. 那么可以得出kk%l…

QLabel设置图像的方法+绘制文本换行显示

1、QLabel设置图像有两种方法 (1) void setPicture(const QPicture &); (2) void setPixmap(const QPixmap &); QPicture和QPixmap都是继承于QPaintDevice&#xff0c;它们都可以通过加载图片的方式获取&#xff1a;bool load(QIODevice *dev, const char *format …

8.8网络编程

笔记 网络基础 一.网络通信的引入 IPC通信方式&#xff0c;只能完成同一台主机之间多个进程间的通信&#xff0c;在实现跨主机的多个进程间通信时&#xff0c;就显得力不从心了。所以我们引入了网络通信&#xff0c;基于套接字socket的通信方式&#xff0c;能够完成同一主机…

AI Agent工程师认证-学习笔记(2)——【多Agent】AgentScope

基础学习链接&#xff1a;【多Agent】AgentScope学习指南 速通攻略&#xff1a;零基础做个多智能体游戏 Agentscope入门文档&#xff1a;AgentScope 初探 应用开发进阶&#xff1a;AgentScope应用开发入门 AgentScope官方文档&#xff1a;AgentScope官方文档 AgentScope开…