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

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

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

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

도구 디렉토리

카테고리

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

like-dbg

완전히 도커화된 리눅스 커널 디버깅 환경

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

LIKE-DBG

Code style: black Build Status: flake8 Build Status: shellcheck Build Status: hadolint codecov License: MIT GitHub Release

LIKE-DBG (LInux-KErnel-DeBuGger)는 Linux 커널 디버깅 환경을 설정할 때 필요한 지루한 단계를 자동화하는 것을 목표로 합니다. 저는 커널 익스플로잇 연구에 뛰어들기 시작했고, 기존 솔루션들이 충분히 쓸만하지 않다는 것을 알게 되었습니다. 따라서 이 프로젝트는 연구에 뛰어들기 전에 필요한 모든 사전 단계를 가능한 한 수월하고 재미있게 만들기 위한 시도입니다. 커널 빌드부터 에뮬레이트된 환경에서 실행, 디버거 연결까지 모든 단계는 docker 컨테이너 내부에서 투명하게 처리되어 시스템 요구 사항을 최소한으로 유지합니다. 현재 다음 각 단계를 위한 전용 docker 컨테이너가 있습니다:

  • 커널 빌드
  • 커널과 함께 사용할 루트 파일 시스템 생성
  • 커널 + 파일 시스템을 _debuggee_로 실행
  • 커널에 _debugger_로 연결

Caveats

이 프로젝트는 초기 단계에 있기 때문에, 앞으로 빠르게 변경되고 그 과정에서 호환성을 깨뜨리는 변경(breaking changes)도 도입될 것으로 예상합니다. 개선해야 할 주요 사항은 다음과 같습니다:

  • x86_64와 arm64를 넘어 진정한 다중 아키텍처 지원을 지향하기
  • 최신™ 커널을 빌드하는 데 그치지 않도록 커널 빌더 확장하기
  • Android 커널 지원 추가
  • (통합) 테스트 추가
  • 디버깅 경험을 더욱 향상시키기

Features

좋은 점은, 초기 단계임에도 불구하고 이미 유용한 기능 몇 가지가 존재한다는 것입니다:

  • 일반:
    • 모든 단계를 도커화하여 호스트 시스템 요구 사항 최소화
    • 쉽게 이해할 수 있는 configs/user.ini 구성으로 고도로 사용자 지정 가능한 세션 지원
      • 또는 명령줄을 통해 서로 다른 디버깅 설정에 맞는 구성을 제공할 수 있습니다!
    • Linux 커널 익스플로잇 챌린지를 처리하도록 특별히 설계된 CTF 러너
      • CTF를 돕는 몇 가지 유용한 스크립트가 들어 있는 ctf/misc
    • 코드 품질 관리:
      • python 코드용 black 포매터
      • 모든 python 코드용 flake8 린터
      • 셸 스크립트용 shellcheck 린터
      • Dockerfile용 hadolint 린터
    • 운영 체제에 구애받지 않으며, 즉 다음 환경에서 정상적으로 실행됩니다:
      • Debian/Ubuntu
      • Arch Linux/Manjaro
      • Fedora
  • 커널 빌더:
    • 다중 아키텍처: x86_64, arm64
    • 커널 빌드에 gcc와 clang 중에서 선택 가능
    • 구성 모드:
      • generic-mode,
      • syzkaller-mode,
      • custom-mode, 또는
      • 사용 가능한 커널 config 제공
    • 빌드할 대상 버전을 세밀하게 선택할 수 있음:
      • 커밋 해시
      • 릴리스 태그 (예: 5.10-rc)
      • Major-Minor-Patch (예: 5.10.77)
    • 패치 파일 자동 적용 기능
    • 사용자 정의 커널 모듈을 추가할 수 있는 기본 기능
  • 루트 파일 시스템 빌더:
    • debootstrap 기반
    • 커널 아키텍처에 맞는 파일 시스템 자동 생성
    • 사용자 지정 기능:
      • 파일 시스템에 포함할 패키지
      • 모든 것의 기반이 될 Debian 릴리스 버전
  • 디버기:
    • QEMU 기반
    • configs/*.ini 파일 내에서 QEMU 런타임 옵션 사용자 지정
  • 디버거:
    • GDB (multiarch) 기반이며 다음 중 하나와 함께 사용:
      • GEF 및 GEF-extras, 또는
      • pwndbg
    • 사용자가 io/scripts/gdb_script에 GDB 스크립트를 지정하여 시나리오에 맞춘 디버깅 경험을 할 수 있음

Requirements

시작하려면 시스템에 다음 요구 사항이 갖추어져 있는지 확인해야 합니다:

  • docker
  • tmux
  • python>=3.11
  • poetry # https://python-poetry.org/docs/

예를 들어 VPS에서 테스트 목적으로 이 도구를 root 사용자로 실행하지 않는 것이 좋습니다. 물론 잘 작동할 수도 있지만, 일반적으로 docker 및 sudo 그룹에 포함시킬 전용 비-root 사용자를 만들 것을 적극 권장합니다!

Note: 사용자 지정 TMUX 구성을 사용하는 경우 첫 번째 팬(pane)이 0에서 시작하는지 확인하세요!

Optional

이 섹션에서는 LIKE-DBG를 실행하는 데 필수는 아니지만 있으면 좋고 디버깅이나 익스플로잇 작성 시 큰 도움이 되는 도구들을 다룹니다.

  • musl-gcc
  • ctags
  • ropr

Setup

like-dbg 디렉터리 안에서 poetry install을 실행하세요.

Configuration

커널 디버깅 경험을 미세 조정하는 것은 이 프로젝트의 목표 중 하나입니다. 현재 모든 조정 가능한 옵션은 configs/system.ini와 configs/user.ini 두 구성 파일에 노출되어 있습니다. 일부 필드는 주로 개발적인 이유로 변경하지 않는 것이 좋습니다. 하지만 환경을 필요에 맞게 사용자 지정하는 필드들은 모두 간단한 주석이 달려 있어 설명 없이도 이해할 수 있을 것입니다.

Usage

Note: 처음 사용 시 poetry install을 실행하세요.

구성을 작성하거나 수정한 후에는 사용법이 시나리오에 따라 달라집니다. configs/user.ini 구성을 기반으로 하는 가장 쉬운 시작 방법은 다음과 같습니다:

tmux -f .tmux.conf
poetry shell
# This checks out a kernel, builds it, creates a root file system and starts the debugger and debuggee eventually
./start_kgdb.py

자동으로 생성되는 파일 시스템에는 2명의 사용자가 있습니다:

  • 비밀번호가 없는 root
  • user:user

이는 어느 쪽 관점에서든 쉽게 개발하고 익스플로잇할 수 있도록 하기 위함입니다.

Extended Usage

# If you want to try a CTF challenge where you were given a (compressed) Linux Image and a root filesystem try:
./start_kgdb.py --ctf <Image> <RootFS>

# If you want to kill the current debugging session
./start_kgdb.py -k

# If you want to provide a custom 'user.ini' for a specific debugging setup
./start_kgdb.py -c <path_to_cfg> [other_args]

# If you want to test some partial functionality of LIKE-DBG
# Stage 1: Download Kernel
# Stage 2: Stage 1 & unpack Kernel
# Stage 3: Stage 2 & build Kernel
# Stage 4: Only build a root file system
# Stage 5: Stage 3+4 & start debuggee
./start_kgdb.py -p <stage_nr>

# Update all containers
./start_kgdb.py -u

Examples

examples 하위 디렉터리에는 LIKE_DBG가 특정 커널 디버깅 작업에 어떻게 도움이 될 수 있는지 보여주는 샘플이 들어 있습니다. 각 예제에는 예제를 재현하는 데 필요한 정보가 담긴 전용 README.md도 포함되어 있습니다.

Showcase

img/example.png

Hacking

python 코드는 꽤 읽기 쉽기 때문에, 여러분의 아이디어로 프로젝트를 자유롭게 확장하세요. 모든 PR은 매우 환영합니다 :)! 그 외에도 기능 요청 이슈를 만들거나 discussions 페이지로 가서 멋진 새 기능에 대해 브레인스토밍해도 좋습니다!

추신: 로고를 제공하고 싶다면 부담 없이 하세요.

도구 다운로드