Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
like-dbg — Linux 및 MacOS용 완전히 도커화된 Linux 커널 디버깅 환경 | Kitploit
도구/GitHubGitHub/0xricksanchez/like-dbg
ExploitationDebuggersFuzzingCTFBinary Exploitation
GitHub0xricksanchez/like-dbg

like-dbg

Linux 및 MacOS용 완전히 도커화된 Linux 커널 디버깅 환경

저장소 보기
77057226일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

LIKE-DBG

LIKE-DBG

License: MIT Python: 3.12+ Linting: ruff Types: mypy

LIKE-DBG(LInux-KErnel-DeBuGger)는 완전히 컨테이너화된 Linux 커널 디버깅 및 익스플로잇 실습 환경입니다. 커널과 루트 파일시스템을 빌드하거나 가져와 QEMU에서 부팅하고, 대화형 GDB 세션(pwndbg 또는 GEF)으로 진입하며, 모든 요소를 하나의 tmux 창에 연결합니다.

목표는 지루한 설정 작업을 없애 시간을 커널에 쓸 수 있도록 하는 것입니다. 모든 단계가 Docker 내부에서 실행되므로 호스트에 설치해야 하는 것은 Docker, tmux, Python, 그리고 uv뿐입니다. 커널 버전을 선택하거나(또는 CTF 챌린지를 넘겨주고) 명령 하나만 실행하면 전체 심볼과 함께 start_kernel에 도착합니다.

기능

명령 하나로 설정을 확인하고, 커널과 rootfs를 빌드하거나 재사용하고, 게스트를 부팅한 뒤 디버거를 연결합니다:

uv run ./start_kgdb

실행은 당신이 머무는 루프입니다: 커널과 rootfs를 빌드하거나 채택하고, QEMU(Debuggee) 아래에서 부팅하고, GDB(Debugger)를 연결한 다음, 편집하고, 전달하고, 실행하고, 크래시를 일으키고, 근본 원인을 분석하고, 반복합니다.

커널을 얻는 방법은 두 가지입니다:

  • 직접 빌드하기. 버전, 디버그 프로필, 컴파일러를 선택하면 LIKE-DBG가 한 번 다운로드, 구성, 빌드한 뒤 캐시합니다. 이것이 커널 연구와 익스플로잇 개발을 위한 일상적인 주력 방법입니다. docs/build-your-own-kernel.md를 참조하세요.
  • CTF 또는 외부 커널 가져오기. 챌린지의 bzImage/Image(가지고 있다면 vmlinux와 initramfs도 포함)를 넘기면 GDB 아래에서 그대로 부팅합니다. docs/ctf-foreign-kernel.md를 참조하세요.

주요 기능

  • macOS와 Linux에서 실행되며, 호스트는 자동 감지됩니다. Apple Silicon은 네이티브 HVF 가속으로 arm64 게스트를 부팅합니다. Mac에서의 x86_64와 KVM이 없는 Linux는 컨테이너 내 TCG로 폴백하며, KVM이 있는 Linux는 KVM을 사용합니다. 스토리지, 가속, 네트워킹은 호스트별로 선택되고 실행별로 기록됩니다.
  • 아키텍처: x86_64 및 arm64.
  • 디버그 프로필을 갖춘 TOML 구성. 계층화된 TOML 스택(프로젝트 기본값, 개인 로컬 오버라이드, 명명된 시나리오, CLI)과 커널 구성 프래그먼트 및 런타임 기본값으로 해석되는 명명된 프로필(exploit-dev, hardened, kasan, ubsan, lockdep 등)을 제공합니다. 빌드 후 .config 검증은 프로필이 적용되지 않은 경우를 잡아냅니다. exploit-dev(기본값)는 KASLR만 끄며, 프로필을 전환하거나 직접 토글하지 않는 한 SMEP, SMAP, KPTI는 켜진 상태로 유지됩니다(docs/configuration.md 참조).
  • 현대적인 디버거. 커널 실행은 기본적으로 커널 명령 세트(KASLR 베이스, slab, current, 태스크 및 모듈 워킹, 심볼 조회)를 위한 pwndbg를 사용하며, GEF는 한 줄로 전환할 수 있습니다.
  • 익스플로잇 개발 내부 루프. --run과 --upload는 9p 공유 또는 SSH를 통해 익스플로잇을 실행 중인 게스트에 전달합니다. 플래그 없는 단일 .c 파일은 대상 아키텍처용 정적-musl로 자동 컴파일되며, 그 외의 것은 그대로 전달됩니다. exploit/README.md를 참조하세요.
  • 사용자 정의 모듈. 실행 중인 커널에 대해 트리 외부 모듈을 빌드하고 --insmod와 --rmmod로 명령 시 로드합니다. 해당 심볼은 GDB에 자동으로 로드됩니다. modules/README.md를 참조하세요.
  • 크래시 인텔리전스. 바이트 단위로 정확한 시리얼 콘솔 싱크, panic/oops/KASAN/UBSAN 파서, 그리고 심볼화된 백트레이스와 함께 폴트 지점에서 GDB를 트랩하는 자동 중단 기능을 제공합니다. --analyze-crash는 오프라인으로 보고서를 재생성합니다.
  • 동시 세션. 각 부팅은 디버깅 대상의 이름을 딴 자체 tmux 세션, 자체 호스트 포트, 자체 copy-on-write rootfs 오버레이를 가지므로 두 챌린지를 나란히 디버깅할 수 있으며, --run/--insmod는 항상 명령을 입력한 창의 게스트에 적용됩니다.
  • 실행 아티팩트. 모든 세션은 해석된 설정, 호스트 프로필, 명령 기록, 로그, 창 트랜스크립트를 담은 타임스탬프가 붙은 artifacts/runs/<id>/를 기록합니다.

요구 사항

  • Docker
  • tmux
  • Python 3.12 이상
  • uv

docker 그룹의 비루트 사용자로 실행하세요. 크로스 컴파일과 initramfs 작업은 컨테이너 내부(zig cc musl 툴체인)에서 이루어지므로 호스트 크로스 툴체인이 필요하지 않습니다.

빠른 시작

# 1. Install dependencies
uv sync

# 2. Start the project tmux server (loads the shipped .tmux.conf)
tmux -L likedbg -f .tmux.conf new -s LIKE-DBG

# 3. Inside that tmux session: build-or-reuse a kernel, boot it, attach the debugger
uv run ./start_kgdb

첫 실행은 컨테이너 이미지와 커널을 빌드하므로 시간이 걸리지만, 이후 실행은 캐시를 재사용하여 몇 초 만에 시작됩니다.

각 부팅은 디버깅 대상에 따라 세션 이름을 바꾸므로(LIKE-DBG-pawnyable-lk01, LIKE-DBG-6_6_30-exploit-dev), 실행 중인 세션이 다음 세션을 막지 않으며 두 개의 챌린지를 나란히 디버깅할 수 있습니다. C-b d로 분리하세요. tmux -L likedbg ls는 실행 중인 세션을 보여주며, 아래의 =는 tmux의 정확한 일치 형식입니다(이것이 없으면 -2 세션이 선택될 수 있습니다):

tmux -L likedbg attach -t =LIKE-DBG-6_6_30-exploit-dev

여기서 전체 워크플로는 docs/build-your-own-kernel.md를 읽고, 디버깅할 챌린지가 있다면 docs/ctf-foreign-kernel.md를 읽으세요. 번들로 제공되는 취약한 드라이버를 대상으로 전체 루프를 직접 체험하려면 LK01 walkthrough를 따라가세요.

문서

문서다루는 내용
docs/walkthrough-lk01.md여기서 시작하세요: 번들로 제공되는 취약한 드라이버를 대상으로 빌드부터 use-after-free, 크래시 리포트까지 안내하는 엔드투엔드 예제입니다.
docs/build-your-own-kernel.md소스에서 커널을 빌드하고, 부팅한 뒤, 디버깅하며 반복합니다.
docs/ctf-foreign-kernel.md제공된 CTF 또는 외부 커널을 채택하고 익스플로잇을 전달합니다.
docs/configuration.mdTOML 설정 스택, 디버그 프로필, 그리고 모든 설정 항목.
exploit/README.md익스플로잇 개발 루프: 자동 컴파일 경계와 탈출구.
modules/README.md트리 외부 커스텀 모듈과 GDB 심볼 자동 로드.

modules/lk01/에는 의도적으로 취약하게 만든 작은 학습용 드라이버와 크래시 PoC가 포함되어 있으며, 전체 빌드, 로드, 익스플로잇 루프를 위한 예제로 구성되어 있습니다.

쇼케이스

A LIKE-DBG 세션: 디스어셈블리 및 소스 뷰, 스레드 목록, 심볼이 적용된 백트레이스

기여

Python 코드는 src/likedbg/에 있으며 읽기 쉽게 작성되었습니다. just test는 테스트 스위트를 실행하고, just lint는 ruff와 mypy를 실행하며, just build-images는 Dockerfile이나 내장 스크립트 변경 후 컨테이너 이미지를 다시 빌드합니다. 버그 리포트, 기능 요청, PR은 이슈 트래커와 토론 페이지를 통해 환영합니다.

라이선스

MIT. LICENSE를 참조하세요.

도구 다운로드