Intermediário Sistema e Host

Privilege Escalation — técnicas comuns e detecção em Linux e Windows

Privilege escalation (privesc) é o processo de um atacante — já com acesso limitado — obter permissões mais altas (root, SYSTEM, Domain Admin). Entender as técnicas é essencial para defender o sistema.

Contexto: exemplos abaixo são para ambientes de laboratório autorizados, como máquinas CTF ou pentests com escopo definido.

Linux — vetores comuns

SUID mal configurado

Binários com bit SUID rodam como root, independente do usuário que os executa:

# Enumerar SUID
find / -perm -4000 -type f 2>/dev/null

# Exemplo: /usr/bin/find com SUID (lab)
/usr/bin/find . -exec /bin/sh -p \; -quit
# -p mantém o EUID=0 — escalada imediata

Sudo misconfiguration

sudo -l   # listar o que o usuário pode rodar como root

# Saída perigosa:
# (ALL) NOPASSWD: /usr/bin/vim
# vim pode abrir um shell:
sudo vim -c ':!/bin/bash'

Cron jobs com caminhos inseguros

cat /etc/crontab
# Se o script rodado como root pertence ao usuário comum
# ou está em diretório gravável — substitua o conteúdo
ls -la /opt/backup.sh   # dono: usuario_comum, cron: root

Kernel exploits

Kernel desatualizado pode ter CVEs conhecidos. A detecção é simples:

uname -r          # versão do kernel
searchsploit linux kernel 5.4   # buscar CVEs (ferramenta de lab)

Defesa: mantenha kernel atualizado, use unattended-upgrades.

Windows — vetores comuns

AlwaysInstallElevated

Se essa política GPO está ativa, qualquer usuário pode instalar MSI como SYSTEM:

# Checar (como usuário comum)
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
# Valor 0x1 em ambos = vulnerável

Defesa: desative essa política via GPO.

Serviços com permissão fraca

# Checar ACL de binário de serviço
icacls "C:\Program Files\MeuServico\servico.exe"
# Se usuários comuns têm (W) — podem substituir o binário

Token impersonation / SeImpersonatePrivilege

Contas de serviço frequentemente têm SeImpersonatePrivilege. Com esse token, é possível escalar para SYSTEM usando técnicas como PrintSpoofer (em lab):

Conta de serviço (IIS, SQL Server) → SeImpersonatePrivilege → SYSTEM

Defesa: aplique o princípio do menor privilégio. Contas de serviço nunca devem ter direitos administrativos.

Detecção

Linux:
  - auditd: monitorar execve com UID efetivo diferente do real
  - /var/log/auth.log: sudo usage, falhas de autenticação
  - AIDE/Tripwire: detectar mudanças em binários SUID

Windows:
  - Event ID 4672: privilégios especiais atribuídos ao logon
  - Event ID 4688: novo processo criado (monitorar argumentos)
  - Event ID 7045: novo serviço instalado
  - Sysmon: rastrear criação de processos com linha de comando completa

Princípio central de defesa

Mínimo privilégio. Se um processo ou usuário não precisa de root/SYSTEM para funcionar, não dê esse acesso.