NotDoor Insights: Uma Análise Detalhada de Macros do Outlook e Além
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Este artigo examina o backdoor NotDoor, que abusa de macros maliciosas do Outlook VBA para manter persistência e fornecer comando e controle. O payload é entregue via DLL sideloading de um SSPICLI.dll que se disfarça como um legítimo OneDrive.exe binário. Scripts PowerShell ofuscados manipulam a exfiltração de dados via serviços de webhook e ajustam configurações do registro do Outlook para forçar a execução de macros. A orientação de detecção foca no rastreamento da criação de arquivos suspeitos, atividade de carregamento de DLL, alterações no registro e comandos PowerShell codificados.
Análise do Backdoor NotDoor
Análises adicionais revelam que a DLL fraudulenta cria um diretório temporário, escreve um payload no arquivo VBAProject.OTM do Outlook e configura chaves de registro para permitir todas as macros. Então, executa instruções PowerShell codificadas em base64 que emitem callbacks de DNS e HTTP para webhook.site and dnshook.site. As alterações no registro incluem habilitar LoadMacroProviderOnBoot, diminuir o nível de segurança do Outlook e modificar PONT_STRING para suprimir prompts de segurança.
Mitigação
As principais mitigações incluem limitar as oportunidades de DLL sideloading, impor requisitos de assinatura de código para executáveis, monitorar a criação de VBAProject.OTM por processos não-Outlook, e bloquear conexões de saída para os domínios de webhook identificados. Além disso, equipes podem aplicar princípios de privilégio mínimo a modificações de registro e desativar o carregamento automático de macros sempre que possível.
Resposta
Quando atividade NotDoor é detectada, isole o endpoint comprometido, adquira a DLL maliciosa e cargas associadas, e realize uma revisão forense das edições de registro e traços de rede. Bloqueie domínios e IPs associados, inicie uma busca mais ampla por comportamentos similares de DLL sideloading, redefina políticas de macro do Outlook e verifique se as configurações de segurança de todos os usuários foram endurecidas novamente.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef action fill:#99ccff classDef operator fill:#ff9900 %% Nodes – Actions / Techniques initial_access[u0022u003cbu003eAçãou003c/bu003e – Acesso inicial via ponto de apoio existenteu0022] class initial_access action dll_sideload[u0022u003cbu003eTécnicau003c/bu003e – u003cbu003eT1574.001 Sequestro do Fluxo de Execução: DLLu003c/bu003eu003cbr/u003eOneDrive.exe carrega a SSPICLI.dll maliciosa por meio de DLL sideloadingu0022] class dll_sideload technique powershell[u0022u003cbu003eTécnicau003c/bu003e – u003cbu003eT1059.001 Interpretador de Comandos e Scripts: PowerShellu003c/bu003eu003cbr/u003eComandos PowerShell codificados em Base64 executados para verificações de rede e cópia de arquivosu0022] class powershell technique office_macro[u0022u003cbu003eTécnicau003c/bu003e – u003cbu003eT1137.001 Inicialização de Aplicativos Office: Macros de Modelo do Officeu003c/bu003eu003cbr/u003eMacro VBA colocada em %APPDATA%\\Microsoft\\Outlook\\VbaProject.OTMu0022] class office_macro technique vba_stomping[u0022u003cbu003eTécnicau003c/bu003e – u003cbu003eT1564.007 Ocultar Artefatos: VBA Stompingu003c/bu003eu003cbr/u003eA macro monitora e-mails recebidos (Application_NewMailEx) para gatilhos de C2 e exfiltra dadosu0022] class vba_stomping technique vb_interpreter[u0022u003cbu003eTécnicau003c/bu003e – u003cbu003eT1059.005 Interpretador de Comandos e Scripts: Visual Basicu003c/bu003eu003cbr/u003eO código VBA executa comandos e se comunica via Outlooku0022] class vb_interpreter technique %% Nodes – Files / Objects file_oneDrive[u0022u003cbu003eArquivou003c/bu003e – OneDrive.exeu0022] class file_oneDrive file file_sspicli[u0022u003cbu003eArquivou003c/bu003e – SSPICLI.dllu0022] class file_sspicli file file_vba[u0022u003cbu003eArquivou003c/bu003e – VbaProject.OTMu0022] class file_vba file email_monitor[u0022u003cbu003eObjetou003c/bu003e – Aplicativo Outlooku003cbr/u003eMonitora e-mails recebidos (Application_NewMailEx)u0022] class email_monitor action outlook_comm[u0022u003cbu003eObjetou003c/bu003e – Outlooku003cbr/u003eComunica-se com C2 e exfiltra dadosu0022] class outlook_comm action %% Connections – Flow of the attack initial_access u002du002du003e|leva_a| dll_sideload dll_sideload u002du002du003e|usa| file_oneDrive dll_sideload u002du002du003e|carrega| file_sspicli dll_sideload u002du002du003e|aciona| powershell powershell u002du002du003e|leva_a| office_macro office_macro u002du002du003e|coloca| file_vba office_macro u002du002du003e|habilita| vba_stomping office_macro u002du002du003e|habilita| vb_interpreter vba_stomping u002du002du003e|monitora| email_monitor vb_interpreter u002du002du003e|comunica_via| outlook_comm
Fluxo de Ataque
Detecções
Detecção de Modificações Maliciosas no Registro pelo Malware NotDoor [Evento do Registro do Windows]
Visualizar
Execução de Comando PowerShell Codificado [Windows PowerShell]
Visualizar
IOCs (HashSha256) para detectar: NotDoor Insights: Uma Olhada Mais de Perto em Macros do Outlook e Mais
Visualizar
Outlook em persistência baseada em e-mail (via file_event)
Visualizar
Possível Abuso do Outlook / Degradação de Segurança (via registry_event)
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter sido aprovado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
Um invasor que obteve execução em nível de usuário na máquina da vítima implanta o malware NotDoor. O objetivo do malware é garantir que o Outlook carregue automaticamente uma macro maliciosa na inicialização do sistema, desative avisos de segurança e suprimir diálogos pop-up. Para conseguir isso, o invasor escreve três valores de registro específicos sob a chave do Outlook:-
LoadMacroProviderOnBootdefinido para1emHKCUSoftwareMicrosoftOutlook– força o Outlook a carregar o provedor de macros a cada inicialização. -
Níveldefinido para1emHKCUSoftwareMicrosoftOutlookSecurity– diminui o nível de segurança das macros. -
PONT_STRINGdefinido para um CLSID malicioso emHKCUSoftwareMicrosoftOutlookOptionsGeneral– aponta o Outlook para a DLL de macro maliciosa.
Essas gravações geram eventos de Mudança de Registro que satisfazem
seleção1and (seleção2orseleção3) na regra Sigma, causando o disparo do alerta. -
-
Script de Teste de Regressão:
# Simulação de modificação de registro NotDoor – PowerShell function Set-NotDoorOutlookRegistry { # 1. Habilitar provedor de macro na inicialização New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -Value 1 -PropertyType DWORD -Force # 2. Diminuir nível de aviso de segurança New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -Value 1 -PropertyType DWORD -Force # 3. Apontar para macro maliciosa (simulado CLSID) $maliciousClsid = "{12345678-1234-1234-1234-123456789ABC}" New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -Value $maliciousClsid -PropertyType String -Force } # Executar o ataque simulado Set-NotDoorOutlookRegistry -
Comandos de Limpeza:
# Remover as modificações de registro simuladas do NotDoor Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -ErrorAction SilentlyContinue