Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-3156-Project — Ambiente de laboratório educacional para CVE-2021-3156 (Baron Samedit) com alvo sudo vulnerável dockerizado, scaffold de exploit, teste canário, análise de causa raiz e comparação com versão corrigida. | Kitploit
Ferramentas/GitHubGitHub/shams-ul-mehmood/cve-2021-3156-project
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubshams-ul-mehmood/cve-2021-3156-project

CVE-2021-3156-Project

Ambiente de laboratório educacional para CVE-2021-3156 (Baron Samedit) com alvo sudo vulnerável dockerizado, scaffold de exploit, teste canário, análise de causa raiz e comparação com versão corrigida.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
17há 1 mêsAinda não revisado

CVE-2021-3156 — Baron Samedit

Estouro de buffer baseado em heap no sudo → Escalonamento local de privilégios

Departamento de Cibersegurança ITSOLERA | Estágio Red Team 2026


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

⚠️ APENAS PARA USO EDUCACIONAL / LABORATÓRIO ISOLADO Todos os testes devem ser realizados exclusivamente dentro do contêiner de laboratório Docker. Nunca execute contra sistemas reais, de produção ou compartilhados.


Índice

  1. Visão Geral do CVE
  2. O Que Torna Este CVE Especial
  3. Estrutura do Projeto
  4. Entregas da Equipe
  5. Início Rápido
  6. Como o Exploit Funciona
  7. Teste Canário de Vulnerabilidade
  8. Uso do exploit.py
  9. Reset do Laboratório e Snapshot
  10. Comparação Corrigido vs Vulnerável
  11. Referências

Visão Geral do CVE

PropriedadeValor
ID do CVECVE-2021-3156
ApelidoBaron Samedit
TipoEstouro de buffer baseado em heap → Escalonamento local de privilégios
Componentesudo — utilitário de privilégios do Linux (set_cmnd() em src/sudo.c)
Pontuação CVSS v37.8 Alto
VetorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Versões Vulneráveissudo 1.8.2 – 1.8.31p2 e 1.9.0 – 1.9.5p1
Versões Corrigidassudo 1.9.5p2 (branch 1.9) / sudo 1.8.32 (branch 1.8)
Versão Alvo do Laboratóriosudo 1.8.31 no Ubuntu 20.04
Patch KB / AdvisorySA: https://www.sudo.ws/security/advisories/unescape_overflow/
Descoberto PorQualys Research Team
Divulgado2021-01-26
Em campo desde (código)~2011-07-09 (sudo 1.8.2) — ~10 anos sem detecção
Autenticação NecessáriaSomente usuário local — NENHUMA permissão sudo necessária

O Que Torna Este CVE Especial

PropriedadeCVE-2021-3156LPE típico do sudo
Requer entrada no sudoers❌ Não✅ Sim
Requer associação ao grupo sudo❌ Não✅ Sim
Requer qualquer acesso sudo anterior❌ Não✅ Sim
Funciona a partir de conta de usuário recém-criada✅ Sim❌ Não
Explora o sistema de permissões❌ Ignora completamente✅ Abusa dele
Superfície de ataqueAnalisador de argumentos (pré-autenticação)Verificação de permissão

Ponto-chave: O estouro ocorre em set_cmnd() — a função que analisa os argumentos — que é executada antes de o sudo consultar /etc/sudoers. Uma conta criada há 10 segundos, com zero permissões, pode explorar isso.


Estrutura do Projeto

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

Entregas da Equipe

Membro 1 — Ambiente de Laboratório e Verificação do CVE

ArquivoDescrição
lab/DockerfileUbuntu 20.04 com sudo 1.8.31 fixado (vulnerável); Python 3 instalado; conta labuser sem acesso sudo
lab/docker-compose.ymlOrquestra o alvo vulnerável + contêiner de referência Ubuntu 22.04 corrigido
lab/evidence_helper.shScript Bash para capturar o estado do sistema (usuário, versão do sudo, canário) antes/depois do exploit
lab/SETUP.mdPasso a passo: construir → iniciar → entrar → verificar a versão do sudo → executar o canário → snapshot
lab/config_notes.mdExplica por que nenhuma configuração incorreta é necessária, configurações de segurança do Docker, referência de credenciais

Membro 2 — Desenvolvimento do Exploit (Script PoC)

ArquivoDescrição
exploit/exploit.pyFramework Python completo: check_platform(), check_sudo_version(), run_canary_test(), get_system_info() + três stubs TODO do exploit (select_heap_strategy, build_overflow_argument, trigger_overflow_and_escalate) com referências detalhadas aos PoCs blasty/worawit
exploit/payloads.txtConceitos de estouro de heap, equivalente a COMPRESSION_TRANSFORM (estrutura de argumentos), três estratégias de heap, modelo de log de tentativas falhas, assinaturas de detecção

Nota: O código funcional do exploit de kernel/heap não está incluído por diretrizes éticas. Os stubs TODO do exploit.py referenciam https://github.com/blasty/CVE-2021-3156 e https://github.com/worawit/CVE-2021-3156 como os PoCs públicos oficiais para sua equipe estudar e integrar.

Membro 3 — Análise de Causa Raiz e Pesquisa

ArquivoDescrição
docs/root_cause_analysis.mdDetalhado: incompatibilidade de tamanho vs cópia em set_cmnd(), off-by-one com exemplos de código, diff do patch, cadeia do exploit, CVSS 7.8 métrica por métrica, linha do tempo de 10 anos, tabela de impacto nas distribuições
docs/references.mdAdvisory da Qualys, MITRE, NVD, projeto sudo, PoC do blasty, PoC do worawit, ExploitDB, GTFOBins, mapeamento CWE
docs/mitigation.mdapt-get install --only-upgrade sudo, canário de verificação, endurecimento AppArmor, monitoramento auditd, tabela de endurecimento

Membro 4 — Coleta de Provas, Relatórios e Integração

ArquivoDescrição
proof/terminal_logs.txtModelo de coleta de evidências (preencher com a saída real do laboratório)
proof/screenshots/Diretório para 7 capturas de tela obrigatórias
report/CVE-2021-3156_Report.docxRelatório profissional com 12 seções: capa, resumo executivo, descrição do CVE, análise de causa raiz, detalhamento do CVSS, etapas de exploração, explicação do código, checklist de provas, mitigação, linha do tempo, referências, aviso de isenção

Início Rápido

1. Construir e Iniciar o Laboratório

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
Baixar ferramenta