Ethical Hacking Academy · Aula

Abuso de SUID e Sudo

Configurações incorretas

Aula 2 de 413 etapas

Abuso de SUID e Sudo é uma aula grátis de Ethical Hacking Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ethical Hacking Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ethical Hacking Academy inclui 4 aulas no total.

O Bit SUID

O bit de permissão SUID faz um arquivo ser executado com os privilégios de seu proprietário, e não do usuário que o iniciou. Quando o proprietário é root, um binário SUID é executado como root — algo útil para ferramentas como passwd, mas perigoso quando explorado.

-rwsr-xr-x  1 root root  /usr/bin/passwd
# the s in rws = SUID bit

Encontrando Binários SUID

Enumere todos os arquivos SUID e compare-os com uma referência conhecida como segura. Qualquer item incomum — um editor de texto, um interpretador ou um binário personalizado — é um candidato.

find / -perm -4000 -type f 2>/dev/null

GTFOBins

GTFOBins é um catálogo organizado de maneiras pelas quais binários Unix padrão podem ser explorados para escapar de restrições, escalar privilégios ou ler e gravar arquivos quando recebem permissões SUID ou sudo. Sempre compare um binário descoberto com o GTFOBins.

# gtfobins.github.io -> search the binary name

Explorando o find com SUID

Se find tiver o bit SUID, sua opção -exec executará comandos como root, concedendo instantaneamente um shell root.

find . -exec /bin/sh -p \; -quit
# -p preserves the elevated privileges

Escapes para Shell com SUID

Muitos interpretadores e paginadores iniciam shells. Um vim, less, awk ou python com SUID pode abrir um shell root.

awk "BEGIN {system(\"/bin/sh -p\")}"
# or in less:  !/bin/sh

Configurações Incorretas do Sudo

Execute sudo -l para listar os comandos permitidos. Entradas que permitam executar um binário explorável como root, ou usar NOPASSWD, são oportunidades imediatas. O comando não precisa ser um shell — o GTFOBins mostra escapes para muitos comandos.

sudo -l
# (ALL) NOPASSWD: /usr/bin/vim

Sudo em um Editor ou Paginador

Se você puder executar sudo vim (ou variantes de less, more, man e nano), poderá abrir um shell como root de dentro do programa.

sudo vim -c ":!/bin/sh"
# inside less:  sudo less file  ->  !/bin/sh

O Truque do LD_PRELOAD

Se o sudo preservar LD_PRELOAD (por meio de env_keep), você poderá carregar uma biblioteca compartilhada maliciosa que será executada como root quando o comando sudo iniciar.

sudo -l  # look for env_keep+=LD_PRELOAD
sudo LD_PRELOAD=/tmp/evil.so program

Vulnerabilidades de Versões do Sudo

Versões específicas do sudo têm falhas — por exemplo, o estouro de heap Baron Samedit (CVE-2021-3156) e o desvio -u#-1 (CVE-2019-14287). Compare sudo --version com os CVEs conhecidos.

sudo --version
# vulnerable < 1.9.5p2 -> Baron Samedit

Binários SUID Personalizados

Às vezes, desenvolvedores distribuem auxiliares SUID personalizados que chamam outros programas pelo nome, sem um caminho absoluto. Se você controlar o PATH, poderá sequestrar essa chamada — uma introdução às técnicas de exploração do PATH abordadas a seguir.

Proteção e Ética

Os defensores devem reduzir ao mínimo os binários SUID, usar caminhos absolutos, remover privilégios antecipadamente e manter o sudo corrigido, com regras restritas. Como profissional de testes, explore esses recursos somente dentro do escopo autorizado.

Verificação Rápida

Teste seus conhecimentos sobre SUID e sudo.

Recapitulação

Você aprendeu sobre a exploração de SUID e sudo:

  • O SUID executa um binário como seu proprietário (geralmente root)
  • Compare os binários descobertos com o GTFOBins
  • Escapes para shell por meio de SUID/sudo find, vim, awk e less
  • LD_PRELOAD e os CVEs do sudo (Baron Samedit) também permitem escalonamento

A seguir: trabalhos do cron e exploração do PATH.

Grátis para começar

Aprenda Ethical Hacking Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
31
Aulas
111

Perguntas Frequentes

A aula “Abuso de SUID e Sudo” é grátis?

Sim — o texto completo de “Abuso de SUID e Sudo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ethical Hacking Academy, atualize para CoddyKit PRO. O curso de Ethical Hacking Academy inclui 4 aulas no total.

O que vou aprender em “Abuso de SUID e Sudo”?

Configurações incorretas Você pratica Ethical Hacking Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ethical Hacking Academy?

Nenhuma experiência prévia é necessária. Ethical Hacking Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Abuso de SUID e Sudo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ethical Hacking Academy?

Sim. Cada aula de Ethical Hacking Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Enumeração
  2. Abuso de SUID e Sudo
  3. Tarefas do Cron e PATH
  4. Exploits do kernel
← Voltar para Ethical Hacking Academy