Escalação de Privilégios Linux: Guia de Técnicas (2026)

Penetration Testing
14 min de leitura
Escalação de Privilégios Linux: Guia de Técnicas (2026)
Nesta página
  1. O que é escalação de privilégios Linux?
  2. Passo 1 - Enumerar a máquina
  3. Binários SUID e SGID
  4. Configurações incorretas de sudo
  5. Capabilities do Linux
  6. Abuso de tarefas cron
  7. Abuso de PATH e de arquivos graváveis
  8. Exploits de kernel
  9. Guia rápido de escalação de privilégios Linux
  10. Como se defender
  11. Considerações legais e éticas
  12. Perguntas frequentes
  13. Seus próximos passos

Você tem um shell em uma máquina Linux como www-data ou alguma conta de serviço sem graça, e o objetivo, root, está a uma configuração incorreta de distância. A escalação de privilégios Linux é o trabalho de encontrar essa configuração incorreta e transformá-la em um shell root. Este guia cobre a enumeração que revela o caminho e as técnicas específicas, binários SUID, regras sudo, capabilities e tarefas cron, que permitem percorrê-lo. Pratique cada uma delas contra alvos reais no curso Escalação de Privilégios Linux da HackerDNA enquanto lê.

Isto faz parte do tema mais amplo de escalação de privilégios, que abrange tanto Linux quanto Windows. Aqui ficamos no Linux e vamos mais fundo: os comandos exatos a executar, o que sua saída significa, e como confirmar que você realmente virou root em vez de supor.

Resumo: A escalação de privilégios Linux é o processo de passar de um shell de baixo privilégio para root abusando de uma configuração incorreta local. Comece pela enumeração: usuário e grupos atuais, sudo -l, binários SUID, capabilities, tarefas cron e versão do kernel. Os caminhos confiáveis são binários SUID exploráveis via GTFOBins, regras sudo em interpretadores, capabilities perigosas, scripts cron graváveis e sequestro de PATH, com exploits de kernel como o PwnKit em último caso. Automatize a enumeração com o LinPEAS e confirme cada achado à mão antes de explorá-lo.

O que é escalação de privilégios Linux?

O que é escalação de privilégios Linux? A escalação de privilégios Linux é a técnica de obter em um sistema Linux permissões superiores às da sua conta atual, geralmente passando de um usuário padrão ou de serviço para root. Ela explora configurações incorretas locais, e não a falha remota que lhe deu o shell no início.

O acesso inicial raramente o coloca como root. Uma aplicação web vulnerável roda como www-data, um serviço de banco de dados comprometido roda sob seu próprio usuário restrito, uma chave SSH lhe dá uma conta de login comum. Nenhum deles consegue ler /etc/shadow, instalar uma porta dos fundos persistente ou pivotar com controle total. O root consegue. A escalação é a ponte entre os dois, e o MITRE ATT&CK a rastreia como uma tática própria, TA0004, porque quase toda intrusão séria depende dela.

Boa notícia para quem aprende: a escalação no Linux é, na esmagadora maioria, uma questão de configuração, não de corrupção de memória. Você não precisa escrever uma única linha de assembly para virar root na maioria das máquinas. Você precisa enumerar com cuidado e reconhecer um punhado de padrões. Essa é uma habilidade construída pela repetição, não pelo talento.

Passo 1 - Enumerar a máquina

A enumeração é onde todo shell root começa. Antes de tentar qualquer coisa, você monta um retrato do sistema: quem você é, o que pode executar, e onde a máquina confia em algo que não deveria.

Comece pelos três comandos que não custam nada e muitas vezes entregam a resposta de cara:

id                    # your UID, GID, and group memberships
sudo -l               # what you can run as root, with or without a password
find / -perm -4000 -type f 2>/dev/null   # every SUID binary on the system

A participação em grupos naquela primeira linha importa mais do que os iniciantes imaginam. Se o id mostrar você no grupo docker, lxd ou disk, você tem um caminho quase imediato para root antes de olhar qualquer outra coisa, já que cada um desses grupos pode ser abusado para ler ou escrever além do limite do seu usuário.

A partir daí, amplie a rede: verifique o kernel com uname -a, liste as tarefas agendadas em /etc/crontab e /etc/cron.d/, procure capabilities com getcap -r / 2>/dev/null, e leia quaisquer arquivos de configuração legíveis por todos nas raízes web e nos diretórios pessoais em busca de credenciais armazenadas. Na prática, senhas de banco de dados jogadas em um config.php ou em um arquivo .env são um dos caminhos reais mais comuns, e nenhuma ferramenta automatizada as prioriza para você.

💻
Pratique agora: o SUID Privilege Hunter coloca você em um alvo Linux real com um shell de baixo privilégio e pede que você enumere, encontre o binário SUID vulnerável e abuse dele para chegar ao root. No navegador, sem instalação, gratuito para começar.

Fazer tudo isso à mão leva tempo, então a maioria dos testadores executa um script de enumeração automatizado para varrer a máquina em uma passada. Nosso guia do LinPEAS cobre a instalação, a execução sem tocar o disco e a leitura de sua saída colorida: vermelho sobre amarelo sinaliza um caminho de escalação de alta probabilidade. O script não explora nada. Ele diz onde olhar; você ainda tem de abrir a porta.

Binários SUID e SGID

O bit SUID (Set User ID) diz ao Linux para executar um binário com as permissões de seu dono, não do usuário que o lançou. Quando o dono é root, qualquer usuário que possa executar esse binário roda o código dele como root durante a execução. Isso é intencional para ferramentas como o passwd, que precisa escrever em /etc/shadow. Vira um caminho de escalação quando o bit SUID cai sobre um binário que pode ser induzido a executar comandos arbitrários.

Sua saída de find / -perm -4000 lista todos os candidatos. A maioria das entradas são binários de sistema padrão. O que você procura é qualquer coisa incomum: uma cópia de find, nmap, vim, python, ou uma ferramenta interna caseira com o bit ativado. Cruze cada entrada desconhecida com o GTFOBins, um catálogo de binários Unix e da sintaxe exata para abusar deles.

O exemplo clássico: se o find carrega o próprio bit SUID, este único comando lhe dá um shell root, porque o find executa o shell gerado com seus próprios privilégios elevados:

find . -exec /bin/sh -p \; -quit
# id
uid=0(root) gid=0(root) groups=0(root)

O parâmetro -p no shell é a parte que as pessoas esquecem. Sem ele, o bash e o sh abandonam os privilégios elevados na inicialização como recurso de segurança, e você acaba de volta ao seu usuário original se perguntando por que o exploit falhou.

Configurações incorretas de sudo

Execute sudo -l e leia cada linha. Ela mostra exatamente quais comandos seu usuário pode executar como root, e cada um é um candidato. Uma regra como (ALL) NOPASSWD: /usr/bin/vim parece uma conveniência administrativa inofensiva até você verificar o GTFOBins para o vim:

sudo vim -c ':!/bin/sh'

Isso escapa para um shell root, porque o vim roda como root sob a regra sudo e pode gerar um processo filho. A mesma lógica vale para awk, less, find, python, tar e dezenas de outros interpretadores e utilitários. Qualquer regra sudo apontando para algo que possa executar código, ler arquivos arbitrários ou escrever arquivos arbitrários merece verificação antes de você supor que é segura.

Dois truques baseados em ambiente valem a pena conhecer. Se o arquivo sudoers tiver env_keep+=LD_PRELOAD, você pode compilar um pequeno objeto compartilhado que gera um shell e pré-carregá-lo em qualquer comando permitido pelo sudo. E versões antigas do sudo trazem vulnerabilidades explícitas: o Baron Samedit (CVE-2021-3156) permitiu que qualquer usuário local chegasse ao root independentemente de sua entrada no sudoers, nas versões do sudo anteriores à 1.9.5p2. Sempre verifique sudo --version contra CVEs conhecidas.

Capabilities do Linux

As capabilities são a prima de grão fino do bit SUID. Em vez de conceder a um binário todo o poder do root, o Linux pode conceder-lhe um privilégio específico, e os administradores às vezes as configuram achando que são a opção mais segura. Muitas vezes não são.

Enumere-as com getcap -r / 2>/dev/null. A que se deve observar é a cap_setuid. Se um interpretador Python a carrega, por exemplo, a saída fica assim:

/usr/bin/python3.11 = cap_setuid+ep

Essa única capability basta para virar root, porque o binário pode definir seu próprio UID como 0 e então executar um shell:

/usr/bin/python3.11 -c 'import os; os.setuid(0); os.system("/bin/sh")'

As capabilities passam despercebidas justamente porque parecem granulares e controladas. Na prática, uma capability cap_setuid ou cap_dac_read_search em um binário scriptável é tão perigosa quanto um binário SUID root puro, e escapa aos revisores que só checam o bit SUID.

Abuso de tarefas cron

Tarefas agendadas que rodam como root mas executam um arquivo que você pode gravar são um dos caminhos de escalação mais limpos no Linux. Verifique /etc/crontab, o diretório /etc/cron.d/ e /etc/cron.daily/ em busca de tarefas, e então olhe as permissões do script que cada tarefa chama.

Se uma tarefa cron root executa /opt/scripts/backup.sh e esse arquivo, ou o diretório que o contém, é gravável pelo seu usuário, você é dono da próxima execução. Acrescente uma carga e espere:

echo 'cp /bin/bash /tmp/rootbash && chmod +s /tmp/rootbash' >> /opt/scripts/backup.sh
# after the job runs on schedule:
/tmp/rootbash -p
# id -> uid=0(root)

Um curinga em um comando tar ou chown executado por cron abre um ataque relacionado chamado injeção de curinga, no qual nomes de arquivos forjados são interpretados como parâmetros de linha de comando. O sinal a observar é qualquer automação de root que toque um local que um usuário não root possa gravar. Esse descompasso é toda a vulnerabilidade.

💻
Pratique agora: o lab Cronpocalypse foi construído em torno de uma tarefa cron root vulnerável que chama um script gravável, o caminho exato desta seção. Encontre-a, prepare o ataque e receba seu shell root na próxima execução agendada.

Abuso de PATH e de arquivos graváveis

Quando um script de propriedade do root chama um binário apenas pelo nome, tar em vez de /bin/tar, o shell procura nos diretórios de $PATH em ordem e executa a primeira correspondência. Se você puder escrever em um diretório que apareça mais cedo nessa ordem de busca, ou influenciar $PATH antes de o script rodar, seu tar malicioso é executado com os privilégios do script. Deixe um script de duas linhas com o nome do binário chamado em um diretório gravável e de maior prioridade, e você herda o root.

Duas verificações de permissão de arquivo pertencem à mesma categoria. Primeiro, um /etc/passwd gravável é o fim do jogo: adicione uma linha com um hash de senha conhecido e um UID de 0, depois faça su para essa conta. Segundo, um /etc/shadow gravável, ou legível com um hash de root quebrável, alimenta diretamente a quebra de senhas offline. Sempre execute ls -l /etc/passwd /etc/shadow cedo, pois uma única permissão frouxa aqui encerra o trabalho.

Exploits de kernel

Quando os caminhos baseados em configuração não dão em nada, a própria versão do kernel vira o alvo. Este é um último recurso, não um primeiro movimento, porque exploits de kernel podem travar a máquina e tirar o alvo do ar, o que raramente é aceitável em um trabalho real sem aprovação explícita.

Os dois nomes a conhecer: o PwnKit (CVE-2021-4034) explorou o componente pkexec do Polkit e deu root a qualquer usuário local em instalações padrão de Ubuntu, Debian, Fedora e CentOS, depois de ficar sem ser descoberto por mais de doze anos. O Dirty Pipe (CVE-2022-0847) permitiu que um usuário sem privilégios sobrescrevesse dados em arquivos somente leitura em kernels a partir do 5.8, inclusive o /etc/passwd, tornando o root trivial.

Compare a versão do kernel obtida com uname -r às CVEs conhecidas antes de recorrer a um exploit, e confirme que o alvo é um lab ou um trabalho onde a instabilidade é autorizada. Uma máquina de produção travada é um problema muito maior do que uma flag de root perdida.

Guia rápido de escalação de privilégios Linux

Mantenha esta ordem de enumeração ao lado do seu terminal. Ela vai das verificações mais propensas a dar retorno rápido às que você aciona quando os caminhos fáceis se esgotam.

VerificaçãoComandoO que você procura
Identidade e gruposidparticipação nos grupos docker, lxd, disk, sudo
Direitos sudosudo -lregras NOPASSWD em interpretadores ou editores
Binários SUIDfind / -perm -4000 -type f 2>/dev/nullbinários incomuns listados no GTFOBins
Capabilitiesgetcap -r / 2>/dev/nullcap_setuid em um binário scriptável
Tarefas croncat /etc/crontab; ls -la /etc/cron.d/tarefas root chamando scripts graváveis
Arquivos sensíveisls -l /etc/passwd /etc/shadowpermissões de escrita ou leitura inesperadas
Versão do kerneluname -rversões com exploits públicos (último recurso)

Como se defender

Como prevenir a escalação de privilégios Linux? Remova as configurações incorretas específicas das quais os atacantes dependem. Nenhum controle isolado a impede por completo, mas cada caminho acima se fecha com uma correção concreta e barata.

  • Remova bits SUID desnecessários. Audite com find / -perm -4000 e retire o bit de tudo que não precise dele de verdade. Nada caseiro deve carregá-lo sem revisão.
  • Nunca conceda sudo NOPASSWD a interpretadores. Uma regra sudo para vim, awk, python ou find é uma porta aberta para um shell root. Restrinja as regras sudo a ações específicas e não scriptáveis.
  • Revise as capabilities dos arquivos. Execute getcap -r / durante o endurecimento e trate cap_setuid em qualquer binário de uso geral como equivalente a um bit SUID root.
  • Tranque os scripts cron. Tarefas agendadas de propriedade do root devem chamar arquivos de propriedade do root em diretórios de propriedade do root, sem acesso de escrita para mais ninguém.
  • Aplique correções em um ritmo real. PwnKit e Dirty Pipe foram ambos corrigidos por uma atualização. A maioria das escalações de kernel bem-sucedidas atinge sistemas atrasados em meses.

Ao testar máquinas reais, o jeito mais rápido de encontrar essas falhas antes de um atacante é executar a mesma enumeração que um atacante faria, LinPEAS mais uma revisão manual de sudoers e capabilities, de forma agendada em vez de uma única vez na implantação.

Perguntas frequentes

Qual é a primeira coisa a verificar para escalação de privilégios Linux?

Comece com id, sudo -l e uma busca de binários SUID com find / -perm -4000 -type f 2>/dev/null. Esses três comandos são rápidos, seguros e muitas vezes revelam o caminho de escalação de cara, seja por uma participação de grupo poderosa, uma regra sudo permissiva ou um binário SUID explorável listado no GTFOBins.

O que é um binário SUID e por que ele é perigoso?

Um binário SUID roda com as permissões de seu dono em vez das do usuário que o executa. Quando o dono é root e o binário pode ser induzido a executar comandos arbitrários, como find, vim ou um interpretador de script, qualquer usuário pode obter um shell root. O GTFOBins documenta a sintaxe exata de abuso para cada binário afetado.

Como as capabilities do Linux levam ao root?

As capabilities concedem a um binário um privilégio root específico em vez do root completo. A capability cap_setuid é a mais perigosa, porque um binário que a detém pode definir seu próprio ID de usuário como 0 e gerar um shell root. Enumere as capabilities com getcap -r / 2>/dev/null e trate cap_setuid em qualquer binário scriptável como crítica.

Preciso de exploits de kernel para escalar no Linux?

Geralmente não. A grande maioria das escalações no Linux vem de problemas de configuração: binários SUID, regras sudo, capabilities, tarefas cron e permissões de arquivos. Exploits de kernel como PwnKit ou Dirty Pipe são um último recurso, alcançado só quando os caminhos de configuração se esgotam, e carregam um risco real de travar o alvo.

Como praticar escalação de privilégios Linux de forma legal?

Use plataformas de labs propositalmente vulneráveis e desafios CTF, participe de programas de bug bounty dentro de seu escopo publicado, ou trabalhe sob uma autorização assinada em um trabalho remunerado. Os labs da HackerDNA, executados no navegador, incluindo SUID Privilege Hunter e Cronpocalypse, dão a você alvos Linux vulneráveis reais sem risco legal e sem instalação local.

Seus próximos passos

Ler sobre bits SUID e regras sudo lhe dá o vocabulário. Reconhecer uma capability explorável ou um script cron gravável em uma máquina ao vivo, sob um contrato de escopo e um cronômetro, só vem da repetição contra alvos reais. A escalação de privilégios Linux recompensa o testador que enumera com método e sabe o que cada resultado significa.

Comece pelos labs SUID Privilege Hunter e Cronpocalypse para treinar os dois caminhos mais comuns, depois trabalhe o método completo de ponta a ponta no curso Escalação de Privilégios Linux da HackerDNA. Se quiser ver como essas técnicas locais se encaixam em uma avaliação completa, o curso Teste de Intrusão de Rede leva você do ponto de apoio à pós-exploração.

O plano gratuito da HackerDNA lhe dá labs no navegador, sem cartão de crédito e sem instalação. Consiga um shell, depois vá encontrar o caminho para cima.

Última revisão: julho de 2026.

Artigos relacionados:

HackerDNA Team

Equipe HackerDNA

Escrito pela equipe HackerDNA - profissionais de cibersegurança que criam labs práticos de hacking e conteúdo educativo para ajudar você a desenvolver habilidades reais em segurança.

Conhecer a Equipe

Pronto para colocar isso em prática?

Pare de ler, comece a hackear. Ganhe experiência prática com mais de 170 labs de cibersegurança reais.

Comece a Hackear Grátis
15.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis