A Operação FlashHole, detalhada pela Kaspersky Securelist em 21 de outubro de 2026, mostra o grupo Lazarus transformando o CrossWeb EX, software de segurança financeira obrigatório na Coreia do Sul, em porta de entrada de uma cadeia de espionagem que roda quase inteira em memória e usa o próprio GitHub como infraestrutura de comando. O relatório identifica um mínimo de três organizações sul-coreanas atingidas, dos setores de software, construção e fabricação de equipamentos de comunicação cablada, com evidências mais antigas de julho de 2025. A ação prioritária para equipes de defesa é caçar os poucos artefatos que a cadeia deixa em disco, sobretudo cópias de mscoree.dll em diretórios incomuns, e vigiar chamadas à API do GitHub originadas de processos de serviço.
Como o ataque começa
O vetor inicial reaproveita a estratégia de operações anteriores do Lazarus contra a Coreia do Sul: abusar de programas que o usuário é obrigado a instalar. O processo suspeito nasce sob o INISAFECrossWebEXSvc.exe, serviço do pacote INISAFE CrossWeb EX V3 versão 3.4.1.2, e roda com nível de integridade alto. O CrossWeb EX é exigido para acessar bancos e sites governamentais porque cifra a comunicação entre navegador e servidor com PKI, o que o mantém ativo em segundo plano em praticamente toda máquina voltada a finanças no país — exatamente o tipo de presença confiável que o grupo explora desde 2021, quando o mesmo software serviu para implantar o downloader Racket.
A isca veio de páginas falsas hospedadas no GitHub Pages, provavelmente entregues por e-mails de spear phishing dirigido, segundo avaliação de confiança média a alta dos pesquisadores. Um dos sites exibia o currículo de um desenvolvedor sênior de appliances de rede; a foto do candidato não tinha metadados EXIF e apresentava textura artificial, indícios de geração por IA. O grupo provavelmente usou IA também para montar o portfólio, preenchido com detalhes sem sentido, e depois ajustou a página manualmente para cada alvo. As páginas carregavam JavaScript externo de domínios como javadevhouse.co.kr. O padrão de converter software financeiro de confiança em vetor lembra o caso do trojan Hirudo, que substituía aplicativos de banco por versões adulteradas.
A cadeia completa do malware
Após o comprometimento inicial, o binário legítimo fsquirt.exe é executado dentro do processo do CrossWeb EX e recebe injeção de shellcode que carrega o downloader TechHub. Toda essa primeira etapa existe apenas em memória, o que reduz a superfície para ferramentas baseadas em varredura de arquivo. A partir daí o grupo monta a persistência com um par de amostras inéditas: o TouchHub instala o TouchShift via DLL side-loading no arquivo mscoree.dll; o TouchShift executa outra instância de TechHub em memória, que implanta um segundo par, ClientHub e LPEClient, em vez de acionar direto o Cubridge. A leitura dos analistas é que o orquestrador mais sofisticado da operação fica guardado para depois da persistência consolidada.
O TouchHub copia o binário legítimo printfilterpipelinesvc.exe para C:\Windows\System32\RasConv\ImeBroker.exe, registra o arquivo como serviço com privilégios SYSTEM, escolhe um nome derivado de até 100 nomes legítimos do grupo netsvcs acrescido de duas letras aleatórias e apresenta a descrição Microsoft Service. Para dificultar a perícia, o malware sincroniza os timestamps MAC dos arquivos criados com os do driver monitor.sys. A Kaspersky avalia, com confiança média a alta, que o ClientHub é uma versão avançada do CookiePlus, ferramenta já documentada do mesmo grupo.
TechHub fala com o GitHub
O TechHub é o elo entre a operação e a infraestrutura pública: ele conversa com um repositório privado do GitHub autenticado por token de acesso pessoal, usando a API do serviço para trocar arquivos cifrados e receber ordens. Nas versões anteriores, documentadas pela ESET como NickelLoader e pela Mandiant como CLOUDBURST, esse papel era cumprido por um C2 dedicado por HTTP(S). A migração para o GitHub mistura o tráfego malicioso ao uso cotidiano de desenvolvedores e elimina o servidor de comando exclusivo que os defensores costumam monitorar.
O protocolo é artesanal. O malware gera um identificador de quatro bytes na faixa hexadecimal entre 0x1000 e 0xFFFF para distinguir vítimas, abre uma issue com o corpo hel, recebe uma chave pública RSA, devolve uma chave XOR de dezesseis bytes cifrada com ela e só então coleta dados da máquina e atualiza a issue para hey. Os nomes dos arquivos trocados combinam prefixo de direção, identificador da vítima e chave aleatória; o conteúdo trafega protegido com AES. Quatro comandos estão implementados nesta versão:
| Comando | Função |
|---|---|
| mqdrz | Coleta informações do dispositivo e dos processos em execução |
| laeca | Executa o shellcode recebido diretamente em memória |
| aqvxp | Encerra o processo atual |
| rtcya | Sinalização periódica após o handshake |
Cubridge orquestra a operação
O Cubridge, presente na instância analisada na configuração de versão 5.1, é o centro de comando da cadeia. Ele escolhe aleatoriamente um C2 pré-definido, monta URLs com aparência editorial, com segmentos como news, economy, article e um número aleatório, e autentica cada requisição com um token fixo, um identificador de bot e um identificador de sessão gerados na hora. O handshake combina RSA e RC6, e o tráfego imita requisições de navegador com cabeçalhos como X-CSRF-Token. A funcionalidade vem de plugins, ferramentas e módulos carregados por injeção: um módulo de ações cobre operações de arquivo e processo, incluindo exclusão com sobrescrita; um módulo de funções implementa dezenas de comandos nativos do Windows dentro do próprio malware, herança direta do backdoor LightlessCan descrito pela ESET na campanha contra uma aeroespacial espanhola. Entre as ferramentas observadas estão um coletor de processos, um plugin de consultas LDAP contra o Active Directory e um stealer de navegador que extrai senhas, cookies e histórico de Chrome, Edge e Brave.
Um detalhe chamou a atenção dos pesquisadores: na avaliação da Kaspersky, o grupo adotou criptografia pós-quântica na proteção dos payloads mais rápido do que muitos produtos legítimos de segurança, indício de desenvolvimento dedicado e manutenção contínua do arsenal.
Artefatos para caçar na rede
A cadeia deixa poucos rastros, mas os que ficam são distintos. Prioridade P1: varrer os caminhos abaixo, bloquear os domínios listados e revisar chamadas a api.github.com vindas de serviços atípicos. O mscoree.dll legítimo do Windows vive no diretório System32; qualquer cópia em ProgramData ou RasConv é anomalia clara e merece resposta imediata.
| Artefato | O que indica |
|---|---|
| C:\ProgramData\Apple\mscoree.dll, C:\ProgramData\ssh\mscoree.dll, C:\ProgramData\qorestor\mscoree.dll | Payloads TouchShift em DLL side-loading |
| C:\Windows\System32\RasConv\mscoree.dll e ActivationStore.dat | Persistência instalada pelo TouchHub |
| C:\ProgramData\Dell\Dell1.tmp, Dell3.tmp e C:\ProgramData\Package.txt | Estágios intermediários e configuração |
| javadevhouse.co.kr e pythonapischool.com | JavaScript malicioso das páginas-isca |
| cubedesign.co.kr e fp-news.co.kr | C2 do Cubridge |
Prioridade P2: auditar tokens de acesso pessoal do GitHub usados na organização, monitorar a criação de serviços com nomes derivados do grupo netsvcs e sufixo de duas letras e correlacionar telemetria de processos e injeções. Ferramentas como o Sysmon, que registra injeção e criação de serviços sem gerar ruído, entregam justamente o par de eventos que essa cadeia produz. As detecções da Kaspersky para a família incluem MEM:Trojan.Win64.Shellcode.gen, Trojan.Win64.DLLhijack e Trojan.Win64.Lazarus.
Lições fora da Coreia
Em outubro de 2025, o governo sul-coreano anunciou um plano de cibersegurança para eliminar gradualmente a instalação obrigatória de software de segurança a partir de 2026, resposta direta ao tipo de superfície de ataque que a FlashHole explora. A Kaspersky estima que operações contra esses programas continuem intensas enquanto a transição não se completa. Para redes fora da Coreia, a lição é estrutural: qualquer software obrigatório, sempre ativo e com privilégios altos é candidato a vetor, e cadeias que vivem em memória só aparecem em telemetria de comportamento, nunca em varredura de disco. A segunda lição é de saída de tráfego: quando o C2 é um serviço legítimo como o GitHub, a defesa precisa olhar identidade do processo e padrão de uso da API, não apenas reputação de domínio.