SOC Prime Bias: Crítico

12 Jan 2026 12:59 UTC

Phishing de Credenciais BlueDelta (APT28) via Hospedagem Gratuita e Ngrok

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Phishing de Credenciais BlueDelta (APT28) via Hospedagem Gratuita e Ngrok
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

BlueDelta, um grupo afiliado ao GRU também conhecido como APT28/Fancy Bear, conduziu várias campanhas de coleta de credenciais entre fevereiro e setembro de 2025. As campanhas usaram serviços gratuitos de hospedagem e tunelamento para hospedar páginas de login falsificadas do Outlook, Google e VPN Sophos e exfiltrar credenciais capturadas. As iscas incluíram documentos PDF legítimos e linguagem específica da região para aumentar a credibilidade. A operação teve como alvo entidades de energia, pesquisa nuclear, governamentais e acadêmicas na Turquia, Macedônia do Norte e Uzbequistão.

Investigação

O Insikt Group da Recorded Future coletou mais de uma dúzia de páginas de phishing hospedadas em serviços como Webhook.site, InfinityFree, Byet Internet Services e ngrok. O JavaScript nas páginas capturava nomes de usuário, senhas e identificadores das vítimas, enviava sinais para webhooks controlados por atacantes e, em seguida, redirecionava as vítimas para portais autênticos. Múltiplas variantes reutilizaram código e modificaram nomes de variáveis para simplificar a implantação. A infraestrutura era de curta duração e utilizava encurtadores de links como ShortURL.at.

Mitigação

Bloquear domínios conhecidos de hospedagem gratuita e tunelamento, monitorar tráfego de saída para serviços de webhook e reforçar MFA em todas as contas expostas externamente. Educar os usuários sobre páginas de phishing que imitam portais OWA, Google e VPN, especialmente quando iscas em PDF estão anexadas. Implementar filtragem de rede para URLs maliciosos conhecidos e aplicar controles de segurança de e-mail para detectar links suspeitos em PDF.

Resposta

Alerta os analistas do SOC quando forem observados POSTs HTTP para endpoints de webhook conhecidos e quando forem carregadas páginas de coleta de credenciais. Quarentenar a página maliciosa, isolar contas de usuários afetadas, forçar redefinições de senhas e revisar logs para movimentos laterais. Conduzir uma caçada a ameaças por outras páginas usando a mesma infraestrutura e atualizar listas de bloqueio conforme necessário.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Cheque de Pré-Voo de Telemetria & Baseline deve ter sido aprovado.

Racional: 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 narrativas DEVEM refletir diretamente os TTPs identificados e visar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a erros de diagnóstico.

  • Narrativa de Ataque & Comandos:

    1. Entrega inicial de phishing: Um atacante envia um e-mail de phishing contendo um URL curto que redireciona para o malicioso webhook.site página.
    2. Interação da vítima: A vítima clica no link; o navegador segue o redirecionamento e emite um HTTP GET solicitação para https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7.
    3. Página de captura de credenciais: A página hospeda JavaScript que rouba as credenciais inseridas e as POSTs de volta para a mesma URL de webhook, mas o proxy apenas registra a solicitação GET inicial, o que é suficiente para acionar a regra.
    4. Para o teste, emulamos a vítima usando o Invoke-WebRequest do PowerShell para solicitar o URL malicioso exato, reproduzindo a mesma entrada de log no proxy.
  • Script de Teste de Regressão:

    # -------------------------------------------------
    # Simulação de Acesso ao Site de Webhook BlueDelta (TC-20260109-9X3BZ)
    # -------------------------------------------------
    $maliciousUrls = @(
        "https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7",
        "https://webhook.site/3791f8c0-1308-4c5b-9c82-0dc416aeb9c4"
    )
    
    foreach ($url in $maliciousUrls) {
        try {
            Write-Host "Solicitando URL malicioso: $url"
            Invoke-WebRequest -Uri $url -UseBasicParsing -Method GET -TimeoutSec 10 | Out-Null
            Write-Host "✅ Solicitação enviada."
        } catch {
            Write-Warning "Solicitação para $url falhou: $_"
        }
    }
  • Comandos de Limpeza:

    # Limpar cache de proxy (se aplicável) para evitar entradas residuais
    net stop "Squid Service"
    net start "Squid Service"
    
    # Remover quaisquer arquivos temporários criados pelo script (nenhum neste caso)
    Write-Host "Limpeza concluída."