Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
CVE-2021-3156-Baron-Samedit — Un semplice lab Docker e setup Exploit per CVE-2021-3156 - "Baron Samedit". | Kitploit
Strumenti/GitHubGitHub/theleopard65/cve-2021-3156-baron-samedit
Escalation di PrivilegiSicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitShellcodeApprendimento e FormazioneBinary ExploitationLab e Pratica

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
GitHub
theleopard65/cve-2021-3156-baron-samedit

CVE-2021-3156-Baron-Samedit

Un semplice lab Docker e setup Exploit per CVE-2021-3156 - "Baron Samedit".

Vedi Repository
15 mesi faNon ancora revisionato

CVE-2021-3156 - Lab ed Exploit "Baron Samedit"

Questo repository fornisce un ambiente autonomo e didattico per comprendere e sfruttare CVE-2021-3156, un buffer overflow basato su heap in sudo che consente a qualsiasi utente non privilegiato di ottenere privilegi di root su sistemi vulnerabili (versioni di sudo precedenti alla 1.9.5p2).

Questo materiale è destinato esclusivamente a formazione sulla sicurezza e ricerca autorizzate.

L'uso non autorizzato/antietico contro sistemi che non possiedi è illegale.

Contenuti del repository

  • Dockerfile - Crea un container Ubuntu 20.04 con sudo 1.8.31 (vulnerabile)
  • exploit.c - Payload principale dell'exploit (adattato per Ubuntu 20.04)
  • shellcode.c - Costruttore di libreria condivisa che avvia una shell di root
  • Makefile - Compila l'exploit e la libreria dannosa

Per Iniziare

Prerequisiti

  • Docker (o Docker Engine)
  • Conoscenza di base del linguaggio C
  • Conoscenza di base di Make
  • Conoscenza degli strumenti a riga di comando

Creazione ed Esecuzione del Laboratorio

  1. Clona questo repository:
root@kitploit:~
git clone https://github.com/Theleopard65/CVE-2021-3156-Baron-Samedit.git
cd CVE-2021-3156-Baron-Samedit
  1. Crea l'immagine Docker:
root@kitploit:~
docker build -t cve-2021-3156-lab .
  1. Avvia il container:
    • Verrai autenticato come utente poc all'interno del container.
    • La directory di lavoro è /home/exploit, che contiene già i file sorgente.
root@kitploit:~
docker run -it --rm --name baron_samedit_lab cve-2021-3156-lab

Compilazione ed Esecuzione dell'Exploit

  • All'interno del container, l'exploit è già compilato dal processo di build Docker. Per eseguirlo manualmente:
root@kitploit:~
cd /home/exploit
./exploit

In caso di successo, dovresti vedere un prompt di shell di root (#). L'exploit sovrascrive la struct service_user nell'heap di sudo e lo costringe a caricare la libreria dannosa libnss_x/x.so.2, il cui costruttore esegue lo shellcode.

Compilazione Manuale (se necessaria)

  • Per ricompilare:
root@kitploit:~
make clean && make

Questo crea:

  • exploit - il binario principale dell'exploit
  • libnss_x/x.so.2 - la libreria condivisa dannosa

Come Funziona l'Exploit

CVE-2021-3156 è un overflow basato su heap nella gestione degli argomenti della riga di comando di sudoedit. Fornendo un buffer appositamente predisposto e variabili d'ambiente, un attaccante può sovrascrivere una struct service_user nell'heap. Questa struct contiene un puntatore a funzione che, una volta dirottato, può essere fatto puntare a una libreria dannosa caricata tramite il meccanismo NSS (Name Service Switch). Il costruttore della libreria esegue quindi codice arbitrario con privilegi di root.

Questo exploit:

  1. Alloca un grande buffer (buf) per innescare l'overflow.
  2. Utilizza le variabili d'ambiente LC_MESSAGES, LC_TELEPHONE e LC_MEASUREMENT per modellare il layout dell'heap.
  3. Esegue l'overflow nella struct service_user di files, sostituendo il suo nome con un percorso verso la nostra libreria dannosa (libnss_x/x.so.2).
  4. Il costruttore della libreria dannosa (in shellcode.c) esegue setuid(0), setgid(0) e avvia una shell di root.

Pulizia

Per rimuovere l'immagine Docker:

root@kitploit:~
docker rmi cve-2021-3156-lab

Riferimenti

  • Advisory originale di Qualys
  • Proof of Concept di Blasty
  • Voce NIST NVD per la CVE

Licenza

Questo progetto è fornito esclusivamente a scopo didattico. Usalo a tuo rischio.


Scarica lo strumento