# DC0044 — Firewall Enumeration
## Descrição
Firewall Enumeration (DC0044) captura atividades de consulta e extração de configurações de firewall — incluindo listagem de regras ativas, políticas aplicadas, zonas de rede e status de serviços de firewall em hosts e ambientes de nuvem. Esta atividade frequentemente precede tentativas de desativação ou modificação de regras, sendo parte da fase de reconhecimento interno (post-exploitation discovery).
Adversários que enumeraram as regras de firewall obtêm visibilidade sobre quais portas e protocolos estão permitidos, identificando lacunas de segurança exploráveis para movimento lateral ou exfiltração. O conhecimento das regras existentes também permite a criação de tráfego C2 que mimetiza comúnicações permitidas.
Em ambientes Windows, comandos como `netsh advfirewall firewall show rule name=all` ou `Get-NetFirewallRule` são indicadores de enumeração. Em cloud, chamadas de API como `aws ec2 describe-security-groups` ou `az network nsg list` servem o mesmo propósito. A enumeração via ferramentas de terceiros (Nmap, SoftPerfect Network Scanner) é mais fácil de detectar por volume de chamadas de API ou padrões de tráfego anômalos.
Este componente tem valor especial em detectar enumeração pre-exploitation realizada por adversários de espionagem que mapeiam a infraestrutura antes de agir, muitas vezes operando por longos períodos sem acionar outros alertas.
## Telemetria
| Plataforma | Fonte | Event ID / Evento | Informações Capturadas |
|------------|-------|-------------------|------------------------|
| Windows | Sysmon | Event ID 1 — ProcessCreate | `netsh`, `Get-NetFirewallRule`, `firewall show rule` |
| Windows | PowerShell | Event ID 4104 — Script Block Logging | Cmdlets de consulta de firewall |
| Linux | auditd | syscall: `execve` + `iptables -L` / `firewall-cmd --list-all` | Comandos de listagem de regras |
| Linux | bash_history / auditd | `execve` para `nft list ruleset` | Enumeração de nftables |
| macOS | Unified Log | `pfctl -sr` / Application Firewall query | Consultas ao firewall do macOS |
| Cloud (AWS) | CloudTrail | `DescribeSecurityGroups`, `DescribeNetworkAcls` | Chamadas de API de listagem |
| Cloud (Azure) | Activity Log | `List NetworkSecurityGroup/Rules` | Listagem de regras NSG |
| Cloud (GCP) | Cloud Audit Log | `compute.firewalls.list` | Listagem de regras de firewall GCP |
## Queries de Detecção
**KQL (Microsoft Sentinel / Defender)**
```kql
// Enumeração de regras de firewall via PowerShell ou netsh
DeviceProcessEvents
| where ProcessCommandLine has_any (
"Get-NetFirewallRule",
"firewall show rule",
"firewall-cmd --list",
"advfirewall firewall show"
)
| project Timestamp, DeviceName, AccountName, ProcessCommandLine,
InitiatingProcessFileName
| order by Timestamp desc
```
**SPL (Splunk)**
```spl
index=wineventlog EventCode=4104
| where match(ScriptBlockText, "(?i)(Get-NetFirewallRule|Get-NetFirewallProfile|Show-NetFirewallRule)")
| stats count by Computer, UserID, ScriptBlockText, _time
| sort - _time
```
## Técnicas Relacionadas
- [[t1518-software-discovery|T1518 — Software Discovery]] — enumeração de software de segurança instalado, incluindo firewalls
- [[t1082-system-information-discovery|T1082 — System Information Discovery]] — coleta de informações de configuração do sistema, incluindo estado do firewall
- [[t1590-gather-victim-network-information|T1590 — Gather Victim Network Information]] — mapeamento da infraestrutura de rede para identificar lacunas
- [[t1562-impair-defenses|T1562 — Impair Defenses]] — enumeração como precursor de desativação/modificação
## Contexto LATAM
> [!info] Enumeração de Firewall em Ataques de Espionagem
> Grupos de espionagem que operam contra alvos brasileiros no governo e setor de energia frequentemente realizam enumeração extensiva de controles de segurança antes de qualquer ação disruptiva. A enumeração de firewall via PowerShell em sessões remotas (WinRM, PSRemoting) é especialmente relevante e deve ser monitorada em servidores críticos. Correlacione com [[t1021-remote-services|Remote Services]] e [[t1059-command-and-scripting-interpreter|PowerShell execution]] para identificar sessões de reconhecimento pós-comprometimento.
## Referências
- [MITRE ATT&CK — DS0018 Firewall](https://attack.mitre.org/datasources/DS0018/)
- [T1518.001 — Security Software Discovery](https://attack.mitre.org/techniques/T1518/001/)
- [Get-NetFirewallRule Documentation](https://learn.microsoft.com/en-us/powershell/module/netsecurity/get-netfirewallrule)