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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
lab-cve-2023-4863 — Docker 기반의 실험실로 CVE-2023-4863(libwebp의 힙 버퍼 오버플로우)을 재현하며, 자동화된 크래시 시연, 패치 버전과 취약 버전 비교, 격리된 네트워크에서의 GUI 기반 브라우저 익스플로잇을 포함합니다. | Kitploit
도구/GitHubGitHub/pixelotes/lab-cve-2023-4863
Vulnerability AnalysisExploitationCTFLearning & EducationBinary ExploitationLabs & Practice
GitHubpixelotes/lab-cve-2023-4863

lab-cve-2023-4863

Docker 기반의 실험실로 CVE-2023-4863(libwebp의 힙 버퍼 오버플로우)을 재현하며, 자동화된 크래시 시연, 패치 버전과 취약 버전 비교, 격리된 네트워크에서의 GUI 기반 브라우저 익스플로잇을 포함합니다.

저장소 보기
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-4863 — libwebp 익스플로잇 연구소

완전히 격리되고 자동화된 Docker 환경에서 CVE-2023-4863(libwebp의 힙 버퍼 오버플로)을 재현합니다. CEFIRE의 윤리적 해킹 모듈 실습을 기반으로 합니다.

이 연구소가 하는 일

사설 네트워크에 8개의 컨테이너를 띄웁니다:

Container역할
attackercraft.c로 exploit.webp를 생성하고, 가짜 피싱 페이지와 함께 HTTP로 제공
victim-cliUbuntu 22.04, libwebp 1.2.2-2ubuntu0.22.04.1 (취약). 익스플로잇을 자동으로 다운로드하여 처리 → 충돌(crash)
victim-patchedUbuntu 22.04, Ubuntu 보안 저장소의 libwebp (패치됨). 동일 익스플로잇 → 제어된 오류, 충돌 없음
victim-guiUbuntu 22.04, XFCE, VNC 및 Firefox 110 (취약). exploit.webp로 브라우저 실제 충돌
victim-gui-patchedUbuntu 22.04, XFCE, VNC 및 Firefox 126 (패치됨). 동일 익스플로잇 → 브라우저 정상 작동
postgresPostgreSQL — Guacamole 인증 및 연결의 백엔드
guacdApache Guacamole 데몬 (프로토콜 프록시)
guacamole웹 인터페이스. SSH 또는 VNC를 통해 모든 컨테이너에 접근 가능하며, 추가 설치 불필요

자동 데모(victim-cli vs victim-patched)는 시작 시 자동으로 실행됩니다. GUI의 시각적 데모는 Guacamole에서 수동 상호작용이 필요합니다.

요구 사항

  • Docker Engine 24+
  • Docker Compose v2
  • 사용 가능한 RAM 약 5GB
  • 디스크 약 10GB (이미지 + 레이어)

연구소 시작

root@kitploit:~
make up

make up은 처음 실행 시 세 가지 작업을 자동으로 수행합니다:

  1. Guacamole SQL 스키마 생성 (공식 이미지에서 initdb.sh 실행)
  2. 컨테이너 이미지 빌드
  3. 모두 시작

첫 번째 빌드는 몇 분 정도 소요됩니다 (기본 이미지 다운로드, PoC 저장소 복제, 패키지 설치). 이후 실행에서는 Docker 캐시를 사용하여 거의 즉시 완료됩니다.

완료되면 Guacamole URL이 출력에 표시됩니다. 피해자 컨테이너는 공격자가 준비되어 익스플로잇을 제공할 때까지 시작되지 않습니다 (healthcheck).

자격 증명

접근사용자비밀번호
Guacamole (웹)

자동 데모 보기 (CLI)

연구소가 실행 중인 상태에서 터미널에서:

root@kitploit:~
# 취약한 피해자에서 충돌 확인
make logs-victim-cli

# 패치된 피해자에서 제어된 응답 확인
make logs-victim-patched

victim-cli에서 볼 내용:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)
*** glibc detected *** double free or corruption (!prev) ***
Aborted (core dumped)

[!] EXIT CODE: 134 (SIGABRT)
[!] CVE-2023-4863 CONFIRMADO

victim-patched에서 볼 내용:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)

[+] EXIT CODE: 1 — Error controlado
[+] CVE-2023-4863 MITIGADO

데스크톱 시각적 데모 (GUI)

가장 시각적인 데모는 victim-gui(취약)와 victim-gui-patched(패치됨)를 XFCE 데스크톱 터미널에서 dwebp를 사용하여 비교하는 것입니다.

단계

  1. 브라우저에서 http://localhost:8888/guacamole 열기
  2. 로그인: guacadmin / guacadmin
  3. 취약한 피해자(Firefox 110):
    • [VÍCTIMA GUI] VNC — Escritorio Chrome 선택
    • XFCE 데스크톱에서 터미널 열기
    • 다음 실행:
      root@kitploit:~
      firefox --no-sandbox http://attacker/index.html
      
    • Firefox 110이 exploit.webp를 렌더링하려고 시도 → 충돌 (SIGABRT, 프로세스 종료)
  4. 패치된 피해자(Firefox 126):
    • [VÍCTIMA GUI PATCH] VNC — Escritorio Chrome patch 선택
    • 동일 명령어 → Firefox 126이 오류를 처리하며 충돌 없음

Firefox를 사용하는 이유 (Chrome 대신)

Mozilla는 releases.mozilla.org에 모든 버전의 영구 공개 아카이브를 유지합니다. Google은 Chrome의 이전 버전 URL을 CDN에서 제거하여 Chrome 116을 안정적으로 다운로드하는 것이 불가능해졌습니다. Firefox 110도 동일하게 취약하며(둘 다 libwebp를 내장), Mozilla 아카이브에서의 다운로드는 안정적이고 재현 가능합니다.

SSH 직접 접근 (Guacamole 없이)

root@kitploit:~
ssh root@localhost -p 2220   # attacker
ssh root@localhost -p 2221   # victim-cli
ssh root@localhost -p 2223   # victim-patched
ssh root@localhost -p 2222   # victim-gui
ssh root@localhost -p 2224   # victim-gui-patched

직접 VNC: localhost:5900 (victim-gui) 및 localhost:5901 (victim-gui-patched).

유용한 명령어

root@kitploit:~
make logs                    # 모든 로그 실시간 보기
make status                  # 컨테이너 상태 확인
make shell-attacker          # 공격자 셸
make shell-victim-cli
make shell-victim-gui
make shell-victim-gui-patched
make down                    # 연구소 중지
make clean                   # 중지 + 이미지 및 네트워크 삭제

참고 사항

Chrome과 libwebp: Chrome은 자체 libwebp 복사본을 번들로 제공합니다(시스템 libwebp 사용 안 함). 버전 ≥ 116.0.5845.187에는 패치가 포함되어 있습니다. Google이 이전 버전 URL을 제거했기 때문에 Dockerfile은 현재 안정 버전(패치됨)으로 폴백합니다. dwebp를 사용한 충돌 데모는 동일하게 유효하며 더 안정적입니다.

격리된 네트워크: 실행 중에는 어떤 컨테이너도 인터넷에 접근할 수 없습니다. 모든 트래픽은 개인 Docker 네트워크 cve4863-lab-net 내에 유지됩니다.

도구 다운로드
guacadmin
guacadmin
모든 컨테이너 SSHroottoor
VNC victim-gui 및 victim-gui-patched—secret