Pesquisadores de ameaças encontraram um pacote Python malicioso atualizado rapidamente no PyPI disfarçado como um kit de desenvolvimento de software (SDK) legítimo da empresa de segurança cibernética SentinelOne. Porém, na verdade, contém malware projetado para exfiltrar dados de sistemas infectados. Pacote malicioso PyPI encontrado se passando por SentinelOne SDK.
O pacote, que carregava o nome SentinelOne e desde então foi retirado, foi carregado no Python Package Index – um índice online de pacotes para desenvolvedores Python – em 11 de dezembro e durante dois dias foi atualizado 20 vezes.
Ele prometia uma maneira mais simples de acessar e consumir as APIs do SentinelOne, mas incluía malware de backdoor que permitia roubar informações confidenciais dos sistemas dos desenvolvedores, incluindo chaves SSH, credenciais, configuração e arquivos de host e informações de configuração da Amazon Web Services e Kubernetes.
“O pacote parece ser um cliente SentinelOne totalmente funcional, mas contém um backdoor malicioso”, escreveu o pesquisador de ameaças da ReversingLabs, Karlo Zanki, em um relatório esta semana. “A funcionalidade maliciosa na biblioteca não é executada na instalação, mas espera ser chamada programaticamente antes de ser ativada – um possível esforço para evitar a detecção”.
Pacote malicioso PyPI encontrado se passando por SentinelOne SDK
A ReversingLabs apelidou a campanha de “SentinelSneak” e disse que era o exemplo mais recente de ameaças à cadeia de suprimentos de software de cibercriminosos que abusam de repositórios de pacotes de código aberto como PyPI, npm, Ruby, GitHub e NuGet para enviar códigos maliciosos.
Ocultar-se no repositório aproveitando o nome de uma empresa legítima é uma forma de evitar a detecção. Nesse caso, os invasores aparentemente obtiveram o código legítimo do cliente SentinelOne SDK e construíram o backdoor e os recursos de roubo de informações sobre ele.
“Parece que o(s) agente(s) malicioso(s) por trás do pacote SentinelOne PyPI estão tentando aproveitar o forte reconhecimento e reputação da marca SentinelOne”, escreveu Zanki.
Como age o pacote malicioso
A ReversingLabs farejou o pacote malicioso detectando um comportamento interessante em dois arquivos api.py, incluindo o código que roubou dados e os carregou para um endereço IP que não pertencia ao SentinelOne.
Zanki escreveu que não estava claro se o malware e o sistema de comando e controle (C2) foram usados em ataques ativos, mas acrescentou que esse pacote foi baixado mais de 1.000 vezes antes de ser encerrado e removido.
“Embora pequena em escopo, esta campanha é um lembrete para as organizações de desenvolvimento da persistência de ameaças à cadeia de suprimentos de software”, escreveu ele. “Assim como nas campanhas anteriores maliciosas da cadeia de suprimentos de código aberto, esta tenta explorar a confusão por parte dos desenvolvedores para inserir códigos maliciosos nos pipelines de desenvolvimento”.
Ataques continuam
Um relatório recente da ReversingLabs sobre segurança da cadeia de suprimentos de software descobriu que criminosos continuam a visar repositórios de pacotes. Embora tenha havido 60% menos uploads de pacotes maliciosos ano a ano em 2022 – 1.493 este ano -, havia apenas oito desses pacotes encontrados em 2020. Em contraste, houve mais atividade este ano no repositório npm JavaScript, que tinha cerca de 7.000 uploads, um aumento de 40%.
No entanto, a empresa de segurança cibernética Phylum observou em novembro uma campanha distribuindo o malware W4SP para roubo de informações por meio de pacotes PyPI e, na semana passada, divulgou um relatório de 47 pacotes adicionais publicados no PyPI contendo W4SP.
Além disso, o PyPI alertou em agosto sobre o primeiro ataque de phishing conhecido contra desenvolvedores que usam o índice.
Zanki escreveu que as organizações de desenvolvimento precisam expandir os programas de treinamento e conscientização para impedir que os desenvolvedores caiam em ataques de personificação como typosquatting.
A campanha SentinelSneak “também destaca a necessidade de ferramentas e processos para garantir que qualquer código aberto ou proprietário seja avaliado quanto à presença de indicadores suspeitos ou maliciosos, incluindo funcionalidade oculta (ofuscada), comunicações inexplicadas com infraestrutura de terceiros e muito mais”, escreveu ele.