Modelo de privilegios do Windows

Entendendo a arquitetura de seguranca que controla o acesso a tudo

Tokens de acessoIdentificadores de segurancaConstantes de privilegios

O que voce vai descobrir

🎯 Por que isso importa

Cada exploit de elevacao de privilegios do Windows tem como alvo uma fraqueza especifica no modelo de seguranca do Windows. Antes de poder quebra-lo, voce precisa entender como ele funciona. Tokens de acesso, SIDs, privilegios e niveis de integridade formam a base da seguranca do Windows - e a base de cada tecnica de privesc que voce aprendera.

🔍 O que voce vai aprender

  • Como os tokens de acesso do Windows carregam identidade e privilegios atraves do sistema
  • A estrutura dos Identificadores de Seguranca (SIDs) e o que cada componente significa
  • Constantes de privilegios do Windows e quais permitem elevacao de privilegios
  • Controle de Integridade Obrigatorio e como ele restringe processos de baixo privilegio

🚀 Sua primeira vitoria

Nos proximos 5 minutos, voce examinara seu proprio token de acesso e identificara os privilegios exatos que poderiam permitir escalacao em um sistema comprometido.

🔧 Experimente agora

Abra um Prompt de Comando e examine os privilegios do seu token atual:

whoami /priv
whoami /groups
whoami /all

Voce vera: Uma lista de privilegios atribuidos ao seu token, suas associacoes de grupos com seus SIDs e seu contexto de seguranca completo. Observe quaisquer privilegios marcados como "Enabled" - estes sao imediatamente utilizaveis.

Habilidades que voce dominara

✅ Compreensao fundamental

  • Arquitetura de tokens de acesso do Windows
  • Estrutura de SID e SIDs conhecidos
  • Direitos de usuario vs privilegios
  • Niveis de integridade (Low, Medium, High, System)

🔍 Habilidades de especialista

  • Identificacao de privilegios perigosos
  • Conceitos de manipulacao de tokens
  • UAC e filtragem de tokens
  • Tokens primarios vs tokens de personificacao

Entendendo o modelo de seguranca do Windows

A seguranca do Windows e construida sobre um conceito simples, mas poderoso: cada processo e executado com um token de acesso que define o que ele pode fazer. Este token contem sua identidade (SIDs), seus privilegios e seu nivel de integridade. Quando voce tenta acessar um recurso, o Windows compara seu token com o descritor de seguranca do recurso para determinar o acesso.

Token de Acesso = Identidade (SIDs) + Privilegios + Nivel de Integridade

Identificadores de seguranca (SIDs)

Cada principal de seguranca no Windows (usuarios, grupos, computadores) tem um SID unico. Os SIDs seguem um formato especifico:

S-1-5-21-3623811015-3361044348-30300820-1013
│ │ │  └─────────────────────────────────┴── ID Relativo (RID)
│ │ │                                        └── Identificador de Dominio/Maquina
│ │ └── Autoridade de Identificacao (5 = NT Authority)
│ └── Revisao do SID (sempre 1)
└── Prefixo SID

SIDs conhecidos que voce deve memorizar:

SYSTEM

S-1-5-18

Conta com maior privilegio

Administrators

S-1-5-32-544

Grupo admin integrado

Users

S-1-5-32-545

Grupo de usuarios padrao

Privilegios perigosos

Certos privilegios permitem elevacao de privilegios direta. Quando voce os ve em uma conta comprometida, voce tem um caminho para SYSTEM:

Privilegio Vetor de ataque
SeImpersonatePrivilege Personificacao de token (ataques Potato)
SeAssignPrimaryTokenPrivilege Atribuir tokens a novos processos
SeBackupPrivilege Ler qualquer arquivo (ignorar ACLs)
SeRestorePrivilege Escrever qualquer arquivo (ignorar ACLs)
SeDebugPrivilege Depurar qualquer processo, injetar codigo
SeTakeOwnershipPrivilege Assumir propriedade de qualquer objeto

Niveis de integridade

O Controle de Integridade Obrigatorio (MIC) adiciona outra camada de controle de acesso. Mesmo que as ACLs permitam acesso, um processo de integridade mais baixa nao pode escrever em objetos de integridade mais alta:

System    - S-1-16-16384 (Servicos Windows, kernel)
High      - S-1-16-12288 (Administradores elevados)
Medium    - S-1-16-8192  (Usuarios padrao, padrao)
Low       - S-1-16-4096  (Processos sandbox, navegadores)
Untrusted - S-1-16-0     (Mais restrito)

Ferramentas e tecnicas

Comandos integrados do Windows

O Windows fornece ferramentas nativas para examinar o contexto de seguranca:

# Exibir privilegios do usuario atual
whoami /priv

# Exibir associacoes de grupos com SIDs
whoami /groups

# Exibir informacoes completas do token
whoami /all

# Verificar nivel de integridade do processo atual
whoami /groups | findstr "Label"

# Exibir SID do usuario atual
wmic useraccount where name='%username%' get sid

Cmdlets de seguranca do PowerShell

O PowerShell oferece uma visao mais profunda do modelo de seguranca:

# Obter identidade Windows atual
[Security.Principal.WindowsIdentity]::GetCurrent()

# Verificar se esta executando como administrador
([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

# Listar todos os privilegios no token atual
[Security.Principal.WindowsIdentity]::GetCurrent().Claims | Where-Object { $_.Type -match "privilege" }

# Obter nivel de integridade do processo
(Get-Process -Id $PID).Handle

Ferramentas Sysinternals

A suite Sysinternals da Microsoft fornece analise de seguranca de nivel profissional:

  • Process Explorer - Visualizar tokens, privilegios e niveis de integridade de processos em execucao
  • AccessChk - Verificar permissoes em arquivos, servicos, chaves de registro e mais
  • PsExec - Executar processos com diferentes tokens (incluindo SYSTEM)

Baixar em: Microsoft Sysinternals

Cenarios de ataque do mundo real

🔴 Estudo de caso: Pool de aplicativos IIS para SYSTEM

Aplicacoes web executando em pools de aplicativos IIS rodam como contas de servico com SeImpersonatePrivilege. Este privilegio, combinado com exploits da familia Potato, permite escalacao de um web shell para SYSTEM. Este e um dos caminhos de elevacao de privilegios mais comuns em testes de penetracao reais.

Cadeia de ataque: Web shell → Verificar privilegios → Encontrar SeImpersonatePrivilege → Executar JuicyPotato/PrintSpoofer → Shell SYSTEM

🟠 Estudo de caso: Abuso do grupo Backup Operators

Membros do grupo Backup Operators tem SeBackupPrivilege e SeRestorePrivilege. Esses privilegios ignoram ACLs de arquivos, permitindo leitura do banco de dados SAM e da colmeia de registro SYSTEM. Com esses arquivos, quebra de senha offline ou ataques pass-the-hash se tornam possiveis.

Cadeia de ataque: Membro de Backup Operators → Exportar SAM/SYSTEM → Extrair hashes com secretsdump → Pass-the-hash para Administrator

💡 Dica de especialista

O modelo de privilegios do Windows e complexo por design. Cada privilegio existe para um proposito legitimo, mas cada um pode ser abusado. Entender por que os privilegios existem ajuda voce a identificar oportunidades de exploracao e explicar riscos para clientes durante debriefings de testes de penetracao.

Contramedidas defensivas

Principio do menor privilegio

A defesa mais eficaz contra elevacao de privilegios e garantir que as contas tenham apenas os privilegios necessarios:

  • Remover usuarios de grupos privilegiados (Administrators, Backup Operators) a menos que absolutamente necessario
  • Usar Politica de Grupo para restringir atribuicao de privilegios
  • Contas de servico devem usar Managed Service Accounts (MSAs) com privilegios minimos
  • Auditorias regulares de associacoes de grupos e atribuicoes de privilegios

Protecao de tokens

  • Habilitar Credential Guard para proteger LSASS e tokens
  • Configurar UAC para "Sempre notificar" para protecao maxima
  • Implementar Windows Defender Credential Guard em sistemas sensiveis
  • Usar o grupo de seguranca Protected Users para contas de alto valor

Monitoramento e deteccao

  • Habilitar politicas de auditoria para uso de privilegios e manipulacao de tokens
  • Monitorar Event ID 4672 (Privilegios especiais atribuidos a novo logon)
  • Alertar sobre uso de SeDebugPrivilege e SeImpersonatePrivilege
  • Usar Microsoft Defender for Endpoint ou solucoes EDR similares

Perguntas frequentes

Qual e a diferenca entre um privilegio e um direito no Windows?

Privilegios controlam o que um usuario pode fazer no sistema (depurar processos, fazer backup de arquivos, desligar), enquanto direitos controlam como os usuarios podem fazer logon (interativo, rede, servico). Ambos sao atribuidos atraves de Politica de Seguranca Local ou Politica de Grupo, mas servem propositos diferentes. Do ponto de vista de privesc, privilegios sao o que voce esta procurando.

Por que contas de servico tem SeImpersonatePrivilege?

Contas de servico precisam deste privilegio para lidar com solicitacoes de clientes. Quando um cliente se conecta a um servico, o servico personifica o cliente para acessar recursos em seu nome. Isso e por design, mas cria a superficie de ataque que os exploits Potato aproveitam. A Microsoft considera isso "funcionando como esperado" em vez de uma vulnerabilidade.

Posso escalar privilegios com um token de integridade Medium?

Tokens de integridade Medium padrao nao tem privilegios perigosos por padrao. Voce precisara encontrar configuracoes incorretas (permissoes de servico fracas, caminhos sem aspas, diretorios de programas graváveis) ou bypasses de UAC para escalar. Os ataques baseados em privilegios como Potato requerem SeImpersonatePrivilege, que usuarios padrao nao tem.

Qual e a diferenca entre Administrator e SYSTEM?

Administrator e uma conta de usuario que pode ser usada para login e tem uma senha. SYSTEM (LocalSystem) e uma conta de servico com os maiores privilegios na maquina local - ela possui processos como services.exe e lsass.exe. SYSTEM pode fazer tudo que Administrator pode, mais acessar certos recursos protegidos. Em ambientes de dominio, SYSTEM representa a conta do computador.

🎯 Modelo de seguranca do Windows - Compreendido!

Voce agora entende a base da seguranca do Windows: tokens de acesso, SIDs, privilegios e niveis de integridade. Cada tecnica de elevacao de privilegios que voce aprendera explora fraquezas neste modelo.

Tokens de acesso SIDs Privilegios Niveis de integridade

Pronto para aprender tecnicas de enumeracao manual →

Validação de Conhecimento

Demonstre sua compreensão para ganhar pontos e progredir

1
Pergunta do Capítulo

Qual é o prefixo SID do grupo Administradores integrado?

1
Ler
2
Validar
3
Concluir

Pronto para acompanhar seu progresso?

Crie uma conta gratuita para salvar seu progresso, ganhar pontos e acessar mais de 170 labs práticos de cibersegurança.

Comece a Aprender Grátis
Junte-se a 5.000+ hackers aprendendo cibersegurança com labs práticos. Criar Conta