# IronNetInjector > [!danger] BYOI - Turla Toolchain via IronPython > Toolchain do [[g0010-turla|Turla]] (Snake/Uroburos) que implementa BYOI (Bring Your Own Interpreter) - usa IronPython (.NET) para executar scripts Python que injetam o [[s0126-comrat|ComRAT]] em processos legítimos como `explorer.exe`. Técnica sofisticada que evade detecção por AV/EDR baseada em execução de Python nativo. ## Visão Geral **IronNetInjector** é uma toolchain desenvolvida pelo [[g0010-turla|Turla]] que combina o interpretador IronPython (implementação .NET do Python) com um injector .NET para carregar e executar payloads maliciosos - principalmente o [[s0126-comrat|ComRAT]] v4 - via injeção em processos legítimos do Windows. A abordagem BYOI (Bring Your Own Interpreter) é a característica central: em vez de usar o executável Python padrão (`python.exe`) - facilmente detectado por EDRs - o Turla empacota o runtime IronPython dentro do toolchain, tornando-o um assembly .NET que opera via `ipy.exe` (IronPython interpreter) ou como biblioteca embutida. Scripts Python maliciosos são armazenados cifrados com algoritmo Rijndael e descriptografados em runtime. A análise do Unit 42 (Palo Alto) em 2021 revelou o funcionamento interno completo: o IronNetInjector identifica o processo `explorer.exe`, injeta o ComRAT como DLL via injeção reflexiva, e registra sua atividade em `%PUBLIC%\Metadata.dat`. **Plataformas:** Windows ## Como Funciona O IronNetInjector opera em três estágios: **Estágio 1 - Loader .NET:** - Assembly .NET carrega o runtime IronPython - Descriptografa scripts Python cifrados com Rijndael - Executa o script Python no contexto do IronPython embutido **Estágio 2 - Python Injector Script:** - Script Python usa ctypes/win32api para chamar APIs Windows nativas - Enumera processos em execução (T1057) para encontrar `explorer.exe` - Injeta o payload (ComRAT DLL) via DLL injection reflexiva (T1055.001) - Arquivo de log: `%PUBLIC%\Metadata.dat` registra estado da injeção **Estágio 3 - ComRAT em explorer.exe:** - [[s0126-comrat|ComRAT]] v4 executado no contexto de `explorer.exe` - C2 via Gmail (protocolo HTTP para webmail do Google) - Persistência via Scheduled Task disfarçada como tarefa de sistema (T1036.004) ## Uso Ofensivo ```mermaid graph TB A["📁 Arquivo cifrado<br/>IronPython + payload Rijndael"] --> B["⚙️ Assembly .NET<br/>IronNetInjector loader"] B --> C["🐍 IronPython runtime<br/>embutido - BYOI"] C --> D["📜 Script Python<br/>descriptografado em runtime"] D --> E["🔍 Process Discovery<br/>Encontra explorer.exe"] E --> F["💉 DLL Injection<br/>ComRAT em explorer.exe"] F --> G["📡 ComRAT C2<br/>Gmail / Gmail API"] G --> H["📊 Log atividade<br/>%PUBLIC%\\Metadata.dat"] ``` **Cadeia completa Turla - persistência e C2:** ```mermaid graph TB A["🎯 Alvo comprometido<br/>Governo / Diplomacia"] --> B["🔑 Acesso inicial<br/>Spear-phishing / watering hole"] B --> C["📦 IronNetInjector<br/>dropper instalado"] C --> D["⏰ Scheduled Task<br/>Disfarçada como sistema"] D --> E["🔄 Execução periódica<br/>Injeção ComRAT em explorer"] E --> F["📧 C2 via Gmail<br/>Caixa compartilhada"] F --> G["🌍 Operador Turla<br/>Controle furtivo"] ``` ## Timeline | Ano | Evento | |-----|--------| | 2014 | [[g0010-turla\|Turla]] começa a usar o [[s0126-comrat\|ComRAT]] v4 como payload principal de espionagem | | 2020 | IronNetInjector identificado como vetor de entrega do ComRAT | | 2021-02 | Unit 42 (Palo Alto Networks) pública análise detalhada do IronNetInjector toolchain | | 2021 | ESET documenta [[g0010-turla\|Turla]] usando IronNetInjector em campanhas contra governos europeus | | 2022 | NSA/CISA públicam advisory sobre operações Turla incluindo toolchain IronPython | | 2023 | Turla detectado em campanhas contínuas com variantes da toolchain IronPython | ## TTPs | ID | Nome | Uso pelo IronNetInjector | |----|------|-------------------------| | [[t1059-006-python\|T1059.006]] | Python | IronPython runtime embutido - BYOI para execução de scripts | | [[t1055-001-dynamic-link-library-injection\|T1055.001]] | DLL Injection | ComRAT injetado reflexivamente em explorer.exe | | [[t1055-process-injection\|T1055]] | Process Injection | Injeção genérica em processos legítimos do sistema | | [[t1057-process-discovery\|T1057]] | Process Discovery | Enumeração de processos para encontrar alvo de injeção | | [[t1036-004-masquerade-task-or-service\|T1036.004]] | Masquerade Task | Scheduled Task com nome de tarefa legítima do Windows | | [[t1053-005-scheduled-task\|T1053.005]] | Scheduled Task | Persistência via tarefa agendada | | [[t1140-deobfuscatedecode-files-or-information\|T1140]] | Deobfuscaté Files | Descriptografia Rijndael do script Python em runtime | | [[t1027-013-encryptedencoded-file\|T1027.013]] | Encrypted File | Scripts Python cifrados com Rijndael no artefato | ## Atores que Utilizam - [[g0010-turla|Turla]] (Snake / Uroburos / Waterbug) - desenvolvedor e único utilizador documentado ## Relevância LATAM/Brasil O [[g0010-turla|Turla]] é um grupo de espionagem do FSB russo com foco em governos, diplomacia, forças armadas e organizações de pesquisa. Embora o foco histórico sejá na Europa e no Oriente Médio, o Brasil - como potência regional com representações diplomáticas em todo o mundo - é um alvo de interesse estratégico. Escritórios de embaixadas e missões diplomáticas brasileiras em regiões de interesse do Turla são vetores de comprometimento documentados. A técnica BYOI (Bring Your Own Interpreter) é particularmente relevante para organizações que dependem de detecção baseada em EDR: como o IronNetInjector usa um runtime Python completamente diferente do Python padrão do sistema (`python.exe`), regras baseadas em assinatura que detectam execução de Python podem não capturar a atividade. A detecção requer monitoramento comportamental de injeção de DLL em processos de sistema. ## Detecção **Indicadores de comprometimento:** - Assembly .NET executando scripts Python via IronPython sem `python.exe` em execução - Arquivo `%PUBLIC%\Metadata.dat` criado ou modificado por processos não identificados - DLL injetada em `explorer.exe` sem correspondência com carregamentos legítimos do Windows - Scheduled Task criada com nome imitando tarefa de sistema (`\Microsoft\Windows\*`) sem origem de instalação conhecida **Fontes de dados recomendadas:** - **Sysmon Event ID 7 (ImageLoad):** DLL carregada em `explorer.exe` não assinada pela Microsoft - **Sysmon Event ID 11 (FileCreaté):** Criação de `%PUBLIC%\Metadata.dat` por processo não esperado - **Sysmon Event ID 1 (ProcessCreaté):** Assembly .NET carregando `ipy.exe` ou implementação IronPython - **EDR - Process Injection:** Detecção de injeção reflexiva de DLL em processos de sistema (explorer, svchost) - **Windows Event ID 4698:** Criação de Scheduled Task - auditar nomes suspeitos que imitam tarefas do sistema **Regras de detecção:** - Sigma: `proc_creation_win_ironpython_susp_exec.yml` - detecta execução IronPython em contextos suspeitos - Sigma: `sysmon_dll_load_unsigned_in_explorer.yml` - DLL não-assinada carregada em explorer.exe - Yara: Unit 42 públicou regras para strings do IronNetInjector (2021) ## Referências - [1](https://attack.mitre.org/software/S0581) MITRE ATT&CK - S0581 IronNetInjector (2024) - [2](https://unit42.paloaltonetworks.com/ironnetinjector/) Unit 42 - IronNetInjector: Turla's New Malicious Toolchain Uses IronPython (2021) - [3](https://www.welivesecurity.com/2020/05/26/agentbtz-comratv4-turla-link/) ESET - ComRAT v4: A Sophisticated Espionage Tool (2020) - [4](https://media.defense.gov/2023/Apr/18/2003197949/-1/-1/0/CSA_HUNTING_RUSSIAN_INTELLIGENCE_SNS_CREEPER.PDF) NSA/CISA - Hunting Russian Intelligence Snake Malware (2023) - [5](https://attack.mitre.org/groups/G0010/) MITRE ATT&CK - G0010 Turla Group Profile (2024)