Análise APT Prince of Persia: Malware Infy, Foudre e Tonnerre
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Prince of Persia (também rastreado como APT-C-07) é um ator de ciberespionagem alinhado ao Irã, avaliado como ativo desde 2007. O grupo passou por várias famílias de malware proprietário—Infy, Foudre, Tonnerre, e MaxPinner—para monitorar organizações de mídia, entidades políticas e alvos da sociedade civil. As operações geralmente misturam spear-phishing com caminhos de infecção oportunistas e dependem de métodos personalizados de comando e controle, incluindo canais baseados em bots do Telegram, para manter o acesso e mover dados de sistemas comprometidos.
Investigação
A Unidade 42 e outras equipes de pesquisa rastrearam a progressão das ferramentas do ator desde a infraestrutura Infy observada em 2016 até o retorno da atividade Foudre em 2017 e uma iteração de 2025 do Tonnerre que utiliza o Telegram para comando e controle. Relatórios técnicos destacam a entrega através de macros do Visual Basic, persistência via instalação de serviços do Windows e o uso de lógica de geração de domínios para suportar uma infraestrutura resiliente. Analistas também documentaram a funcionalidade nativa em nível de API do Windows usada para acesso a credenciais e comportamentos de vigilância como keylogging, juntamente com padrões de execução que indicam refinamento contínuo das técnicas pós-comprometimento.
Mitigação
Aplique controles rigorosos para macros do Office e imponha a sanitização de anexos de e-mail para reduzir as oportunidades de execução inicial. Implemente controles de rede para restringir ou monitorar de perto o tráfego do Telegram em ambientes onde não é necessário para operações comerciais. Nos endpoints, alerte para a criação suspeita de serviços, rastreie o uso de rundll32 consistente com cadeias de execução DLL, e bloqueie nomes de arquivos maliciosos conhecidos e padrões de persistência baseados em registro. Mantenha o conteúdo de detecção atualizado para padrões de domínio dinâmicos associados a comportamentos semelhantes ao DGA e valide rotineiramente os controles contra a telemetria atual.
Resposta
Se indicadores forem detectados, isole o sistema afetado, capture artefatos voláteis e procure por nomes específicos de serviços e entradas no registro usados para persistência. Expanda a triagem para a criação de tarefas agendadas, atividade anômala de carga de DLL e qualquer evidência de comunicações de C2 baseadas no Telegram. Remova serviços maliciosos e arquivos em estágio usando playbooks de remediação aprovados, então troque credenciais potencialmente expostas e monitore de perto para tentativas de reentrada ou reinfecção em hosts adjacentes.
graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes for each step step1[“<b>Ação</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>O adversário envia um e-mail direcionado com um documento Office malicioso contendo macros.”] class step1 action step2[“<b>Ação</b> – <b>T1059.005 Visual Basic</b><br/>A macro executa código VBA que extrai e executa o payload Infy/Foudre.”] class step2 action malware_inf[“<b>Malware</b> – <b>Nome</b>: Infy/Foudre<br/><b>Descrição</b>: Payload entregue via macro do Office.”] class malware_inf malware step3[“<b>Ação</b> – <b>T1204.001 Link Malicioso</b><br/>A vítima clica em um link ou abre o anexo, acionando a execução da macro.”] class step3 action step4[“<b>Ação</b> – <b>T1574.010 Sequestro do Fluxo de Execução por Permissões Fracas</b><br/>O malware cria um serviço do Windows com permissões modificadas para persistência.”] class step4 action step5[“<b>Ação</b> – <b>T1027 Arquivos ou Informações Ofuscadas</b><br/>O payload é empacotado em um arquivo autoextraível protegido por senha usando codificação personalizada.”] class step5 action step6[“<b>Ação</b> – <b>T1036 Disfarce</b><br/>Arquivos maliciosos são nomeados para se parecerem com softwares legítimos como “Cyberlink” ou “SnailDriver”.”] class step6 action step7[“<b>Ação</b> – <b>T1056.001 Captura de Entrada (Keylogging)</b><br/>O keylogging é realizado via ganchos da API do Windows para capturar credenciais do usuário.”] class step7 action step8[“<b>Ação</b> – <b>T1555.003 Credenciais de Armazenamentos de Senhas de Navegadores</b><br/>Rouba senhas, cookies e histórico de navegação do Chrome, Edge, Firefox e outros navegadores.”] class step8 action step9[“<b>Ação</b> – <b>T1012 Consulta ao Registro</b><br/>Lê HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid para obter o identificador do sistema.”] class step9 action step10[“<b>Ação</b> – <b>T1518 Descoberta de Software</b> e <b>T1518.001 Descoberta de Software de Segurança</b><br/>Enumera aplicativos instalados e verifica a presença de diretórios de antivírus.”] class step10 action step11[“<b>Ação</b> – <b>T1010 Descoberta de Janelas de Aplicativos</b><br/>Enumera janelas abertas para detectar ferramentas de segurança ou consoles de análise.”] class step11 action step12[“<b>Ação</b> – <b>T1005 Dados do Sistema Local</b><br/>Coleta documentos, imagens e arquivos das pastas do usuário.”] class step12 action op_collect_methods((“AND”)) class op_collect_methods operator step13[“<b>Ação</b> – <b>T1113 Captura de Tela</b>, <b>T1123 Captura de Áudio</b>, <b>T1125 Captura de Vídeo</b>, <b>T1115 Dados da Área de Transferência</b><br/>Grava tela, microfone, webcam e conteúdo da área de transferência.”] class step13 action step14[“<b>Ação</b> – <b>T1074.001 Preparação Local de Dados</b><br/>Compacta arquivos coletados em arquivos ZIP ou RAR em locais temporários.”] class step14 action step15[“<b>Ação</b> – <b>T1102.002 Comunicação Bidirecional via Serviço Web</b><br/>Usa um bot ou grupo do Telegram para comando, controle e exfiltração.”] class step15 action tool_telegram[“<b>Ferramenta</b> – <b>Nome</b>: Telegram Bot<br/><b>Descrição</b>: Permite comunicação C2 bidirecional via Telegram.”] class tool_telegram tool step16[“<b>Ação</b> – <b>T1568.002 Algoritmos de Geração Dinâmica de Domínios</b><br/>Gera domínios C2 com base em valores de tempo.”] class step16 action step17[“<b>Ação</b> – <b>T1497 Evasão de Sandbox de Virtualização</b><br/>Detecta ferramentas de análise como Deep Freeze e encerra a execução se detectado.”] class step17 action step18[“<b>Ação</b> – <b>T1564 Ocultar Artefatos</b><br/>Encerra e renomeia processos e arquivos maliciosos para evitar detecção.”] class step18 action %% Connections showing the attack flow step1 –>|leads_to| step2 step2 –>|executes| malware_inf malware_inf –>|triggers| step3 step3 –>|leads_to| step4 step4 –>|establishes| step5 step5 –>|enables| step6 step6 –>|enables| step7 step7 –>|provides| step8 step8 –>|provides| step9 step9 –>|provides| step10 step10 –>|provides| step11 step11 –>|provides| step12 step12 –>|feeds| op_collect_methods op_collect_methods –>|combines| step13 step13 –>|feeds| step14 step14 –>|prepares| step15 step15 –>|uses| tool_telegram tool_telegram –>|supports| step16 step16 –>|supports| step17 step17 –>|supports| step18
Fluxo de ataque
Detecções
Execução Suspeita de Taskkill (via linha de comando)
Ver
Linha de Comando Suspeita Contém Nome do Navegador como Argumento (via linha de comando)
Ver
Possível Operação Manual ou de Script Realizada em Pastas Incomuns (via linha de comando)
Ver
Possível Uso do Lame para Gravação de Som (via linha de comando)
Ver
Possível Abuso do Telegram como Canal de Comando e Controle (via consulta DNS)
Ver
Chamar Funções de API do Windows Suspeitas a partir do Powershell (via powershell)
Ver
Possível Arquivo Autoextraível foi Criado (via evento de arquivo)
Ver
IOCs (E-mails) para detectar: Análise APT Prince of Persia: Infy, Foudre e Tonnerre Malware
Ver
Execução e Evasão do Malware Prince of Persia Foudre [Criação de Processo do Windows]
Ver
Detecção do Malware Tonnerre usando Bot Telegram e Geração Dinâmica de Domínio [Conexão de Rede do Windows]
Ver
Detecção de Chamada de API do Malware Infy [Sysmon do Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré‑voo de Telemetria & Linha de Base 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 de Ataque & Comandos:
O adversário simulado imita o comportamento do malware Infy criando três executáveis de teste cujos nomes de arquivos correspondem às chamadas de API observadas pela regra. UsandoCopy-Item, duplicamosnotepad.exe(um binário benigno, já presente) para o diretório temporário e o renomeamos para corresponder a cada chamada de API. O atacante então executa cada binário de teste, produzindo eventos de criação de processo do Sysmon comImagevalores terminando emGetFileAttributesA.exe,GetMessageA.exe, eDispatchMessageA.exe. Porque a condição da regra éseleção1 ou seleção2no campoImage, cada execução satisfaz a regra e gera um alerta. -
Script de Teste de Regressão:
# ------------------------------------------------- # Script de Simulação – Teste de Detecção de Chamada de API Infy # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Auxiliar: copiar notepad.exe para um novo nome function Copy-And-Run { param ( [string]$newName ) $src = "$env:SystemRootSystem32notepad.exe" $dst = Join-Path $tempDir $newName Copy-Item -Path $src -Destination $dst -Force Write-Host "Created $dst" Start-Process -FilePath $dst -WindowStyle Hidden } # Crie e execute binários de teste correspondendo aos nomes de API Copy-And-Run -newName "GetFileAttributesA.exe" Copy-And-Run -newName "GetMessageA.exe" Copy-And-Run -newName "DispatchMessageA.exe" Write-Host "Simulação completa. Verifique alertas no SIEM." -
Comandos de Limpeza:
# ------------------------------------------------- # Script de Limpeza – Remover binários simulados # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # Pare qualquer processo de teste restante Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # Remova o diretório temporário e seus conteúdos Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Limpeza completa."