Sequestro de Navegador: Análise de Três Técnicas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo explora três técnicas diferentes usadas por sequestradores de navegador para manipular navegadores de usuários no Windows. Ele cobre a adulteração direta dos arquivos de preferência do navegador, a emulação de pressionamentos de tecla que aciona remotamente a interface do navegador e o uso indevido de comandos de linha do Chromium para carregar extensões maliciosas. Cada método é acompanhado por artefatos representativos e exemplos de código. O objetivo principal desses sequestros é a injeção de anúncios e redirecionamento não autorizado, em vez de roubo de credenciais ou extração direta de dados.
Investigação
O pesquisador revisou malware associado às campanhas TamperedChef/BaoLoader e identificou um módulo nativo, UtilityAddon.node, utilizado para coletar identificadores de sistema e alterar arquivos de preferência do Firefox e Chrome. Uma segunda amostra exibiu uma ferramenta de acesso remoto do navegador (BRAT) que simula atalhos de teclado para alterar a barra de endereços, abrir novas abas e gerar cliques fraudulentos em anúncios. O terceiro cenário envolveu um sequestrador baseado em VBS/PowerShell que configura tarefas agendadas, monitora a criação de processos via WMI, desativa atualizações do Chrome e força o carregamento de uma extensão maliciosa por meio de um comando de linha do Chromium agora obsoleto.
Mitigação
Os defensores devem remover ou colocar em quarentena componentes sequestradores, como UtilityAddon.node, entradas .reg maliciosas e scripts PowerShell suspeitos. Desabilite ou exclua tarefas agendadas que invoquem scripts desconhecidos ou não confiáveis. Restaure os arquivos de preferência do navegador a partir de backups confiáveis e aplique permissões de arquivo restritas. Monitore ou bloqueie tentativas de usar a chave de extensão de carregamento legado do Chromium e verifique se os mecanismos de atualização automática do Chrome permanecem ativados.
Resposta
Ao detectar, procure pelos artefatos descritos e rastreie alterações nos arquivos de preferência do navegador, valores de registro que interferem nas atualizações e parâmetros atípicos de linha de comando do navegador. Isole as máquinas impactadas, capture evidências voláteis e faça uma revisão minuciosa das extensões instaladas e ativamente carregadas. Use scripts de remediação automatizados para redefinir as configurações do navegador para padrões seguros e reativar os serviços de atualização. Finalmente, monitore qualquer indicador de rede relacionado que possa sinalizar atividade de comando e controle.
“graph TB %% Definições de classes classDef action fill:#99ccff %% Definições de nós action_create_scheduled_task[“<b>Ação</b> – <b>T1037 Scripts de Inicialização de Boot ou Logon</b><br/>Crie uma tarefa agendada usando configuration.ps1 para persistência”] class action_create_scheduled_task action action_wmi_subscription[“<b>Ação</b> – <b>T1546.003 Assinatura de Evento WMI</b><br/>Configurar assinatura de evento WMI que monitora processos do chrome.exe e edge.exe”] class action_wmi_subscription action action_terminate_relaunch[“<b>Ação</b> – <b>T1547.014 Modificação de Atalho / T1176 Extensões de Navegador</b><br/>Encerrar o navegador e reiniciá-lo com uma extensão maliciosa carregada”] class action_terminate_relaunch action action_load_extension[“<b>Ação</b> – <b>T1176 Extensões de Navegador</b><br/>Carregar extensão maliciosa via switch u002du002dloadu2011extension (política DisableLoadExtensionCommandLineSwitch)”] class action_load_extension action action_disable_updates[“<b>Ação</b> – <b>T1176 Extensões de Navegador</b><br/>Desativar atualizações automáticas do Chrome aplicando um arquivo .reg criado”] class action_disable_updates action action_gather_hmac[“<b>Ação</b> – <b>T1548.006 Seqüestro de Modelo de Objeto do Componente</b><br/>UtilityAddon.node coleta SID e número de série do volume, calcula HMAC para Preferências Seguras”] class action_gather_hmac action action_keypress_sim[“<b>Ação</b> – <b>T1185 Homem no Navegador</b><br/>Componente BRAT simula pressionamentos de tecla para controlar o navegador”] class action_keypress_sim action action_ad_injection[“<b>Ação</b> – <b>Resultado</b><br/>Manipular barra de endereços, injetar anúncios e roubar dados”] class action_ad_injection action %% Conexões action_create_scheduled_task u002du002d>|habilita| action_wmi_subscription action_wmi_subscription u002du002d>|aciona| action_terminate_relaunch action_terminate_relaunch u002du002d>|usa| action_load_extension action_terminate_relaunch u002du002d>|usa| action_disable_updates action_create_scheduled_task u002du002d>|fornece dados para| action_gather_hmac action_gather_hmac u002du002d>|suporta| action_keypress_sim action_keypress_sim u002du002d>|leva a| action_ad_injection “
Fluxo de Ataque
Detecções
Atividade Suspeita de Carregamento de Extensões de Navegador (via cmdline)
Visualizar
IOCs (HashSha256) para detectar: Sequestro de Navegador: Três Estudos de Técnicas
Visualizar
Sequestro de Navegador via Modificação de Arquivo de Preferência [Evento de Arquivo do Windows]
Visualizar
Monitoramento de Script PowerShell e Encerramento de Processos do Navegador [PowerShell do Windows]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré‑voo de Telemetria & Baseline deve ter passado.
-
Narrativa de Ataque & Comandos:
O adversário anteriormente deixou um script PowerShell malicioso chamado configuration.ps1 em%LOCALAPPDATA%DiagnosticNET. O script monitora continuamente os processos do navegador (Chrome, Edge, Firefox) e encerra-os, forçando o reinício do navegador do usuário e o carregamento de uma extensão maliciosa que o invasor colocou anteriormente no perfil do usuário. Para acionar a detecção, o atacante lança o script via chamada direta do PowerShell:- Crie a pasta oculta e coloque o script malicioso.
- Execute o script com
powershell.exeusando uma linha de comando em texto claro que corresponda à condição da regra. - O script registra sua atividade no console (para fins de demonstração) e mata os navegadores alvo.
-
Script de Teste de Regressão:
# --------------------------------------------------------- # Script de regressão – reproduz a atividade que aciona a detecção # --------------------------------------------------------- # 1. Prepare o diretório oculto $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (-not (Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null # Oculte o diretório (Get-Item $targetDir).Attributes = 'Hidden','Directory' } # 2. Coloque o configuration.ps1 malicioso $scriptPath = Join-Path $targetDir "configuration.ps1" @' # Script de configuração malicioso – encerra navegadores $browsers = @("chrome", "msedge", "firefox") foreach ($proc in $browsers) { Get-Process -Name $proc -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue } Write-Output "Processos de navegador encerrados." '@ | Set-Content -Path $scriptPath -Encoding UTF8 # 3. Execute o script via PowerShell – isto deve acionar a regra Sigma $cmd = "$env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File `"$scriptPath`"" Write-Host "Executando script malicioso:" $cmd & $env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File $scriptPath -
Comandos de Limpeza:
# --------------------------------------------------------- # Limpeza – remove artefatos criados pelo teste de regressão # --------------------------------------------------------- # Pare quaisquer processos de navegador que possam ter sido encerrados # (Nenhuma ação necessária – navegadores podem ser reiniciados manualmente) # Remova o script malicioso e pasta oculta $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } # Opcionalmente, limpe o histórico de linhas de comando do PowerShell Clear-History