Pacotes com phishing invadiram repositórios de código aberto

Pacotes com phishing invadiram repositórios de código aberto
Pacotes com phishing invadiram repositórios de código aberto

Em um recente incidente, 144.294 com phishing invadiram de código aberto como , , NuGet, e outros.

Atores de ameaças desconhecidos carregaram um enorme número de 144.294 pacotes relacionados a phishing em repositórios de pacotes de código aberto, incluindo NPM, PyPi e NuGet.

Pacotes com phishing invadiram repositórios de código aberto

Pacotes com phishing invadiram repositórios de código aberto
Pacotes com phishing invadiram repositórios de código aberto

O ataque em larga escala resultou da automação, pois os pacotes foram carregados de contas usando um esquema de nomenclatura específico, apresentavam descrições semelhantes e levavam ao mesmo cluster de 90 domínios que hospedavam mais de 65.000 páginas de phishing.

A campanha apoiada por esta operação promove aplicativos falsos, pesquisas premiadas, vales-presente, brindes e muito mais. Em alguns casos, eles levam as vítimas ao AliExpress por meio de links de referência.

Essa campanha de phishing foi descoberta por analistas da Checkmarx e da Illustria, que trabalharam juntos para descobrir e mapear a infecção que afetava o ecossistema de software de código aberto.

O NuGet teve a maior parcela de uploads de pacotes maliciosos, contando 136.258, o PyPI teve 7.894 infecções e o NPM teve apenas 212.

Os pacotes de phishing foram enviados em massa em alguns dias, o que geralmente é um sinal de atividade maliciosa.

Pacotes com phishing invadiram repositórios de código aberto
Pacotes com phishing invadiram repositórios de código aberto – Diagrama de uploads de pacotes maliciosos (Checkmarx)

A URL para os sites de phishing foi implantada na descrição do pacote, esperando que os links dos repositórios aumentassem o SEO de seus sites de phishing.

Essas descrições de pacotes também instavam os usuários a clicar em links para obter mais informações sobre supostos códigos de vale-presente, aplicativos, ferramentas de hack, etc.

Pacotes com phishing invadiram repositórios de código aberto
Pacotes com phishing invadiram repositórios de código aberto – Descrição do pacote malicioso (Checkmarx)

Em alguns casos, os agentes de ameaças promovem geradores falsos de cartões-presente do Steam, códigos de cartões-presente eletrônicos da Play Station Network, créditos da Play Store, geradores de seguidores do Instagram, geradores de assinantes do YouTube e muito mais.

Quase todos esses sites solicitam que os visitantes insiram seu e-mail, nome de usuário e senhas de conta, que é onde ocorre a etapa de phishing.

Amostra dos sites maliciosos (Checkmarx)
Pacotes com phishing invadiram repositórios de código aberto – Amostra dos sites maliciosos (Checkmarx)

Os sites falsos apresentam um elemento que se assemelha ao prometido gerador gratuito, mas falha quando os visitantes tentam usá-lo, pedindo “verificação humana”.

Isso inicia uma série de redirecionamentos para sites de pesquisa, chegando finalmente a sites de comércio eletrônico legítimos usando links de afiliados, que é como os agentes de ameaças geram receita com a campanha.

ID de referência no destino final da vítima na campanha
Pacotes com phishing invadiram repositórios de código aberto – ID de referência no destino final da vítima na campanha (Checkmarx)

Obviamente, as credenciais de contas de jogos roubadas, e-mails e nomes de usuário de mídia social também podem ser monetizados, pois geralmente são agrupados em coleções e vendidos em fóruns de hackers e mercados da darknet.

Os pesquisadores de que descobriram essa campanha informaram o NuGet sobre a infecção e todos os pacotes foram excluídos da lista.

No entanto, considerando o método automatizado empregado pelos agentes de ameaças para carregar um número tão grande de pacotes em tão pouco tempo, eles podem reintroduzir a ameaça usando novas contas e nomes de pacotes diferentes a qualquer momento.

Para obter a lista completa das URLs usadas nesta campanha, confira este arquivo de texto IoC no GitHub.
[postlist tags=”imagens” requesttype=”1″ number=”4″]