O LinPEAS é o script de enumeração que transforma os primeiros trinta minutos depois de um shell Linux com poucos privilégios em dez. Você joga o script na máquina, executa, vê a saída pintar o terminal de vermelho e amarelo, e começa a tratar os achados de maior prioridade antes mesmo do script terminar. Este guia cobre como usar o LinPEAS de ponta a ponta: instalação, as flags que realmente importam, leitura da saída colorida, vetores de escalação de privilégios que o LinPEAS revela melhor, e onde ele se encaixa ao lado do irmão WinPEAS. Pratique cada técnica em lab no curso de Escalação de Privilégios Linux da HackerDNA, começando pelo lab Cronpocalypse enquanto lê.
Todos os exemplos abaixo miram a versão atual do LinPEAS no projeto PEASS-ng, distribuída como um único script Bash sem dependências. Essa portabilidade é o ponto: o LinPEAS roda em qualquer sistema com /bin/sh, incluindo containers endurecidos, shells BusyBox, e o tipo de Linux embarcado enxuto que vem em appliances internas. Se a máquina-alvo tem curl ou wget e um caminho de rede de saída, você consegue rodar o LinPEAS em menos de cinco segundos.
TL;DR: O LinPEAS é um script Bash de enumeração que escaneia um host Linux em busca de caminhos de escalação de privilégios e classifica os achados por exploitabilidade usando códigos de cor. Coloque-o num alvo com curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh, depois priorize as linhas vermelho-em-amarelo: são os ganhos com 95% de confiança (/etc/passwd gravável, NOPASSWD sudo, binários SUID exploráveis, CVEs de kernel com exploits públicos). Combine-o com o WinPEAS no lado Windows e você tem o workflow PEASS padrão que a maioria dos pentesters e candidatos OSCP rodam em cada máquina.
O Que É o LinPEAS?
LinPEAS é um « Linux Privilege Escalation Awesome Script » que automatiza a enumeração pós-exploração em hosts Linux. Ele percorre centenas de checagens do sistema e imprime os achados codificados por cor de acordo com a probabilidade de serem exploráveis, para que o operador possa ignorar o ruído e focar nos ganhos.
O script vive dentro do projeto maior PEASS-ng, mantido por Carlos Polop e uma longa lista de contribuidores em github.com/peass-ng/PEASS-ng. PEASS-ng (Privilege Escalation Awesome Scripts Suite, Next Generation) é o fork ativamente mantido do projeto PEASS original, com LinPEAS para Linux, WinPEAS para Windows e MacPEAS para macOS. O « ng » importa: o repositório legado carlospolop/privilege-escalation-awesome-scripts-suite ainda aparece bem nas buscas, mas o desenvolvimento ativo está na organização PEASS-ng.
O LinPEAS é o primo pós-exploração do LinEnum, mas faz mais, imprime mais, e prioriza com mais agressividade. O LinEnum é uma primeira leitura útil; o LinPEAS é o que você roda quando precisa de uma resposta classificada de uma vez. Para candidatos OSCP, a realidade prática é que o LinPEAS está na lista de ferramentas automatizadas permitidas durante o exame, e quase todo mundo roda como primeiro passo em cada máquina Linux.
Uma opinião direta antes de seguir: a crítica mais comum ao LinPEAS é que ele é « barulhento demais ». Isso é verdade e irrelevante. O script é construído para você ignorar o verde e o rosa, rolar até o vermelho-em-amarelo, e exfiltrar a saída completa para um arquivo para revisão depois. Tratar a saída do LinPEAS como um log de terminal comum é o que a faz parecer esmagadora. Trate como uma página de resultados de busca onde você só lê os cinco primeiros, e o ruído deixa de pesar.
Como o LinPEAS Funciona
O LinPEAS é um único script Bash. Quando você roda, ele executa uma longa sequência de comandos find, ls, cat, ps, ss e grep contra superfícies conhecidas de escalação de privilégios: permissões de sistema de arquivos, binários SUID e SGID, configuração sudo, tarefas agendadas, capabilities, versão do kernel, serviços expondo portas locais, arquivos recentes, indicadores de container, endpoints de metadados de nuvem, e várias dezenas de outras.
Duas escolhas de design importam. Primeiro, o LinPEAS é somente leitura. Ele não modifica arquivos, não instala pacotes, e não abre conexões de saída fora da detecção (por exemplo, ele pode buscar a base do linux-exploit-suggester, mas só com -a e só num endpoint explícito). Segundo, a saída é em camadas. Cada achado é marcado com uma cor de severidade, e bem no topo da saída o LinPEAS imprime uma lista das « principais vulnerabilidades encontradas »: uma triagem sintetizada que aponta os poucos itens com maior chance de tomar a máquina.
O script também detecta o próprio contexto. Se você roda o LinPEAS dentro de um container Docker, ele sinaliza caminhos de fuga (socket Docker montado, capabilities como CAP_SYS_ADMIN, montagens do sistema de arquivos do host em /host/). Dentro de uma instância EC2, ele consulta o serviço de metadados em busca de credenciais IAM. Dentro de um pod Kubernetes, ele verifica o token da service account. Enumeração sensível ao contexto importa porque a superfície de privesc é radicalmente diferente entre esses ambientes.
Como Instalar o LinPEAS
Existem três caminhos de instalação e o certo depende de ter rede de saída no alvo, acesso de escrita em disco, e um curl ou wget funcionando. Os três puxam da mesma release upstream.
Método 1: Download Direto (o Mais Comum)
Se o alvo tem rede de saída e espaço gravável (/tmp quase sempre serve), puxe direto a release mais recente:
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -o /tmp/linpeas.sh
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh
Use wget se faltar curl: wget -O /tmp/linpeas.sh https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh. Os dois costumam estar presentes, mas containers enxutos às vezes não têm nenhum: nesse caso, recorra ao método 3.
Método 2: Pipe Para o Shell (Sem Escrita em Disco)
Quando você não pode ou não quer largar um arquivo no disco (monitoramento de integridade, sistema de arquivos somente leitura, EDR vigiando /tmp), envie o download direto pro shell:
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
Isso tira a possibilidade de passar flags diretamente, então envolva: curl -L .../linpeas.sh | sh -s -- -a. O -s -- diz ao sh para ler do stdin e passar o resto da linha como argumentos do script.
Método 3: Pacote peass-ng do Kali
No Kali Linux 2024.1 e mais novo, a suíte PEASS-ng vem como pacote:
sudo apt install peass-ng
linpeas
Útil pra montar sua própria máquina atacante. Menos útil em missões reais, já que o alvo raramente tem o pacote instalado.
De qualquer jeito, verifique o script antes de rodar num sistema do cliente. Leia o script com less /tmp/linpeas.sh e confira o SHA na página de release do GitHub. As releases PEASS-ng publicam hashes SHA256 ao lado dos binários; comparar leva dez segundos e elimina uma cópia adulterada.
Rodando o LinPEAS: Flags Que Realmente Importam
A saída de -h lista cerca de vinte flags. Na prática, quatro delas cobrem 95% do uso real:
-a- todas as checagens. Inclui as lentas (base do linux-exploit-suggester, enumeração bruta de usuários, buscas profundas em arquivos). Use para a passada estilo OSCP « deixa rodando enquanto eu tomo café ».-s- modo furtivo e ultrarrápido. Pula checagens que tocam áreas barulhentas (descoberta de arquivos recentes, varreduras grandes do sistema de arquivos). Use quando o EDR estiver no escopo.-q- silencioso. Suprime o banner e o progresso pra saída ficar mais limpa quando você joga num arquivo.-o <seções>- roda só categorias específicas (por exemplo,SysI,Container,Net). Útil quando você já sabe o que está caçando.
Uma nota honesta e direta: pule o -a na primeira execução. A invocação padrão acha 90% dos ganhos mais rápido, e você sempre pode rerodar com -a se nada imediato sair. A flag -a adiciona cerca de dois minutos de trabalho para achados que costumam ser duplicatas do que a passada padrão já trouxe à tona.
Salve a saída num arquivo para revisão e relatório:
/tmp/linpeas.sh -q | tee /tmp/linpeas.out
O caminho com tee deixa você ver a saída ao vivo e guardar uma cópia limpa. Para manter a cor no arquivo salvo (útil quando você for ler o relatório num visualizador ANSI como less -R), deixe a cor ligada por padrão e leia com less -R /tmp/linpeas.out.
Lendo a Saída do LinPEAS: Códigos de Cor e Prioridade
A saída do LinPEAS parece um muro de texto na primeira leitura. Não é. As cores codificam um sistema de prioridade, e uma vez assimilada a legenda, a saída fica escaneável.
- Texto vermelho em fundo amarelo - escalação de privilégios com 95%+ de confiança. Leia primeiro. A. Cada. Vez.
- Texto vermelho sem fundo - achado para investigar. Provável vetor de privesc, mas precisa de contexto (um script gravável que o root nunca executa não é um ganho).
- Texto amarelo - « você provavelmente devia saber disso ». Geralmente configuração que importa mas não é diretamente explorável.
- Azul claro / verde - informacional. Coisas que o sistema faz certo, ou valores reportados para contexto. Pule na primeira leitura.
- Ciano claro / magenta - nomes de usuário e usuários ativos. Útil para mirar movimento lateral, não diretamente para escalação.
As seções « Interesting Files » e « Software Information » costumam ser as mais longas e produzem o maior volume de ruído verde/ciano. Se você está lendo de um arquivo salvo, pule direto para o cabeçalho de seção que diz « Stored credentials? in fish-history files » ou « SUID - Check easy privesc, exploits and write perms »: é onde aparecem as linhas vermelho-em-amarelo. Numa missão real, o atalho que economiza tempo é grep -E "$(printf '\\033')\\[1;31;103m" contra a saída colorida para extrair só os achados de maior prioridade:
grep -aE $'\033\\[1;31;103m' /tmp/linpeas.out | head -20
Essa regex casa com a sequência ANSI para « texto vermelho em fundo amarelo » e puxa só as linhas que o próprio LinPEAS marcou como 95%+ de confiança. Na prática, é a linha que mais importa quando o tempo de triagem está apertado.
Vetores de Escalação Que o LinPEAS Revela Melhor
Seis categorias produzem a esmagadora maioria dos ganhos do LinPEAS em missões reais. Saber como cada uma aparece na saída acelera a triagem.
NOPASSWD Sudo e Configurações Erradas de Sudo
A saída de sudo -l é a primeira coisa que o LinPEAS roda (com a flag -P <senha>, se você fornecer uma para o usuário atual). Procure entradas NOPASSWD, regras sudo que liberam binários específicos (especialmente qualquer coisa no dataset GTFOBins), e diretivas env_keep que preservam LD_PRELOAD ou LD_LIBRARY_PATH. Cada uma dessas tem um padrão de escalação documentado.
Binários SUID e SGID
O LinPEAS lista todos os binários SUID-root no sistema e cruza com as entradas do GTFOBins. Tudo que casa fica marcado em vermelho. Ganhos comuns ao vivo: /usr/bin/find com o bit SUID, nmap em modo interativo em máquinas antigas, binários custom com o bit SUID acionado por acidente. Pratique reconhecer e explorar isso no lab SUID Privilege Hunter da HackerDNA.
Cron Jobs e Timers Systemd
Entradas cron que rodam como root e referenciam scripts graváveis ou expansões com wildcard são ouro para escalação. O LinPEAS imprime /etc/crontab, os crontabs por usuário que ele consegue ler, as entradas /etc/cron.d/, e a lista de timers systemd. Veja o lab Matsudo para prática de escalação por cron.
Versão do Kernel e Exploits Públicos
Com -a, o LinPEAS puxa a base do linux-exploit-suggester e imprime exploits prováveis para a versão do kernel em execução. Útil como dica, mas confirme o nível real de patch (uname -r diz a versão, não o que está corrigido). Muitas distros aplicam backport de correções de segurança sem atualizar o número da versão.
Capabilities
As capabilities do Linux são uma alternativa mais granular ao SUID. Um binário com cap_setuid+ep pode virar root sem nunca ter sido SUID-root. O LinPEAS roda getcap -r / e sinaliza capabilities interessantes. A mais explorável é cap_setuid+ep em Python, Perl, ou qualquer interpretador de scripts: uma linha de código vira shell root.
Arquivos Graváveis em Caminhos Privilegiados
Arquivos world-writable em /etc/, /usr/local/bin/, ou qualquer caminho de onde processos root executam são ganho imediato. O LinPEAS lista esses com o bit world-writable destacado. A referência MITRE ATT&CK para esses padrões é a tática de escalação de privilégios, que cataloga as famílias de técnicas mais amplas que o LinPEAS detecta.
LinPEAS vs WinPEAS: Quando Usar Cada Um
Mesmo projeto, sistemas operacionais diferentes. LinPEAS é a variante Linux; WinPEAS é a variante Windows, distribuída como um .exe pré-compilado (e uma alternativa .bat). Eles compartilham a filosofia de design: enumeração codificada por cor, achados classificados, deploy em um único binário, e compartilham o mantenedor (PEASS-ng).
A decisão é o sistema operacional, não preferência. Se o alvo responde a uname -a, rode o LinPEAS. Se systeminfo funciona, rode o WinPEAS. Os dois scripts se sobrepõem em conceitos portáteis (enumeração de processos, tarefas agendadas, listeners de rede) mas divergem em especificidades da plataforma (capabilities Linux vs privilégios de tokens Windows, sudo vs UAC, cron vs tarefas agendadas). Pratique o lado Windows no curso de Escalação de Privilégios Windows da HackerDNA: o workflow é paralelo mas os vetores são diferentes o suficiente para que aprender um não te dê o outro de graça.
Para a pergunta mais ampla de como o PEASS se encaixa ao lado de outras ferramentas (LinEnum, pspy, linuxprivchecker), nosso panorama de ferramentas de pentest percorre o kit completo de enumeração e onde cada script vence.
Pratique Escalação de Privilégios Linux em Lab
Os achados do LinPEAS só importam se você sabe agir sobre eles. Ler a saída é a primeira metade; encadear um achado em shell root é a segunda. O caminho mais rápido para construir esse reflexo é praticar em máquinas Linux propositadamente vulneráveis que espelham cenários reais de missão. Os labs de escalação de privilégios da HackerDNA rodam no navegador, sem instalação, sem VPN, sem Docker. Faça cadastro no plano gratuito, entre no lab Cronpocalypse, e rode o LinPEAS como primeiro movimento. Compare o que o LinPEAS marca com o que de fato é explorável. Repita pelos labs SUID Privilege Hunter e Matsudo e você terá a memória muscular que a maioria dos candidatos OSCP precisa antes do dia da prova.
Para a base conceitual mais profunda - por que cada vetor de escalação existe, como as permissões Linux funcionam de verdade, e o que um defensor procuraria - o curso de Escalação de Privilégios Linux cobre toda a fundação teórica ao lado dos labs. O curso e os labs são interligados: cada conceito do curso tem um exercício prático.
Considerações Legais e Éticas
Lembrete crítico: Sempre obtenha autorização explícita por escrito antes de rodar o LinPEAS ou qualquer ferramenta de escalação de privilégios contra um sistema. Mesmo o LinPEAS sendo somente leitura, executá-lo contra um sistema que não é seu é acesso não autorizado pela Lei Carolina Dieckmann (Brasil), pelo Computer Fraud and Abuse Act (EUA), e leis equivalentes na maioria das jurisdições.
- Use o LinPEAS apenas em sistemas que você possui, ambientes de lab, ou sistemas explicitamente no escopo de uma missão autorizada.
- Documente cada comando rodado durante uma missão de cliente. A saída do LinPEAS deve ir no anexo do relatório.
- Baixe o LinPEAS apenas das releases oficiais do GitHub PEASS-ng. Mirrors e forks já foram weaponizados no passado.
- Confirme o SHA256 do script contra a release upstream antes de rodar num sistema de produção. Cinco segundos de paranoia valem.
Perguntas Frequentes
É seguro rodar o LinPEAS num sistema de produção?
O LinPEAS é somente leitura e não modifica arquivos nem abre conexões de entrada, então é seguro no sentido técnico. O risco é detecção: scripts de enumeração disparam EDR comportamental ao executar centenas de comandos find e ls em sequência. Em sistemas com EDR ou sysdig vigiando, espere que a execução gere alertas. Use o modo furtivo -s se a missão exigir redução de ruído.
O que significam os códigos de cor do LinPEAS?
Texto vermelho em fundo amarelo é a prioridade mais alta: 95% de confiança que o achado é explorável. Vermelho simples é vetor de privesc provável que precisa de contexto. Amarelo é configuração que vale conhecer. Azul claro e verde são informacionais; pule na primeira leitura. A legenda é impressa no topo de cada execução do LinPEAS.
LinPEAS ou LinEnum: qual rodar primeiro?
LinPEAS. O LinEnum é mais antigo, menos mantido, e produz uma saída mais plana sem a priorização do LinPEAS. Rode o LinEnum só se o LinPEAS não rodar no alvo (extremamente raro: o LinPEAS é Bash puro e roda quase em qualquer lugar). A maioria dos pentesters carrega os dois como backup; em 2026, o LinEnum existe mais como referência histórica.
Posso rodar o LinPEAS sem Internet no alvo?
Sim. O script é Bash autocontido. Algumas checagens (o download da base do linux-exploit-suggester sob -a) exigem rede de saída, mas a enumeração principal roda totalmente offline. Coloque o script na máquina via SCP, share SMB, ou alguma primitiva de upload existente, e rode normalmente.
Onde posso praticar o LinPEAS legalmente?
Os labs de escalação de privilégios da HackerDNA são o caminho mais rápido: navegador, sem instalação, máquinas Linux propositadamente vulneráveis que respondem aos achados do LinPEAS como você esperaria em missão real. Além da HackerDNA, o wargame OverTheWire Bandit e qualquer box Vulnhub local importada no VirtualBox são bons campos de prática.
Seus Próximos Passos
O LinPEAS é o único script que se paga já na primeira execução em qualquer missão Linux. Instale, aprenda a ler as cores, e priorize os achados vermelho-em-amarelo antes de qualquer coisa. A ferramenta é simples; os padrões de escalação que ela revela são o trabalho. Comece pelo plano gratuito da HackerDNA, sem cartão de crédito, e rode o LinPEAS num alvo mal configurado real no lab Cronpocalypse. Depois siga pelo curso de Escalação de Privilégios Linux para entender por que cada achado importa. Reflexos de pentest se constroem por repetição, e o LinPEAS é o script que você vai rodar em cada máquina Linux pelo resto da carreira.