
Ferramenta Pwsh para Auditoria de Enumeração de Grupos do AD
Detecte o reconhecimento do Active Directory antes que ele se torne uma violação.
QuietPhase é uma ferramenta PowerShell que verifica se o seu domínio está configurado para detectar enumeração de grupos, a fase de reconhecimento silenciosa em que um atacante mapeia quem detém acesso privilegiado. Ela verifica a política de auditoria do controlador de domínio, relata quais grupos privilegiados e personalizados são auditados para leituras de associação e propõe (ou, se você escolher, aplica) as correções.
A maioria das organizações alerta quando alguém altera um grupo privilegiado. Muito poucas percebem quando alguém lê um. O QuietPhase ajuda a fechar essa lacuna e facilita a configuração de grupos honeypot que transformam a enumeração em um alerta de alta confiança.
Leitura de contexto: The Quiet Phase: Why Active Directory Group Enumeration Deserves Your Attention
adminCount=1) são redefinidos pelo SDProp, portanto o AdminSDHolder também é verificado e corrigido.Out-ConsoleGridView). Use-o para grupos honeypot ou qualquer outra coisa que você queira monitorar.-Apply, e cada uma é confirmada. -WhatIf é suportado.-FixScriptPath grava todas as alterações propostas em um arquivo .ps1 revisável, adequado para controle de mudanças.Um controlador de domínio registra um evento de enumeração de grupos somente quando ambos os itens a seguir estão presentes:
member por Everyone ou Authenticated Users.Quando ambos são verdadeiros, cada leitura de associação produz o Evento 4662 no DC que respondeu à consulta. Campos principais:
| Campo | Valor | Significado |
|---|---|---|
ObjectName | %{<objectGUID of the group>} | Qual grupo foi lido |
Properties | {bf9679c0-0de6-11d0-a285-00aa003049e2} | O atributo member |
Properties | {bc0ac240-79a9-11d0-9020-00c04fc2d4cf} | Conjunto de propriedades de associação (frequentemente em conjunto) |
AccessMask | 0x10 | Read Property |
SubjectUserName / SubjectUserSid | Conta | Quem realizou a leitura |
SubjectLogonId | ex.: 0x3A7F21 | Junte com o Evento 4624 (TargetLogonId) para obter o IP de origem e a estação de trabalho |
Nota: Ferramentas baseadas em SAMR, como
net group /domain, não acionam este sinal 4662. Cubra esse caminho com registro de criação de processos (Evento 4688 / Sysmon / EDR) ou detecções de rede, como o Microsoft Defender for Identity.
Out-ConsoleGridView, parte do módulo Microsoft.PowerShell.ConsoleHost, que é uma dependência do Microsoft.PowerShell.ConsoleGuiTools. Instalado no escopo CurrentUser.# Report only (default): check the discovered DC, privileged groups, then pick custom groups
.\QuietPhase.ps1
# Check audit policy on every DC in the domain
.\QuietPhase.ps1 -AllDomainControllers
# Export proposed fixes for review or change approval
.\QuietPhase.ps1 -AllDomainControllers -FixScriptPath .\QuietPhase-Fix.ps1
# Preview changes, then apply them (each change is confirmed)
.\QuietPhase.ps1 -Apply -WhatIf
.\QuietPhase.ps1 -Apply
# Propose rules for Authenticated Users instead of Everyone
.\QuietPhase.ps1 -Apply -AuditPrincipal AuthenticatedUsers
| Parâmetro | Padrão | Descrição |
|---|---|---|
-Server | DC descoberto | DC ou domínio de destino |
-AllDomainControllers | Desativado | Verifica a política de auditoria em todos os DCs, não apenas no destino |
-AuditPrincipal | Everyone | Principal usado para as regras propostas: Everyone ou AuthenticatedUsers. Qualquer um conta como configurado na verificação. |
-Apply | Desativado | Aplica as alterações propostas, com um prompt de confirmação para cada uma |
-SkipCustomGroups | Desativado | Ignora a Fase 3 (seleção de grupos personalizados) |
-FixScriptPath | Nenhum | Exporta toda a remediação proposta para um arquivo .ps1 |
-WhatIf / -Confirm | Padrão | Pré-visualiza as alterações ou controla os prompts quando usado com -Apply |
auditpol para corrigir, e então para. As SACLs de grupo são inúteis até que isso esteja em vigor.Quando algo precisa de alterações, a execução termina com um bloco NEXT STEPS de comandos prontos para colar para -Apply, -WhatIf, -FixScriptPath ou etapas manuais no ADUC.
==============================================================================
PHASE 1 - Domain controller audit policy
==============================================================================
Domain: contoso.com Target DC: DC01.contoso.com DCs checked: 1
DC01.contoso.com
Audit Directory Service Access: Success
Audit Security Group Management: Success
Force audit policy subcategory settings: enabled (or default)
PHASE 1 PASSED: Directory Service Access auditing is enabled.
==============================================================================
PHASE 2 - Well-known privileged groups
==============================================================================