# T1546.007 - Netsh Helper DLL ## Descrição Adversários podem estabelecer persistência executando conteúdo malicioso acionado por DLLs Helper do Netsh. O `netsh.exe` (também conhecido como Netshell) é um utilitário de linha de comando nativo do Windows utilizado para interagir com a configuração de rede do sistema. Originalmente projetado para administração de rede - configuração de firewalls, interfaces de rede, protocolos e políticas IPsec - o `netsh.exe` possui um sistema extensível de plugins chamado "Helper DLLs" que adiciona funcionalidade ao utilitário. Os caminhos para as DLLs helper registradas são armazenados no registro do Windows em `HKLM\SOFTWARE\Microsoft\Netsh`. O aspecto central que torna essa técnica relevante do ponto de vista de persistência é que adversários podem registrar suas próprias DLLs maliciosas como helpers do `netsh.exe`, acionando execução de código arbitrário de forma persistente. Essa execução ocorre sempre que o `netsh.exe` é executado - o que pode acontecer automaticamente por software de terceiros, como clientes VPN, ferramentas de diagnóstico de rede, scripts de administração automatizados, ou até por outras técnicas de persistência do adversário que acionem o `netsh.exe` como parte de sua execução. A técnica é particularmente discreta porque se aproveita de uma ferramenta administrativa legítima e amplamente reconhecida no Windows, tornando difícil para analistas menos experientes distinguir o comportamento malicioso de uso administrativo regular. Além disso, como o registro das DLLs helper ocorre em uma chave de registro relativamente obscura comparada a chaves de persistência mais conhecidas como `Run` e `RunOnce`, a chance de detecção por varreduras básicas de persistência é reduzida. ## Como Funciona O mecanismo de funcionamento da técnica envolve os seguintes passos técnicos: 1. **Desenvolvimento da DLL maliciosa**: O adversário cria uma DLL que exporta as funções necessárias para funcionar como um helper do `netsh.exe`. A função principal que será chamada é tipicamente `InitHelperDll`, que é invocada quando a DLL é carregada pelo `netsh.exe`. 2. **Posicionamento da DLL**: A DLL maliciosa é colocada em um caminho acessível no sistema de arquivos. Adversários frequentemente escolhem caminhos que se mesclam com arquivos do sistema, como `%SystemRoot%\System32\` ou subdiretórios de aplicações legítimas, para dificultar a detecção. 3. **Registro no HKLM\SOFTWARE\Microsoft\Netsh**: O adversário escreve o caminho da DLL maliciosa nessa chave de registro. Isso requer privilégios administrativos, pois a chave reside em `HKLM`. O registro é feito como um novo valor de string contendo o caminho completo da DLL. 4. **Acionamento via netsh.exe**: Na próxima vez que o `netsh.exe` for executado - sejá manualmente, por software que depende dele, ou por tarefas agendadas - ele carrega todas as DLLs registradas na chave, incluindo a DLL maliciosa. A função `InitHelperDll` é chamada, executando o payload. 5. **Execução persistente**: Como o `netsh.exe` pode ser invocado múltiplas vezes pelo sistema e por aplicações de rede, a DLL maliciosa é executada repetidamente, garantindo persistência robusta. Aplicações como clientes VPN (Cisco AnyConnect, GlobalProtect, Pulse Secure) frequentemente invocam o `netsh.exe` durante conexão/desconexão, criando gatilhos automáticos para a DLL maliciosa. O código malicioso executado dentro da DLL helper roda no contexto de privilégios do processo `netsh.exe`, que tipicamente opera com privilégios de usuário padrão, mas pode ser elevado quando invocado por serviços de sistema ou scripts administrativos. | ID | Mitigação | Descrição | |----|-----------|-----------| | Controle de Acesso ao Registro | Hardening de Registro | Restringir permissões de escrita na chave `HKLM\SOFTWARE\Microsoft\Netsh` a contas administrativas específicas via ACLs. Monitorar e auditar qualquer modificação nessa chave. | | Application Control | Controle de Execução de DLL | Implementar políticas WDAC (Windows Defender Application Control) ou AppLocker para restringir quais DLLs não assinadas podem ser carregadas pelo `netsh.exe`. | | Monitoramento de Integridade | FIM (File Integrity Monitoring) | Monitorar integridade das DLLs registradas na chave Netsh. Qualquer nova entrada ou modificação de DLL existente deve gerar alerta imediato. | | Princípio do Menor Privilégio | Controle de Privilégios | Limitar o número de contas com privilégios de escrita em chaves `HKLM`. Implementar PAM (Privileged Access Management) para operações administrativas. | **Hardening recomendado:** - Auditar e documentar todas as DLLs helper legítimas registradas no `netsh.exe` em cada tipo de sistema do ambiente - Implementar detecção de linha de base via ferramenta de EDR que alerte para qualquer nova entrada na chave `HKLM\SOFTWARE\Microsoft\Netsh` - Considerar o uso do **Windows Defender Credential Guard** e **Virtualization Based Security (VBS)** para reduzir a superfície de ataque em sistemas críticos ## Attack Flow ```mermaid graph TB A["Acesso Inicial<br/>Comprometimento com<br/>privilégios administrativos"] --> B["DLL Maliciosa<br/>Desenvolvimento e posicionamento<br/>da Helper DLL no sistema"] B --> C["Registro no Netsh<br/>Escrita em HKLM\\SOFTWARE\\<br/>Microsoft\\Netsh"] C --> D["Gatilho de Execução<br/>netsh.exe invocado por VPN,<br/>script ou tarefa agendada"] D --> E["Carregamento da DLL<br/>netsh.exe carrega todas<br/>as DLLs helper registradas"] E --> F["Execução do Payload<br/>InitHelperDll() chamada<br/>com código adversário"] F --> G1["C2 Beacon<br/>Estabelecimento de canal<br/>de comando e controle"] F --> G2["Coleta de Informações<br/>Enumeração de rede,<br/>credenciais, dados"] G1 --> H["Persistência de Longo Prazo<br/>e Movimentação Lateral"] G2 --> H ``` ## Exemplos de Uso ### Uso Documentado em Ferramentas de Red Team A técnica Netsh Helper DLL está implementada em diversas ferramentas de red team e frameworks de pós-exploração públicos, incluindo variações do [[s0154-cobalt-strike|Cobalt Strike]] e repositórios de técnicas como o projeto "Persistence" do GitHub. A sua inclusão em playbooks de red team profissionais indica que a técnica é considerada confiável e funcional em ambientes Windows corporativos modernos. ### Abuso via Software VPN Um padrão de ataque documentado por pesquisadores de segurança envolve o abuso do fato de que clientes VPN corporativos - amplamente utilizados em ambientes de trabalho remoto - frequentemente invocam o `netsh.exe` durante processos de conexão. Isso cria um gatilho automático para a DLL maliciosa toda vez que um usuário se conecta à VPN corporativa, sem necessidade de criar tarefas agendadas ou modificar outras chaves de registro de persistência mais monitoradas. ### Operações de Espionagem APT Grupos de [[_groups|espionagem avançada]] que operam com foco em discreção documentadamente preferem técnicas de persistência que abusam de ferramentas administrativas legítimas - uma categoria na qual a Netsh Helper DLL se encaixa perfeitamente. A abordagem "live off the land" (LOLBins) é uma característica marcante de grupos como [[g0010-turla|Turla]], [[g0016-apt29|APT29]] e [[g0032-lazarus-group|Lazarus]], que buscam minimizar a criação de artefatos novos no sistema para evadir detecção. ### Cenários de Persistência Pós-Comprometimento Em avaliações de segurança ofensiva, a técnica é frequentemente utilizada como persistência secundária ou terciária - um mecanismo de fallback caso os principais canais de C2 sejam detectados e removidos. A relativa obscuridade da chave de registro `HKLM\SOFTWARE\Microsoft\Netsh` em comparação com chaves de persistência mais conhecidas aumenta a probabilidade de sobrevivência em operações de resposta a incidentes que seguem checklists padronizados. ## Detecção ```yaml title: Registro de Nova DLL Helper do Netsh status: experimental logsource: category: registry_set product: windows detection: selection: TargetObject|startswith: 'HKLM\SOFTWARE\Microsoft\Netsh' filter_legitimate: Details|contains: - 'netshell.dll' - 'ifmon.dll' - 'rasmontr.dll' - 'rpcnsh.dll' - 'p2pnetsh.dll' - 'dot3cfg.dll' condition: selection and not filter_legitimate level: high tags: - attack.privilege_escalation - attack.persistence - attack.t1546.007 ``` **Estrategias adicionais de detecção:** - Monitorar **processos filhos de netsh.exe** que realizam conexões de rede ou executam processos adicionais - comportamento incomum para um utilitário de configuração de rede - Auditar regularmente o conteúdo da chave `HKLM\SOFTWARE\Microsoft\Netsh` e comparar com um baseline de DLLs legítimas conhecidas do ambiente - Monitorar via **Sysmon Event ID 7** o carregamento de DLLs não assinadas ou com assinaturas desconhecidas pelo processo `netsh.exe` - Implementar regras de detecção baseadas em comportamento para `netsh.exe` acessando recursos de rede externos ou criando processos filhos inesperados - Verificar integridade de DLLs registradas na chave Netsh via hashing e comparação com valores conhecidos **Baseline de DLLs legítimas para `HKLM\SOFTWARE\Microsoft\Netsh`:** As seguintes entradas são típicas em um sistema Windows legítimo e devem ser incluídas em listas de permissão: `netshell.dll`, `ifmon.dll`, `rasmontr.dll`, `rpcnsh.dll`, `AuthFWSnapin.dll`, `dot3cfg.dll`, `p2pnetsh.dll`, `ndiscfg.dll`, `nshhttp.dll`, `whhelper.dll` ## Mitigação > Nota: O MITRE ATT&CK não documenta mitigações específicas para T1546.007 além de práticas gerais de defesa em profundidade. As recomendações abaixo são baseadas em boas práticas da indústria. ## Contexto Brasil/LATAM A técnica Netsh Helper DLL possui relevância crescente no Brasil e na América Latina por razões diretamente relacionadas ao perfil de maturidade de segurança da região e às tendências de trabalho remoto pós-pandemia. A proliferação de soluções VPN corporativas - especialmente após 2020 - criou um terreno fértil para a exploração desta técnica, uma vez que clientes VPN como Cisco AnyConnect, Palo Alto GlobalProtect e FortiClient frequentemente dependem do `netsh.exe` para configurações de interface e roteamento. Organizações brasileiras dos setores [[_sectors|governo]], [[_sectors|financeiro]] e [[_sectors|energia]] que adotaram trabalho remoto massivamente expandiram sua superfície de ataque indiretamente: cada endpoint com cliente VPN instalado e um sistema Windows sem monitoramento adequado da chave `HKLM\SOFTWARE\Microsoft\Netsh` é potencialmente vulnerável a esta forma de persistência. Grupos APT com interesse documentado em infraestrutura crítica latino-americana - incluindo operações de espionagem contra órgãos governamentais e empresas de energia - demonstram capacidade técnica para empregar técnicas LOLBin como a Netsh Helper DLL. A abordagem é especialmente adequada para operações de espionagem de longa duração onde minimizar ruído e sobreviver a limpezas de incidentes são objetivos prioritários. Adicionalmente, o cenário de cibercrime financeiro brasileiro, que produziu algumas das famílias de trojans bancários mais sofisticadas do mundo, está em constante evolução de capacidades técnicas. A incorporação de técnicas de persistência avançadas como a Netsh Helper DLL em trojans bancários como [[s0531-grandoreiro|Grandoreiro]] e [[mekotio|Mekotio]] é uma progressão natural à medida que esses grupos buscam maior resiliência operacional contra soluções de EDR e antivírus locais. A falta de visibilidade sobre o conteúdo da chave `HKLM\SOFTWARE\Microsoft\Netsh` em ferramentas de segurança de endpoint amplamente utilizadas no mercado brasileiro é um gap de detecção que precisa ser endereçado por equipes de segurança proativas. ## Referências - [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] (técnica pai) - [[t1574-hijack-execution-flow|T1574 - Hijack Execution Flow]] (técnica relacionada de sequestro de execução) - [[t1055-process-injection|T1055 - Process Injection]] (técnica relacionada de injeção de processo) - [[g0010-turla|Turla]] (grupo com perfil operacional compatível com uso desta técnica) - [[g0016-apt29|APT29]] (grupo com uso documentado de LOLBins similares) - [[s0154-cobalt-strike|Cobalt Strike]] (framework com implementação desta técnica) - [[s0108-netsh|netsh]] (ferramenta nativa explorada) - [[t1562-impair-defenses|T1562 - Impair Defenses]] (frequentemente combinada para reduzir visibilidade) --- *Fonte: [MITRE ATT&CK - T1546.007](https://attack.mitre.org/techniques/T1546/007)*