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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-3156-Project — Ambiente di laboratorio didattico per CVE-2021-3156 (Baron Samedit) con un target sudo vulnerabile dockerizzato, scaffold di exploit, test canary, analisi delle cause profonde e confronto con la versione patchata. | Kitploit
Strumenti/GitHubGitHub/shams-ul-mehmood/cve-2021-3156-project
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubshams-ul-mehmood/cve-2021-3156-project

CVE-2021-3156-Project

Ambiente di laboratorio didattico per CVE-2021-3156 (Baron Samedit) con un target sudo vulnerabile dockerizzato, scaffold di exploit, test canary, analisi delle cause profonde e confronto con la versione patchata.

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
Vedi Repository
332 mesi faNon ancora revisionato

CVE-2021-3156 — Baron Samedit

Overflow del Buffer Basato su Heap in sudo → Escalation Locale dei Privilegi

Dipartimento di Cybersecurity ITSOLERA | Tirocinio Red Team 2026


  ██████╗  █████╗ ██████╗  ██████╗ ███╗   ██╗    ███████╗ █████╗ ███╗   ███╗███████╗██████╗ ██╗████████╗
  ██╔══██╗██╔══██╗██╔══██╗██╔═══██╗████╗  ██║    ██╔════╝██╔══██╗████╗ ████║██╔════╝██╔══██╗██║╚══██╔══╝
  ██████╔╝███████║██████╔╝██║   ██║██╔██╗ ██║    ███████╗███████║██╔████╔██║█████╗  ██║  ██║██║   ██║
  ██╔══██╗██╔══██╗██╔══██╗██║   ██║██║╚██╗██║    ╚════██║██╔══██║██║╚██╔╝██║██╔══╝  ██║  ██║██║   ██║
  ██████╔╝██║  ██║██║  ██║╚██████╔╝██║ ╚████║    ███████║██║  ██║██║ ╚═╝ ██║███████╗██████╔╝██║   ██║
  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝    ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═════╝ ╚═╝   ╚═╝

⚠️ SOLO PER USO DIDATTICO / LABORATORIO ISOLATO Tutti i test devono essere eseguiti esclusivamente all'interno del container Docker di laboratorio. Non eseguire mai su sistemi reali, di produzione o condivisi.


Indice dei Contenuti

  1. Panoramica della CVE
  2. Cosa Rende Speciale Questa CVE
  3. Struttura del Progetto
  4. Risultati del Team
  5. Avvio Rapido
  6. Come Funziona l'Exploit
  7. Test Canary della Vulnerabilità
  8. Utilizzo di exploit.py
  9. Reset e Snapshot del Lab
  10. Confronto Patchato vs Vulnerabile
  11. Riferimenti

Panoramica della CVE

ProprietàValore
ID CVECVE-2021-3156
SoprannomeBaron Samedit
TipoOverflow del buffer basato su heap → Escalation locale dei privilegi
Componentesudo — utilità di privilegio Linux (set_cmnd() in src/sudo.c)
Punteggio CVSS v37.8 Alto
VettoreCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Versioni vulnerabilisudo 1.8.2 – 1.8.31p2 e 1.9.0 – 1.9.5p1
Versioni patchatesudo 1.9.5p2 (branch 1.9) / sudo 1.8.32 (branch 1.8)
Versione target del labsudo 1.8.31 su Ubuntu 20.04
Patch KB / AdvisorySA: https://www.sudo.ws/security/advisories/unescape_overflow/
Scoperta daQualys Research Team
Divulgata2021-01-26
In circolazione dal (codice)~2011-07-09 (sudo 1.8.2) — ~10 anni non rilevata
Autenticazione richiestaSolo utente locale — NESSUNA autorizzazione sudo necessaria

Cosa Rende Speciale Questa CVE

ProprietàCVE-2021-3156LPE sudo tipica
Richiede voce sudoers❌ No✅ Sì
Richiede appartenenza al gruppo sudo❌ No✅ Sì
Richiede accesso sudo precedente❌ No✅ Sì
Funziona da account utente appena creato✅ Sì❌ No
Sfrutta il sistema dei permessi❌ Lo bypassa completamente✅ Ne abusa
Superficie d'attaccoParser degli argomenti (pre-autenticazione)Controllo dei permessi

Concetto chiave: l'overflow avviene in set_cmnd() — la funzione che analizza gli argomenti — che viene eseguita prima che sudo consulti /etc/sudoers. Un account creato 10 secondi fa con zero permessi può sfruttare questa vulnerabilità.


Struttura del Progetto

CVE-2021-3156-Project/
│
├── README.md                        ← you are here
│
├── lab/                             ← Member 1: Lab Environment
│   ├── Dockerfile                   ← Ubuntu 20.04 + sudo 1.8.31 (pinned)
│   ├── docker-compose.yml           ← vulnerable target + patched reference
│   ├── evidence_helper.sh           ← pre/post-exploit state capture
│   ├── SETUP.md                     ← step-by-step VM/Docker guide
│   └── config_notes.md              ← CVE conditions & container details
│
├── exploit/                         ← Member 2: Exploit Development
│   ├── exploit.py                   ← Python LPE framework + canary test
│   └── payloads.txt                 ← heap overflow research notes
│
├── docs/                            ← Member 3: Research & Documentation
│   ├── root_cause_analysis.md       ← set_cmnd() deep dive + off-by-one
│   ├── references.md                ← all sources, PoCs, CWE mapping
│   └── mitigation.md                ← sudo upgrade + hardening checklist
│
├── proof/                           ← Member 4: Evidence Collection
│   ├── screenshots/                 ← exploitation screenshots
│   └── terminal_logs.txt            ← command output template + logs
│
└── report/
    └── CVE-2021-3156_Report.docx    ← Member 4: Final professional report

Risultati del Team

Membro 1 — Ambiente di Laboratorio e Verifica della CVE

FileDescrizione
lab/DockerfileUbuntu 20.04 con sudo 1.8.31 fissato (vulnerabile); Python 3 installato; account labuser SENZA accesso sudo
lab/docker-compose.ymlOrchestra il target vulnerabile + container di riferimento Ubuntu 22.04 patchato
lab/evidence_helper.shScript Bash per acquisire lo stato del sistema (utente, versione sudo, canary) prima/dopo l'exploit
lab/SETUP.mdPasso dopo passo: build → avvio → accesso → verifica versione sudo → esecuzione canary → snapshot
lab/config_notes.mdSpiega perché non è necessaria alcuna configurazione errata, impostazioni di sicurezza Docker, riferimento credenziali

Membro 2 — Sviluppo dell'Exploit (Script PoC)

FileDescrizione
exploit/exploit.pyFramework Python completo: check_platform(), check_sudo_version(), run_canary_test(), get_system_info() + tre stub TODO dell'exploit (select_heap_strategy, build_overflow_argument, trigger_overflow_and_escalate) con riferimenti dettagliati ai PoC di blasty/worawit
exploit/payloads.txtConcetti sull'overflow dell'heap, equivalente COMPRESSION_TRANSFORM (struttura degli argomenti), tre strategie sull'heap, template di log dei tentativi falliti, firme di rilevamento

Nota: il codice funzionante dell'exploit kernel/heap non è incluso per linee guida etiche. Gli stub TODO di exploit.py fanno riferimento a https://github.com/blasty/CVE-2021-3156 e a https://github.com/worawit/CVE-2021-3156 come PoC pubblici autorevoli da studiare e integrare per il vostro team.

Membro 3 — Analisi delle Cause Profonde e Ricerca

FileDescrizione
docs/root_cause_analysis.mdDettagliato: discrepanza tra dimensione e copia in set_cmnd(), off-by-one con esempi di codice, diff della patch, catena dell'exploit, CVSS 7.8 metrica per metrica, cronologia di 10 anni, tabella dell'impatto sulle distribuzioni
docs/references.mdAdvisory Qualys, MITRE, NVD, progetto sudo, PoC blasty, PoC worawit, ExploitDB, GTFOBins, mappatura CWE
docs/mitigation.mdapt-get install --only-upgrade sudo, canary di verifica, hardening AppArmor, monitoraggio auditd, tabella di hardening

Membro 4 — Raccolta delle Prove, Report e Integrazione

FileDescrizione
proof/terminal_logs.txtTemplate per la raccolta delle prove (da compilare con l'output reale del lab)
proof/screenshots/Directory per i 7 screenshot richiesti
report/CVE-2021-3156_Report.docxReport professionale in 12 sezioni: copertina, sommario esecutivo, descrizione della CVE, analisi delle cause profonde, dettaglio CVSS, fasi di sfruttamento, spiegazione del codice, checklist delle prove, mitigazione, cronologia, riferimenti, disclaimer

Avvio Rapido

1. Build e Avvio del Lab

cd CVE-2021-3156-Project/lab/

# Build the vulnerable image (downloads Ubuntu 20.04, pins sudo 1.8.31)
docker compose build

# Start both containers
docker compose up -d

# Confirm containers are running
docker compose ps

Atteso:

NAME                      STATUS
baron_samedit_target      running
baron_samedit_patched     running
Scarica lo strumento