Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
like-dbg — Ambiente di debugging del kernel Linux completamente dockerizzato | Kitploit
Strumenti/GitHubGitHub/0xricksanchez/like-dbg
ExploitDebuggerFuzzingCTFBinary Exploitation
GitHub0xricksanchez/like-dbg

like-dbg

Ambiente di debugging del kernel Linux completamente dockerizzato

Vedi Repository
770571620 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

LIKE-DBG

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

LIKE-DBG (LInux-KErnel-DeBuGger) mira ad automatizzare i passaggi noiosi quando si cerca di impostare un ambiente di debug del kernel Linux. Ho deciso di addentrarmi nella ricerca sullo sfruttamento del kernel e ho trovato le soluzioni esistenti non abbastanza utilizzabili. Pertanto, questo è un tentativo di rendere tutti i passaggi preliminari necessari prima ancora di poter pensare a immergersi nella ricerca il più semplici e divertenti possibile. Tutti i passaggi, dalla compilazione di un kernel, all'esecuzione in un ambiente emulato e al collegamento di un debugger, vengono eseguiti in modo trasparente all'interno di container docker per mantenere minimi i requisiti di sistema. Attualmente, c'è un container docker dedicato per ciascuno dei seguenti passaggi:

  • Compilazione del kernel
  • Creazione di un file system root da usare con il kernel
  • Avvio del kernel + file system come debuggee
  • Collegamento al kernel come debugger

Avvertenze

Poiché questo progetto è nelle sue fasi iniziali, mi aspetto che le cose cambino rapidamente, introducendo anche breaking changes lungo il percorso. I punti principali su cui migliorare sono:

  • Raggiungere un vero supporto multi-architettura oltre x86_64 e arm64
  • Estendere il builder del kernel non solo per riuscire a compilare i kernel recenti™
  • Aggiungere il supporto per i kernel Android
  • Aggiungere test (di integrazione)
  • Elevare ulteriormente l'esperienza di debug

Funzionalità

Dal lato positivo, nonostante le fasi iniziali, alcune funzionalità utili sono già presenti:

  • Generale:

    • Requisiti minimi del sistema host grazie alla dockerizzazione di ogni passaggio
    • Una configurazione configs/user.ini facile da comprendere che consente sessioni altamente personalizzabili
      • Oppure fornisci configurazioni diverse per diversi setup di debug tramite riga di comando!
    • Esecutore CTF progettato specificamente per gestire sfide di sfruttamento del kernel Linux
      • ctf/misc che contiene alcuni script utili per aiutare nei CTF
    • Misure di qualità del codice:
      • black formatter per il codice python
      • flake8 linter per tutto il codice python
      • shellcheck linter per gli script shell
      • hadolint linter per i Dockerfile
    • Indipendente dal sistema operativo, il che significa che dovrebbe funzionare senza problemi su:
      • Debian/Ubuntu
      • Arch Linux/Manjaro
      • Fedora
  • Builder del kernel:

    • Multi-architettura: x86_64, arm64
    • Scegli tra gcc e clang per compilare il kernel
    • Modalità di configurazione:
      • modalità generica,
      • modalità syzkaller,
      • modalità personalizzata, oppure
      • fornisci una configurazione del kernel utilizzabile
    • Selezione della versione a grana fine da cui compilare:
      • Hash del commit
      • Tag di release (es.: 5.10-rc)
      • Major-Minor-Patch (es.: 5.10.77)
    • Capacità di applicare automaticamente file di patch
    • Capacità di base di aggiungere moduli kernel personalizzati
  • Builder del file system root:

    • Basato su debootstrap
    • Generazione automatica di un file system che corrisponde all'architettura del kernel
    • Possibilità di personalizzare:
      • i pacchetti desiderati nel file system
      • la versione di Debian su cui basare tutto
  • Debuggee:

    • Basato su QEMU
    • Personalizzazione delle opzioni di runtime di QEMU dai file configs/*.ini.
  • Debugger:

    • Basato su GDB (multiarch) con
      • GEF e GEF-extras, oppure
      • pwndbg
    • Consente agli utenti di specificare uno script GDB in io/scripts/gdb_script per un'esperienza di debug su misura per lo scenario

Requisiti

Per iniziare, devi assicurarti di avere i seguenti requisiti installati sul tuo sistema:

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

Si consiglia di non eseguirlo come utente root, ad esempio per scopi di test su un VPS. Potrebbe funzionare comunque, ma in generale consiglio vivamente di creare un utente dedicato non root da inserire nei gruppi docker e sudo!

Nota: Se stai usando una configurazione TMUX personalizzata, assicurati che il primo pannello inizi con 0!

Opzionale

Questa sezione copre strumenti che non sono richiesti per eseguire LIKE-DBG ma che sono utili da avere e aiutano notevolmente durante il debug o la scrittura di un exploit.

  • musl-gcc
  • ctags
  • ropr

Installazione

All'interno di like-dbg esegui poetry install.

Configurazione

Mettere a punto l'esperienza di debug del kernel è uno degli obiettivi di questo progetto. Attualmente, tutte le opzioni personalizzabili sono esposte nei due file di configurazione: configs/system.ini e configs/user.ini. Si consiglia di non modificare alcuni campi poiché servono principalmente per motivi di sviluppo. Tuttavia, tutti quelli per personalizzare l'ambiente secondo le tue esigenze dovrebbero essere autoesplicativi, poiché ciascuno è accompagnato da un breve commento.

Utilizzo

Nota: Al primo utilizzo esegui poetry install.

Una volta che hai scritto/adattato una configurazione, l'utilizzo dipende dal tuo scenario. Il modo più semplice per iniziare, basato sulla configurazione configs/user.ini, è il seguente:

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

Ci sono 2 utenti per i file system creati automaticamente:

  • root senza password
  • user:user

Questo è pensato per permetterti di sviluppare e sfruttare facilmente da entrambe le prospettive.

Utilizzo esteso

# 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

Esempi

Scarica lo strumento