内网下(CVE-2021-44228)漏洞的检测及其延伸

admin 2024年11月24日12:28:51评论9 views字数 1867阅读6分13秒阅读模式

其实这篇文章在之前就应该写完了,Log4j2(CVE-2021-44228)漏洞爆发到现在已经一年半了,奈何没有时间、精力去思考在内网环境下如何发现漏洞;过年那段时间看到了一个监听各类协议的项目,参考项目实现了监听端的部分功能,增加了批量端口监听;直到最近在不停地优化,勉强能用,顺便学习了一下go语言编程。

0x01 背景

Log4j2(CVE-2021-44228)漏洞在公网上的暴露面已经不多了,而更多的安全人员把该漏洞的利用方向瞄准在了内网,特别是黑盒环境中(白盒可以看相应的依赖版本),一些不出外网的内网应用上,但是在内网去探测三种协议(ldap、rmi、dns)没有好的方法,ldap、rmi目前没有监听工具方便查看结果;dns比较繁琐,需要在内网进行一系列的配置,如配置dns服务器等,这就导致了没有公开的方法去探测内网的Log4j2漏洞,在这里记录一下。

漏洞扫描端出自笔者的log4j2burpscanner,监听端出自笔者的selistener

0x02 selistener工具介绍

0x001 介绍

selistener,全称为(server listener),像服务器一样监听端口,为方便取名,直接取了selistener为名

0x002 优点

简单点来说,优点如下:

  1. 批量端口监听,支持多种协议
  2. 直观的响应结果呈现形式

0x003 用法

-ps , ports start    端口组监听,开始
-pe , ports end      端口组监听,结束
-pn ,port ,exp:22,3306,8443  指定端口监听
-wp ,wport ,exp: 65535    指定端口运行http服务查看结果
-t, token, exp: f0ng  指定token

由于工具基于cgo,目前还没找到好的办法,所以linux需要安装musl-tools/musl-libc-static才能运行,windows可以直接运行

0x004 示例

1. 场景一

在Log4j2(CVE-2021-44228)利用下,如果防火墙做了端口的限制,一般JNDIExpliot的1389等ldap的端口会禁止,那么可以使用该工具进行批量端口监听,然后在数据包内设置端口号为变量,查看端口通信接收情况(ldap),举例ldap监听情况(rmi同理):

内网下(CVE-2021-44228)漏洞的检测及其延伸
2. 场景二

在windows系统无法上传文件情况下,需要进行文件下载,如certutil落地文件、powershell上线等等,会遇到某些端口无法出网,可以将certuil探测的端口设置为变量,使用本工具进行监听,如下

内网下(CVE-2021-44228)漏洞的检测及其延伸
3. 场景三

在进行反弹shell的时候,有时会禁止一些目的端口访问,可以通过使用该工具进行批量端口监听,查看端口通信接收情况(socket)。

内网下(CVE-2021-44228)漏洞的检测及其延伸
4. 额外场景

还可以在公网上收集payload等等,起到小蜜罐作用,感觉可以完善相应的指纹做到更全面(虽然现在的扫描器都是根据指纹来扫的,但是也有很多随意打的),如下

内网下(CVE-2021-44228)漏洞的检测及其延伸

如果后续有新的漏洞需要内网监听,也可以使用该工具进行组合利用

0x03 联动效果

0x001 工具搭建及配置

使用selistener搭建内网监听服务

./selistener -t onlysecurity (-pn 9999)

不加-pn参数则监听常用端口组

内网下(CVE-2021-44228)漏洞的检测及其延伸

在log4j2burpscanner下设置搭建的selistener记录地址、响应查看地址

10.211.55.2:9999/%20{HOSTURI}

http://10.211.55.2:65535/resp?token=onlysecurity&words={HOSTURI}
内网下(CVE-2021-44228)漏洞的检测及其延伸

这里要注意,设置的协议为ldap://(或者rmi://)

内网下(CVE-2021-44228)漏洞的检测及其延伸

0x002 工具扫描

  • 被动扫描 在漏洞点进行被动扫描
内网下(CVE-2021-44228)漏洞的检测及其延伸

插件页面

内网下(CVE-2021-44228)漏洞的检测及其延伸
  • 主动扫描 在漏洞点进行主动扫描
内网下(CVE-2021-44228)漏洞的检测及其延伸

插件页面

内网下(CVE-2021-44228)漏洞的检测及其延伸

可以看到很精准扫到了漏洞,web页面如下

内网下(CVE-2021-44228)漏洞的检测及其延伸

页面也是采用类似dnslog的形式,查看起来还算方便

0x04 总结

  1. 有目标一定要去实现,立的flag也要去完成
  2. 从底层出发,能解决更多的疑问,如这里直接通过字节去监听流量从而判断协议类型

0x05 引用

https://github.com/fuzz7j/JNDIServer   【工具雏形参考】

https://github.com/f0ng/selistener   【监听项目】

https://github.com/f0ng/log4j2burpscanner 【log4j2-burp扫描插件】

原文始发于微信公众号(only security):内网下(CVE-2021-44228)漏洞的检测及其延伸

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月24日12:28:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网下(CVE-2021-44228)漏洞的检测及其延伸https://cn-sec.com/archives/1617822.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息