Espionagem com apoio de IA mira servidores Linux de governos
A Unit 42 documentou intrusões em servidores Linux governamentais entre outubro de 2025 e abril de 2026, com scripts que trazem comentários explicativos típicos de geração por modelo de linguagem. Um deles tinha erro de sintaxe e não teria funcionado.
Imagem editorial original do Plugged Ninja.
A Unit 42, da Palo Alto Networks, publicou em 15 de outubro de 2026 a análise de um conjunto de intrusões contra entidades governamentais e infraestrutura ligada ao Estado, com foco em servidores Linux e bancos de dados. O relatório é assinado por Roey Porat e Tom Fakterman.
A atividade é rastreada como CL-UNK-1211. O prefixo importa: na taxonomia da Unit 42, “UNK” significa que ainda não foi determinado se o grupo é patrocinado por Estado ou criminoso comum. Não há, portanto, atribuição a país ou organização — e o relatório não faz essa afirmação.
O que chama atenção não é o arsenal, bastante convencional, mas a assinatura deixada no código. Os scripts recuperados trazem comentários conversacionais, em linguagem natural, explicando passo a passo o que cada trecho faz — como se alguém estivesse sendo instruído enquanto opera. Para a Unit 42, isso indica que o código foi gerado por um modelo de linguagem ou executado por um agente automatizado.
Contexto: a janela observada
A atividade foi observada entre outubro de 2025 e abril de 2026. Os objetivos identificados são coleta de inteligência, manutenção de acesso persistente, extração de bancos de dados e acesso a caixas de correio governamentais — estas últimas com uma finalidade específica: alcançar contas de redes sociais vinculadas, por meio de mensagens de redefinição de senha.
Esse último detalhe define bem o perfil da operação. Não se trata de ransomware nem de fraude financeira direta, e sim de controle sobre canais oficiais de comunicação.
O que indica uso de IA — e o que isso não prova
Os sinais levantados pela Unit 42 são quatro: comentários conversacionais explicando o código a um operador; cabeçalhos de seção que organizam a saída para leitura rápida; uso intenso de codificação Base64; e alternância veloz entre PHP, JavaScript, Bash e Python.
Convém tratar isso com a precisão que o próprio relatório adota. São indícios de que houve geração assistida, não prova de um agente autônomo conduzindo a intrusão. Comentários didáticos também aparecem em código copiado de tutoriais, e a troca rápida de linguagens pode refletir uma equipe com membros de perfis distintos.
Há, no entanto, um detalhe que reforça a hipótese e merece destaque porque raramente aparece em relatórios: o script zip_mails.sh, escrito para compactar caixas de correio inteiras, continha erros de sintaxe e não teria funcionado. É o tipo de falha característica de código gerado e aplicado sem revisão — produzido em volume, sem teste. A IA acelera a produção, mas não garante que o resultado execute.
Vale registrar que este não é o primeiro caso do gênero acompanhado por aqui. Em agosto, a Cisco Talos documentou o UAT-10147, que usou IA agêntica em ataques a servidores web. São grupos distintos, campanhas distintas e fornecedores distintos — e é justamente por isso que a convergência de padrão interessa.
Acesso inicial e persistência em servidores Linux
O acesso se dá por web shells, algumas customizadas e outras de código aberto, com atividade interativa sob o processo php-fpm. A persistência usa dois caminhos:
- Diretiva
auto_prepend_filealterada em configurações de PHP sob/etc/php/e/opt/plesk/php/. Essa diretiva faz o PHP carregar um arquivo automaticamente antes de qualquer script — ou seja, o código do atacante passa a rodar em toda requisição, sem precisar de arquivo malicioso no diretório web. Uma das web shells foi disfarçada como/usr/lib/php/plesk_sys_driver.php. - Chaves SSH adicionadas ao
authorized_keys, garantindo retorno mesmo se a web shell for removida.
Roubo de credenciais
A técnica mais interessante é a adulteração do .bashrc: um alias falso de sudo captura a senha digitada pelo administrador e a grava em arquivo. O nome escolhido para esse arquivo foi Solarwinds.StatusLog.txt — imitação deliberada de software legítimo. A Unit 42 é explícita ao afirmar que não há evidência de comprometimento da SolarWinds; trata-se apenas de camuflagem pelo nome.
Há ainda um registrador de credenciais em PHP inserido na página de login da aplicação, e varreduras por senhas em texto claro em arquivos de configuração e históricos de shell.
Ferramentas e movimentação
O implante principal é o SysGoRAT, um RAT multiplataforma escrito em Go, visto inicialmente como sys-control-client. Ele usa WebSocket para comando e controle, com endereço fixo no binário, suporta sete tipos de comando e oferece persistência por systemd, cron, registro do Windows e tarefas agendadas — sempre com nomes que imitam software legítimo.
O mesmo princípio de camuflagem aparece nos binários renomeados: pip2.7, ea_install, .libpython-helper, .libsystemd-helper e .tourch, este último um bash renomeado. Para túnel e proxy, o grupo usou ferramentas públicas — revsocks, pysoxy e GSocket — disfarçadas como kcached e gs-dbus.
A escalada de privilégios combinou o LinPEAS, para enumeração, com o PwnKit (CVE-2021-4034) — falha do polkit divulgada em janeiro de 2022 e corrigida há mais de quatro anos. Um servidor atualizado não seria afetado. O grupo também mantinha um scanner próprio, em Go, para a CVE-2025-55182 (React2Shell).
A movimentação lateral passou por xp_cmdshell no MSSQL, encadeamento por um segundo servidor SQL e uso de sshpass com credenciais administrativas fixas. A exfiltração usou despejos em SQLite e CSV, arquivos compactados enviados por netcat e uploads para serviços públicos de hospedagem de arquivos — transfer.sh, bashupload.com, filebin.net e catbox.moe —, escolha que faz o tráfego se confundir com uso corporativo comum.
Marcadores de red team: pista ou disfarce?
Entre os artefatos recuperados estavam uma chave identificada como “RedTeamOps2025” e a senha “pentest123”. A leitura mais direta seria supor um exercício autorizado. A leitura mais prudente é tratá-los como o que são: marcadores plantados, que tanto podem ser resquício de ferramenta reaproveitada quanto tentativa deliberada de fazer a intrusão passar por teste contratado. O relatório não conclui a questão, e nós também não.
Impactos, limitações e o que observar
Para organizações públicas, o impacto prático é duplo. O óbvio é a perda de dados. O menos óbvio é a cadeia que o acesso a caixas de correio abre: controle de e-mail institucional permite redefinir senhas de contas oficiais em redes sociais, com potencial de uso para desinformação a partir de um canal legítimo.
Do lado das limitações: não há atribuição, não há contagem de vítimas e não há identificação dos países afetados. A janela observada terminou em abril de 2026 — o relatório não afirma que a campanha continua ativa, e seis meses separam o fim da observação da publicação.
Um ponto favorável merece nota: as tentativas de encerrar processos do agente de endpoint foram detectadas e bloqueadas, segundo o relatório. É uma amostra de fornecedor, e deve ser lida como tal, mas indica que a operação não dispunha de capacidade sofisticada de evasão — coerente com o perfil de um grupo apoiado em ferramentas públicas e código gerado sem revisão.
Recomendações práticas
- Audite as diretivas
auto_prepend_fileem todas as configurações de PHP do parque, inclusive as do Plesk. É um ponto de persistência silencioso que não aparece em varredura de diretório web. - Monitore alterações em
.bashrc,.bash_profilee arquivos equivalentes de contas administrativas. Alias desudoredefinido é sinal forte. - Revise periodicamente os
authorized_keysde todas as contas, especialmente root e contas de serviço. - Confirme que o PwnKit está corrigido. A CVE-2021-4034 tem correção desde 2022; sua presença indica servidor fora do ciclo de atualização.
- Alerte para utilitários padrão gerando shell interativo — netcat, Python ou Bash iniciando sessão interativa raramente é atividade legítima em servidor de produção.
- Restrinja o tráfego de saída. Regras de egresso bem definidas quebram shells reversos e dificultam o envio para serviços públicos de hospedagem.
- Trate tentativa de encerrar o agente de segurança como incidente, não como ruído, e garanta alerta para falhas de inicialização do agente.
- Use os indicadores publicados pela Unit 42 — 17 endereços IP, entre eles o C2 padrão do SysGoRAT (104.194.158[.]65), e os domínios magento[.]ink, solidmonpe[.]com, wibu-bau-bawang[.]online e beraskencur[.]site — em busca retroativa nos registros, cobrindo o período a partir de outubro de 2025.
Conclusão
O CL-UNK-1211 não é uma operação sofisticada. Usa falha corrigida em 2022, ferramentas públicas de túnel, camuflagem por nome de arquivo e scripts que, em pelo menos um caso, nem chegariam a rodar. O que a torna digna de nota é o que ela sugere sobre o custo da ofensiva: código gerado sob demanda permite cobrir mais alvos, em mais linguagens, com menos gente qualificada.
Isso não eleva o teto técnico do atacante — eleva o piso, e aumenta o volume. Para quem defende, a consequência prática é que higiene básica em servidores Linux volta a ser o fator decisivo: patch de falha antiga, controle de persistência em PHP e SSH, restrição de saída e alerta sobre o agente de endpoint. O que vale observar é se a Unit 42 ou outros fornecedores conseguirão, nos próximos relatórios, distinguir com mais firmeza código apenas gerado por IA de operação efetivamente conduzida por agente autônomo. Hoje, essa fronteira permanece indefinida.
Fontes e referências
- Unit 42 — AI-Powered Espionage Campaign Targets Government Linux Infrastructure, por Roey Porat e Tom Fakterman
- NVD — CVE-2021-4034 (PwnKit), falha de escalada no polkit
- Unit 42 — Portal de pesquisa de ameaças da Unit 42