# T1518 - Software Discovery ## Descrição **Software Discovery** é uma técnica de reconhecimento pós-comprometimento na qual o adversário enumera os programas instalados no sistema alvo - incluindo versões, datas de instalação e configurações. O objetivo é construir um mapa preciso do ambiente para orientar as próximas etapas do ataque: saber quais ferramentas de segurança estão presentes, identificar softwares vulneráveis a [[t1068-exploitation-privilege-escalation|exploração para escalada de privilégios]], ou localizar ferramentas de implantação de software como [[t1072-software-deployment-tools|Software Deployment Tools]] que possam ser abusadas para movimentação lateral em massa. No contexto **Brasil e LATAM**, esta técnica é amplamente observada em campanhas contra o setor financeiro e governo. Grupos como [[g1017-volt-typhoon|Volt Typhoon]] e [[g0129-mustang-panda|Mustang Panda]] realizam enumeração de software como parte do reconhecimento inicial em redes corporativas brasileiras, buscando soluções de segurança locais (como Kaspersky, ESET e softwares de compliance do Banco Central) antes de prosseguir com implantação de malware. A presença de ferramentas de backup - alvo da sub-técnica [[t1518-002-backup-software-discovery|T1518.002]] - é especialmente relevante em operações de ransomware que visam desabilitar rotinas de recuperação antes da criptografia. > [!warning] Relevância para o Brasil > Organizações brasileiras frequentemente utilizam software de segurança e ERP com versões desatualizadas, tornando a enumeração especialmente valiosa para adversários. A presença de soluções como SAP, TOTVS e ferramentas de gestão de TI nacionais amplia a superfície de interesse para enumeração. ## Attack Flow ```mermaid graph TB A([Acesso Inicial]) --> B([Execução]) B --> C([Discovery]) C --> D{T1518<br>Software Discovery}:::highlight D --> E([T1518.001<br>Security Software Discovery]) D --> F([T1518.002<br>Backup Software Discovery]) D --> G([Escalada de Privilégios]) D --> H([Movimentação Lateral]) G --> I([Impacto / Exfiltração]) H --> I classDef highlight fill:#e74c3c,color:#fff ``` ## Como Funciona **Passo 1 - Consulta ao Registro e WMI (Windows)** O adversário executa consultas ao registro do Windows (`HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall`) ou via WMI (`Win32_Product`, `Win32_InstalledSoftware`) para listar todos os programas instalados. Ferramentas como `reg query`, `wmic product get`, ou cmdlets PowerShell (`Get-WmiObject`, `Get-ItemProperty`) são utilizadas. Em Linux, o equivalente é consultar gerenciadores de pacotes (`dpkg -l`, `rpm -qa`, `apt list --installed`). **Passo 2 - Identificação de Alvos de Alto Valor** Com a lista em mãos, o adversário filtra por categorias críticas: EDRs e antivírus (para [[t1518-001-security-software-discovery|evasão de segurança]]), soluções de backup (para [[t1518-002-backup-software-discovery|desabilitação pré-ransomware]]), softwares vulneráveis com CVEs conhecidos (para [[t1068-exploitation-privilege-escalation|exploração de privilégios]]) e ferramentas de administração remota que possam ser abusadas. Malwares como [[s0154-cobalt-strike|Cobalt Strike]] e [[s0455-metamorfo|Metamorfo]] automatizam essa filtragem. **Passo 3 - Exfiltração e Uso Operacional** Os resultados são armazenados localmente ou exfiltrados para infraestrutura controlada pelo atacante. Em ambientes de nuvem (IaaS), o adversário pode utilizar APIs de inventário do provedor (AWS Systems Manager Inventory, Azure Resource Graph) para enumerar software em instâncias remotas sem precisar de acesso direto a cada host, amplificando o alcance da técnica. ## Detecção ### Event IDs Relevantes (Windows) | Fonte | Event ID | Descrição | |-------|----------|-----------| | Security | 4688 | Criação de processo - monitorar `wmic.exe`, `reg.exe`, `powershell.exe` com args suspeitos | | System | 7045 | Novo serviço instalado (indicador de backdoor pós-descoberta) | | PowerShell | 4103/4104 | Execução de script - `Get-WmiObject Win32_Product`, `Get-ItemProperty Uninstall` | | Sysmon | 1 | Process Creaté - linha de comando com padrões de enumeração | | Sysmon | 13 | Registry Value Set - monitorar leituras em chave Uninstall | ### Sigma Rule ```yaml title: Software Discovery via WMI and Registry id: a3b7f2c1-4e8d-4a9b-bc3f-1d2e5f6a7b8c status: experimental description: > Detecta enumeração de software instalado via WMI ou consulta ao registro do Windows, comportamento característico da técnica T1518. author: RunkIntel daté: 2026-03-24 references: - https://attack.mitre.org/techniques/T1518 logsource: category: process_creation product: windows detection: selection_wmic: Image|endswith: '\wmic.exe' CommandLine|contains: - 'product get' - 'Win32_Product' - 'Win32_InstalledSoftware' selection_reg: Image|endswith: '\reg.exe' CommandLine|contains: - 'Uninstall' - 'CurrentVersion\Software' selection_ps: Image|endswith: - '\powershell.exe' - '\pwsh.exe' CommandLine|contains: - 'Get-WmiObject' - 'Get-ItemProperty' - 'Win32_Product' - 'Uninstall' condition: 1 of selection_* falsepositives: - Ferramentas de inventário legítimas (SCCM, Ansible, scripts de auditoria) - Administradores de sistema realizando inventário manual level: medium tags: - attack.discovery - attack.t1518 ``` ## Mitigação | Controle | Descrição | Prioridade para Orgs Brasileiras | |----------|-----------|----------------------------------| | Restringir WMI remoto | Bloquear acesso WMI remoto via GPO e firewall para estações não-administrativas | Alta - WMI é frequentemente exposto em redes flat brasileiras | | Monitoramento de linha de comando | Habilitar auditoria de criação de processos (Event ID 4688) com linha de comando completa | Alta - muitas orgs ainda não têm esse log habilitado | | Princípio do menor privilégio | Contas de usuário não devem ter permissão de ler chaves de registro sensíveis do sistema | Alta - aplica-se a todos os setores regulados (BACEN, ANS, ANEEL) | | EDR com inspeção de comportamento | Soluções EDR devem detectar padrões de enumeração em cadeia (múltiplas queries em sequência) | Média - fundamental para setores financeiro e governo | | Segmentação de rede | Impedir que hosts comuns acessem APIs de inventário de nuvem sem autenticação multifator | Média - crítico para orgs com workloads em AWS/Azure | | Auditoria de scripts PowerShell | Habilitar Script Block Logging e Transcription para todos os hosts com PS habilitado | Alta - PowerShell é vetor primário de enumeração em ambientes Windows | ## Threat Actors que Usam Esta Técnica [[g1017-volt-typhoon|Volt Typhoon]] - grupo de espionagem chinês com histórico de operações de longa duração em infraestrutura crítica. Realiza enumeração meticulosa de software antes de qualquer ação, priorizando a identificação de soluções de monitoramento e EDR que possam expor sua presença. Relevante para organizações de energia e telecomúnicações no Brasil. [[g0129-mustang-panda|Mustang Panda]] - APT chinês focado em espionagem governamental e diplomática. Utiliza [[s0455-metamorfo|Metamorfo]] e outros stagers para automatizar a enumeração de software como parte de seu processo de reconhecimento inicial. Campanhas documentadas na América Latina. [[g0069-mango-sandstorm|MuddyWater]] - grupo iraniano que usa [[s0674-charmpower|CharmPower]] para descoberta de software como etapa preparatória para implantação de backdoors. Documentado em ataques a organizações de telecomúnicações. [[g1008-sidecopy|SideCopy]] e [[g0121-sidewinder|Sidewinder]] - grupos sul-asiáticos com campanhas direcionadas a governos. Utilizam [[s0062-dustysky|DustySky]] e ferramentas customizadas para mapeamento de software em alvos governamentais. [[g1001-hexane|HEXANE]] - grupo focado em setor de energia e telecomúnicações. A enumeração de software de controle industrial (ICS/SCADA) é característica operacional documentada. ## Software Associado | Ferramenta | Tipo | Uso na Técnica | |------------|------|----------------| | [[s0154-cobalt-strike\|Cobalt Strike]] | Framework C2 | Módulo `execute-assembly` para enumeração automatizada | | [[s0455-metamorfo\|Metamorfo]] | Malware banking | Enumera soluções de segurança bancárias (muito ativo no Brasil) | | [[s1042-sugardump\|SUGARDUMP]] | Infostealer | Lista software instalado como parte do perfil da vítima | | [[s0126-comrat\|ComRAT]] | RAT | Inclui rotina de software discovery no reconhecimento inicial | | [[s0658-xcsset\|XCSSET]] | Malware macOS | Enumera apps instalados em sistemas macOS via AppleScript | | [[s1153-cuckoo-stealer\|Cuckoo Stealer]] | Infostealer | Coleta inventário completo de software para exfiltração | | [[s0445-shimratreporter\|ShimRatReporter]] | Ferramenta | Especializado em enumeração de software para relatórios de C2 | | [[s0062-dustysky\|DustySky]] | RAT | Módulo dedicado de software discovery em alvos governamentais | | [[s0623-siloscape\|Siloscape]] | Malware container | Enumera software em ambientes Kubernetes/Windows containers | | [[s0674-charmpower\|CharmPower]] | Backdoor | Coleta inventário de software como módulo de reconhecimento | ## Sub-técnicas - [[t1518-001-security-software-discovery|T1518.001 - Security Software Discovery]] - [[t1518-002-backup-software-discovery|T1518.002 - Backup Software Discovery]]