
CVE-2021-44228 Log4Shell 취약점을 처음부터 끝까지 재현: 악용부터 복구까지
격리된 랩 환경에서 Log4Shell 취약점을 초기 익스플로잇부터 전체 수정(remediation) 보고서 작성까지 처음부터 끝까지 재현했습니다. Aditya Chaudhari와 함께 진행한 MSc 과정 과제의 일부로, 공동 보고서로 함께 작성했습니다.
JAVA_OPTS로 JNDI lookup 비활성화)로 동일한 컨테이너를 재구축하고 익스플로잇이 더 이상 작동하지 않음을 확인단순히 읽어보는 것에 그치지 않고 전체 익스플로잇 체인을 직접 이해하고 싶었습니다. Log4Shell은 Java 클래스 로딩, LDAP, JNDI를 동시에 다루기 때문에 배우기에 좋은 취약점이며, 이후의 패치 과정을 통해 단순히 업데이트를 적용하는 것 이상의 실제 수정(remediation)이 어떤 모습인지 알 수 있습니다.
취약한 애플리케이션, 익스플로잇 코드, PoC 스크립트의 프로젝트 구조.
로그인 필드를 통해 JNDI 페이로드를 전송한 후, netcat 리스너에서 whoami로 root 접근 권한을 확인하는 모습.
JNDI lookup을 비활성화하고 익스플로잇을 차단하는 강화된 Dockerfile.
LDAP 및 HTTP 서버를 구동하는 Python PoC 스크립트와 콜백을 수신 대기하는 netcat.
Docker, Java, Python, netcat, Kali Linux
모든 작업은 교육 목적으로 격리된 랩 환경에서 수행되었습니다.