Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-4911-Lab — Docker 기반 랩으로, CVE-2023-4911 (Looney Tunables)을 분석하고 익스플로잇하는 데 사용됩니다. 이는 glibc ld.so 버퍼 오버플로우로 인해 로컬 권한 상승이 발생하는 취약점입니다. PoC, GDB 분석, 익스플로잇 개발 환경을 포함합니다. | Kitploit
도구/GitHubGitHub/0xmoga/cve-2023-4911-lab
Privilege EscalationVulnerability AnalysisExploitationReverse EngineeringDebuggersPenetration TestingLearning & EducationBinary ExploitationLabs & Practice
GitHub0xmoga/cve-2023-4911-lab

CVE-2023-4911-Lab

Docker 기반 랩으로, CVE-2023-4911 (Looney Tunables)을 분석하고 익스플로잇하는 데 사용됩니다. 이는 glibc ld.so 버퍼 오버플로우로 인해 로컬 권한 상승이 발생하는 취약점입니다. PoC, GDB 분석, 익스플로잇 개발 환경을 포함합니다.

4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2023-4911 "Looney Tunables" 분석 환경

GNU C Library(glibc) 동적 로더의 버퍼 오버플로우 취약점(Local Privilege Escalation) 분석 및 익스플로잇 개발을 위한 Docker 기반 실습 환경입니다.


CVE 정보

항목내용
CVE 번호CVE-2023-4911
별칭Looney Tunables
취약 대상GNU C Library (glibc) 2.34 ~ 2.38
취약 버전Ubuntu 22.04 — libc6 2.35-0ubuntu3.3 이하
패치 버전libc6 2.35-0ubuntu3.4 (USN-6404-1, 2023-10-04)
타입Buffer Overflow in ld.so
영향Local Privilege Escalation (일반 유저 → root)
발견Qualys Security Research Team

취약점 메커니즘

glibc 동적 로더(ld.so)는 프로그램 실행 시 GLIBC_TUNABLES 환경변수를 파싱합니다.
SUID 바이너리 실행 시 __libc_enable_secure = 1이 설정되고, ld.so는 해당 환경변수를 무효화(nullify)하는 코드 경로에 진입합니다.
이 과정에서 tunable1=tunable2=value 형식의 입력에 대해 잘못된 길이 계산으로 버퍼 오버플로우가 발생합니다.

root@kitploit:~
일반 바이너리:  __libc_enable_secure = 0  →  nullify 코드 미진입  →  취약점 없음
SUID 바이너리:  __libc_enable_secure = 1  →  nullify 코드 진입   →  버퍼 오버플로우 발생

익스플로잇 흐름:

root@kitploit:~
GLIBC_TUNABLES 오버플로우
        ↓
ld.so BSS 영역 link_map 포인터 덮어쓰기
        ↓
라이브러리 검색 경로를 evil_lib/ 경로로 변조
        ↓
evil.so 로드 → constructor 자동 실행
        ↓
setuid(0) + execve("/bin/bash") → root shell 획득

환경 구축 목표 및 방향성

이 환경은 단순한 PoC 실행을 넘어, 취약점의 동작 원리를 직접 분석하고 익스플로잇을 개발하는 과정을 목표로 설계되었습니다.

  • 취약한 glibc 버전(2.35-0ubuntu3.3)이 실제로 동작하는 환경 재현
  • ld.so 소스코드와 실행 바이너리를 함께 분석할 수 있는 환경 제공
  • GDB / gef / gdbserver를 통한 동적 분석 지원
  • 일반 유저(researcher) → root 권한 상승 시나리오 직접 실습
  • 팀원 누구나 동일한 환경에서 분석을 시작할 수 있도록 Docker로 완전 격리

프로젝트 구조

root@kitploit:~
CVE-2023-4911/
├── Dockerfile                  # 취약 환경 이미지 정의 (Multi-stage 빌드)
├── run.sh                      # Docker 빌드/실행 관리 스크립트
├── check_environment.sh        # 컨테이너 시작 시 환경 자동 검증
├── poc/
│   ├── exploit.py              # 기본 PoC — crash(SIGSEGV) 확인용
│   ├── exploit_lpe.py          # LPE 익스플로잇 — GDB 분석 후 완성
│   └── evil_lib/
│       ├── evil.c              # root shell 실행하는 악성 공유 라이브러리
│       └── Makefile
└── test_targets/
    ├── test_suid.c             # SUID 테스트 바이너리 소스
    └── test_heap.c             # 힙 할당 테스트 바이너리 소스

환경 요구사항

  • Docker
  • Linux 또는 WSL2 (Windows)

사용법

1. 이미지 빌드 및 컨테이너 실행

root@kitploit:~
./run.sh build && ./run.sh run

2. sudo 비밀번호 입력

컨테이너 시작 시 sudo 비밀번호를 요구합니다.

root@kitploit:~
비밀번호: password

3. 취약점 확인

root@kitploit:~
# SIGSEGV 발생 여부 확인
python3 /workspace/poc/exploit.py --check-only

# 직접 트리거
GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA \
  /workspace/test_targets/test_suid

4. GDB 분석

root@kitploit:~
# 컨테이너 내부 직접 분석
gdb -q /workspace/test_targets/test_suid

# 원격 디버깅 (gdbserver)
# 컨테이너 내부
gdbserver :1234 /workspace/test_targets/test_suid

# 로컬 호스트
gdb
(gdb) target remote localhost:1234

5. LPE 익스플로잇 실행

GDB로 OVERFLOW_OFFSET과 TARGET_ADDR 분석 후 exploit_lpe.py 상단 값을 업데이트하고 실행합니다.

root@kitploit:~
python3 /workspace/poc/exploit_lpe.py

run.sh 옵션


분석 환경 정보


분석 포인트

정적 분석

root@kitploit:~
# 취약 함수 위치
/workspace/glibc-source/elf/dl-tunables.c

# 주요 함수
__tunables_init()   # 진입점
parse_tunables()    # 오버플로우 발생 지점
tunables_strdup()   # 버퍼 할당

동적 분석

root@kitploit:~
# strace로 시스템 콜 추적
strace -e trace=mmap GLIBC_TUNABLES="..." /workspace/test_targets/test_suid

# GDB로 __tunables_init 분석
gdb /workspace/test_targets/test_suid
(gdb) break __tunables_init
(gdb) set environment GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA
(gdb) run

주의사항

이 환경은 교육 및 보안 연구 목적으로만 사용하십시오.

  • 본 환경은 취약점 학습과 익스플로잇 개발 연구를 위해 제작되었습니다
  • 실제 운영 시스템 또는 허가되지 않은 대상에 절대 사용하지 마십시오
  • 컨테이너는 --privileged 모드로 실행되므로 격리된 환경에서만 사용하십시오
  • 본 저장소의 코드를 악용하여 발생하는 모든 법적 책임은 사용자 본인에게 있습니다

참고 자료

  • Qualys Security Advisory
  • glibc 공식 저장소
  • Ubuntu Security Notice USN-6404-1
도구 다운로드
명령설명
./run.sh buildDocker 이미지 빌드
./run.sh run대화형 모드로 컨테이너 실행
./run.sh analysis분석 모드 실행
./run.sh test빠른 취약점 확인
./run.sh clean이미지 및 컨테이너 정리
항목내용
Base 이미지ubuntu:jammy-20230916 (패치 이전)
glibc 버전2.35-0ubuntu3.3 (취약)
ld.so 버전2.35-0ubuntu3.3 (취약)
분석 계정researcher / password
glibc 소스/workspace/glibc-source (2.35)
주요 포트1234 (gdbserver)
컨테이너 옵션--privileged, --pid=host