Auditoria de escalação de privilégios no Linux.

Encontre sudo excessivo, SUID perigoso, cron inseguro, escapes de container e credenciais expostas — e veja como os achados se combinam em cadeias de ataque. Somente leitura. Zero exploits. Zero exfiltração.

git clone https://github.com/Deepaudit/linux-privesc.git
11módulos de auditoria
4formatos: texto, JSON, SARIF, HTML
0exploits executados
v5.0.0licença MIT

Cobertura em 11 módulos

Cada módulo roda isolado em subprocesso, com timeout configurável. Se um falhar, os demais continuam.

Base

System Enumeration

Distro, kernel, UID/grupos, indícios de container e variáveis sensíveis (sem expor valores).

Privilégios

Sudo Configuration Audit

Regras via sudo -n -l (nunca pede senha), binários clássicos e env_keep perigoso (LD_PRELOAD).

Privilégios

SUID / SGID Audit

Binários com SUID/SGID, com baseline de instalações legítimas para reduzir falso positivo.

Privilégios

Linux Capabilities

Capabilities do processo e de arquivos (getcap), destacando cap_setuid e cap_sys_admin.

Sistema

Process & Service Audit

Processos root visíveis, binários graváveis e escrita em diretórios de unidades systemd.

Sistema

Scheduled Tasks (Cron)

Crontabs, /etc/cron.*, scripts graváveis e padrões de wildcard injection (tar/rsync/7z).

Arquivos

File Permission Analysis

PATH, /etc/passwd e /etc/shadow (sem ler conteúdo), homes e chaves SSH com permissão incorreta.

Sistema

Kernel & Update Audit

Versão de kernel/SO para correlação manual com CVEs, reboot pendente e contexto PwnKit.

Novo v5

Container Escape Audit

Docker socket gravável, grupo docker, cgroup gravável, NFS no_root_squash, ld.so.preload.

Novo v5

Credential Hunting

Padrões de credenciais em histórico, .netrc, .aws, .env… sempre com valor [REDACTED].

Novo v5

Correlation Engine

Combina achados em cadeias de ataque (ex.: grupo docker + binário docker = CRITICAL).

Laboratório interativo

Monte o comando ideal e simule o risk score do seu host. Tudo roda no seu navegador.

Gerador de comando


Simulador de risk score

Baixo (peso 1)
Médio (peso 2)
Alto (peso 5)
Crítico (peso 10)
0host limpo

Documentação

Requisitos: Bash 4.3+ e utilitários padrão (find, stat, ps, uname, id, grep, awk, timeout). Não exige root.

git clone https://github.com/Deepaudit/linux-privesc.git
cd linux-privesc
chmod +x pcsec-privesc.sh
./pcsec-privesc.sh --help

Leia o script antes de executar e compare o hash. Evite rodar código baixado direto por pipe no Bash.

less pcsec-privesc.sh
sha256sum pcsec-privesc.sh
# Execução padrão
./pcsec-privesc.sh --full

# Rápida, sem cor
./pcsec-privesc.sh --quick --no-color

# Todas as saídas
./pcsec-privesc.sh --full --json --sarif --html --output /tmp/auditoria-$(hostname)

# Paralelismo e timeout por módulo
./pcsec-privesc.sh --full --jobs 4 --timeout 30

# Acompanhar hardening ao longo do tempo
./pcsec-privesc.sh --full --json --compare ./pcsec-reports/relatorio-anterior.json

# Listar módulos
./pcsec-privesc.sh --checks
ArgumentoDescrição
--quick / --fullSubconjunto rápido ou todas as verificações (padrão: full).
--no-colorDesativa cores ANSI.
--output DIRDiretório dos relatórios (padrão ./pcsec-reports).
--jsonRelatório JSON (base do --compare).
--sarifSARIF 2.1.0 para CI/CD e GitHub Code Scanning.
--htmlRelatório HTML standalone, filtrável por severidade.
--jobs NMódulos em paralelo (padrão 1).
--timeout STempo máximo por módulo (padrão 60).
--compare ARQ.jsonDiff com execução anterior: achados novos e resolvidos.
--fail-on-risk NExit code 1 se o risk score for ≥ N.
--checksLista os módulos e encerra.
SeveridadePesoSignificado
Informativo0Contexto, sem risco isolado.
Baixo1Merece atenção, baixo impacto.
Médio2Facilita ataque com condições extras.
Alto5Fortemente ligado a técnicas conhecidas.
Crítico10Caminho direto e de alta confiança.

Cada achado também traz um nível de confiança: confirmadamente inseguro, possível vetor — requer validação manual ou informativo. A ferramenta nunca afirma root a partir de um único achado isolado; só o motor de correlação eleva prioridade quando há sinais independentes combinados.

Verificação     : Scheduled Tasks (Cron) Audit
Alvo            : /etc/cron.d
Severidade      : CRITICAL (Configuração confirmadamente insegura)
Descrição       : Diretório de tarefas agendadas gravável pelo usuário atual.
Evidência       : Teste de permissão: diretório gravável = sim
Motivo          : Scripts aqui costumam rodar como root pelo cron do sistema.
Recomendação    : Restrinja a escrita apenas a root.
Limitações      : Nenhum arquivo foi criado por esta ferramenta.

Gate de segurança no pipeline

O risk score soma o peso de cada achado. Use --fail-on-risk para quebrar o build e --sarif para exibir os achados na aba Security do GitHub.

  • Score disponível no terminal, texto, JSON (summary.risk_score) e HTML.
  • Suite Bats + ShellCheck + smoke test em cada push.
  • --compare mostra o que foi corrigido e o que surgiu.
# GitHub Actions
- run: ./pcsec-privesc.sh --full --sarif --fail-on-risk 50
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: pcsec-reports/

Uso responsável e limitações

Use apenas em sistemas autorizados — ambiente próprio, laboratório ou contrato formal de pentest/auditoria. A ferramenta não executa exploits, não escala privilégios, não modifica o sistema e não transmite dados: toda a análise é local e segredos aparecem sempre como [REDACTED].