Análise do ataque à cadeia de suprimentos do Notepad++
(securelist.com)- Um ataque à cadeia de suprimentos em que a infraestrutura de atualização do Notepad++ foi comprometida e atualizações maliciosas foram distribuídas continuou de meados de 2025 até outubro
- Os invasores operaram três cadeias de infecção diferentes usando Cobalt Strike Beacon e downloader do Metasploit
- Os alvos infectados foram identificados como usuários individuais no Vietnã, El Salvador e Austrália, um órgão governamental nas Filipinas, uma instituição financeira em El Salvador e uma empresa de serviços de TI no Vietnã
- O método de ataque variou de várias formas, incluindo abuso do instalador NSIS, exploração de vulnerabilidade no ProShow, execução de script Lua e DLL side-loading
- A Kaspersky detectou esse ataque com o Kaspersky Next EDR Expert e apresentou como principais indicadores de detecção comunicação com temp.sh, rastros de execução de comandos e registro de execução automática no Registro
Visão geral do incidente
- Em 2 de fevereiro de 2026, a equipe de desenvolvimento do Notepad++ anunciou que o servidor de atualização havia sido comprometido no nível do provedor de hospedagem
- O período de comprometimento foi de junho a setembro de 2025, e o acesso a serviços internos continuou até dezembro
- A Kaspersky confirmou que, entre julho e outubro de 2025, os invasores trocaram continuamente endereços dos servidores C2, downloaders e payloads para manter o ataque em andamento
- As vítimas eram poucos sistemas-alvo, e a análise indica que um total de cerca de 10 computadores foi infectado
Cadeia de infecção #1 (fim de julho a início de agosto de 2025)
- Arquivo de atualização malicioso:
http://45.76.155[.]202/update/update.exe- SHA1: 8e6e505438c21f3d281e1cc257abdbf7223b7f5a
- O processo legítimo
GUP.exeé executado e coleta informações do sistema antes de enviá-las ao temp.sh- Os resultados da execução dos comandos
whoamietasklistsão enviados comcurl
- Os resultados da execução dos comandos
- Em seguida, vários arquivos são gravados na pasta
%appdata%\ProShoweProShow.exeé executado- Uma vulnerabilidade do ProShow da década de 2010 é explorada para executar o downloader do Metasploit dentro do arquivo
load - O downloader baixa e executa o Cobalt Strike Beacon de
https://45.77.31[.]210/users/admin
- Uma vulnerabilidade do ProShow da década de 2010 é explorada para executar o downloader do Metasploit dentro do arquivo
- No início de agosto, também foi observada uma variante usando o domínio
cdncheck.it[.]comcom a mesma cadeia
Cadeia de infecção #2 (meados e fim de setembro de 2025)
update.exedistribuído pela mesma URL (SHA1: 573549869e84544e3ef253bdba79851dcde4963a)- Uso da pasta
%APPDATA%\Adobe\Scripts - Coleta detalhada de informações do sistema com os comandos
whoami,tasklist,systeminfoenetstat -ano
- Uso da pasta
- Arquivos gravados:
alien.dll,lua5.1.dll,script.exe,alien.ini- Execução de shellcode dentro de
alien.iniusando o interpretador Lua - O downloader do Metasploit baixa o Cobalt Strike Beacon de
cdncheck.it[.]com/users/admin
- Execução de shellcode dentro de
- No fim de setembro, surgiu uma variante em que a URL de upload foi alterada para
https://self-dns.it[.]com/liste o servidor C2 parasafe-dns.it[.]com
Cadeia de infecção #3 (outubro de 2025)
- Novo servidor de atualização:
http://45.32.144[.]255/update/update.exe- SHA1: d7ffd7b588880cf61b603346a3557e7cce648c93
- Arquivos gravados na pasta
%appdata%\Bluetooth\BluetoothService.exe(legítimo),log.dll(malicioso),BluetoothService(shellcode criptografado)
- Por meio de DLL side-loading,
log.dllexecuta o shellcode deBluetoothService- Com estrutura semelhante ao backdoor Chrysalis, e segundo a análise da Rapid7 há casos em que o Cobalt Strike Beacon também foi distribuído junto
Reaparecimento da cadeia #2 e mudança de URL (meados ao fim de outubro de 2025)
- Nova URL:
http://95.179.213[.]0/update/update.exe- Reutilização dos domínios
self-dns.it[.]comesafe-dns.it[.]com
- Reutilização dos domínios
- No fim de outubro, surgiram variações com nomes de arquivo como
install.exeeAutoUpdater.exe- Nenhuma infecção adicional foi observada após novembro
Conclusão e recomendações de detecção
- Os invasores assumiram o controle do servidor de atualização do Notepad++ para tentar invadir organizações de alto risco
- Alteraram a cadeia de infecção em base mensal para manter o acesso persistente
- Recomendações de detecção e resposta
- Verificar logs gerados por instaladores NSIS (
%localappdata%\Temp\ns.tmp) - Detectar comunicação com o domínio temp.sh e requisições cujo User-Agent contenha URL
- Examinar rastros da execução dos comandos whoami, tasklist, systeminfo, netstat -ano
- Procurar domínios maliciosos e hashes de arquivos com base na lista de IoCs
- Verificar logs gerados por instaladores NSIS (
Detecção da Kaspersky
- O Kaspersky Next EDR Expert detectou o comportamento do ataque
- A regra lolc2_connection_activity_network detectou a comunicação com temp.sh
- Regras como system_owner_user_discovery e system_information_discovery_win detectaram comandos de reconhecimento local
- A regra temporary_folder_in_registry_autorun detectou o registro de execução automática no Registro
Resumo dos principais IoCs
- URLs de atualização maliciosas:
- URLs relacionadas ao Cobalt Strike:
- Caminhos de arquivos maliciosos:
%appdata%\ProShow\load,%appdata%\Adobe\Scripts\alien.ini,%appdata%\Bluetooth\BluetoothService
- Principais hashes:
8e6e505438c21f3d281e1cc257abdbf7223b7f5a,573549869e84544e3ef253bdba79851dcde4963a,d7ffd7b588880cf61b603346a3557e7cce648c93etc.
Este incidente mostra o refinamento dos ataques à cadeia de suprimentos e a evolução de cadeias de infecção em múltiplas etapas, destacando a necessidade de reforçar a verificação de integridade das atualizações por parte de desenvolvedores e operadores de infraestrutura de TI.
1 comentários
Comentários do Hacker News
O caso em que o atualizador WinGUp foi explorado em um ataque é um exemplo típico de ataque à cadeia de suprimentos
O invasor obtém permissão para executar código em sistemas que confiam no canal de atualização
É especialmente preocupante o fato de isso não ter sido detectado por 6 meses
Organizações deveriam considerar rollout gradual e monitoramento de tráfego de rede anômalo; usuários individuais, por sua vez, deveriam considerar o uso de gerenciadores de pacotes com verificação criptográfica
Muitos programas são baixados de sites cheios de anúncios e cada um se atualiza de um jeito diferente
A Microsoft Store teve a chance de mudar isso, mas falhou tanto no design quanto na reputação
O WinGet é bem melhor, mas ainda está mais para uma ferramenta voltada a desenvolvedores
Eu uso o Notepad++ como substituto padrão do Bloco de Notas
Nunca entendi por que a conexão de rede vinha ativada por padrão
A primeira coisa que fiz foi desligar isso, e agora estou satisfeito usando a versão de 2020
Se um dia precisar, pretendo atualizar manualmente por conta própria
O Notepad++ era um dos meus editores favoritos, mas depois deste ataque o departamento de TI proibiu seu uso
Durante auditorias de segurança, eles até verificam se ele está instalado
A resposta no blog oficial também foi preocupante, e parece que vai levar muito tempo para recuperar a confiança
As duas funções essenciais são abas e verificação ortográfica, e agora até o Notepad padrão já oferece isso
Ainda existe o botão do CoPilot, mas dá para desativá-lo nas configurações
É por esse tipo de motivo que eu executo muitas ferramentas em um ambiente sandbox
Assim, o dano fica limitado àquele diretório
Não há motivo para uma ferramenta acessar meu drive na nuvem ou os cookies do navegador
A comunidade Linux resiste a esse tipo de abordagem, mas no fim apps em sandbox no estilo iOS são o futuro
Porque os usuários querem controlar o comportamento dos apps
Se o mundo FOSS ignorar isso, no fim haverá centralização em torno das big techs
O app não deveria conseguir sair da raiz, e qualquer acesso externo deveria ser explicitamente permitido
Os pedidos de acesso no macOS são muitos, mas ainda acho que é preciso um controle de permissões mais detalhado
Um editor de texto não precisa de conexão de rede e pode vazar o texto que está sendo editado para fora
O invasor envia informações do sistema, faz upload de arquivos para serviços como temp.sh e depois se comunica com o servidor C2
Como exemplo, há código em que o Cobalt Strike Beacon se comunica com cdncheck.it[.]com
Este ataque mostra como desenvolvedores e usuários estão confiando cada vez mais em código que não verificaram diretamente
O mesmo problema se repete em instalação de pacotes npm/pip, código gerado por IA e na tendência de “vibe coding”
O Notepad++ é até um caso melhor por ser um binário único, mas no ambiente moderno de desenvolvimento há centenas de dependências e código de IA envolvidos
Sandbox é importante, mas o problema real é a diferença entre o que o código pode fazer e o que se espera que ele faça
Precisamos de ferramentas que permitam entender melhor o código em execução
Há 15 anos ninguém se preocupava com cadeia de suprimentos, e usuários de Unix compilavam tarballs sem nenhuma verificação
Sandbox ajuda, mas não é uma solução perfeita
Utilitários como o Notepad++, que têm permissão para editar arquivos do sistema, continuam sendo perigosos
Fiquei curioso se existe alguma ferramenta oficial para detectar e limpar a infecção
O malware pode se esconder em várias partes do sistema, e alertas do UAC por si só não conseguem impedir isso
Se alguém estiver infectado agora, será que o Malwarebytes consegue detectar?
O artigo de análise da Rapid7 traz o mesmo conteúdo
Foi surpreendente que esse link não estivesse no aviso original
Fiquei curioso sobre como a assinatura digital do Notepad++ foi contornada
Baixei diretamente e havia uma assinatura de código válida
Agora vivemos a contradição de que, para evitar falhas de segurança, é preciso atualizar com frequência, mas para evitar ataques à cadeia de suprimentos é melhor evitar atualizações
Não sei como equilibrar isso
Atualizações recentes da Microsoft também têm baixa confiabilidade, e mais gente está desativando atualizações automáticas por causa de problemas como falha de boot
Documentação relacionada: opções do GitHub Dependabot
Apps muito conectados à internet devem ser atualizados com frequência, enquanto ferramentas locais simples podem ter a atualização automática desativada
Se lida com conteúdo da internet, atualização é essencial; se for apenas local, basta atualizar quando necessário
A maioria dos casos fica em algum ponto entre esses dois extremos
Como referência, foi compartilhado o artigo de análise da Rapid7