Pesquisadores de segurança identificaram um grupo anteriormente desconhecido apelidado de “JuiceLedger” como o agente de ameaças por trás de uma campanha de phishing recente e conhecida, visando especificamente usuários do Python Package Index (PyPI).
O agente da ameaça apareceu pela primeira vez no início deste ano e está focado na distribuição de um malware baseado em .NET chamado JuiceStealer para pesquisar e roubar informações relacionadas a navegadores e criptomoedas de sistemas infectados.
Inicialmente, o JuiceLedger distribuiu o ladrão de informações por meio de aplicativos fraudulentos do instalador do Python. Mas a partir de agosto, pesquisadores do SentinelOne e Checkmarx observaram que o invasor também se envolveu em tentativas de envenenar pacotes Python no repositório PyPI – presumivelmente para distribuir seu malware para um público mais amplo.
O modus operandi do agente da ameaça envolveu direcionar os usuários do PyPI com um e-mail de phishing informando-os sobre o Google implementando um novo processo de validação para pacotes publicados no PyPI. O e-mail afirmava que a medida era uma resposta a um grande aumento de pacotes PyPI maliciosos sendo carregados no registro. Ele alertou os desenvolvedores para validar rapidamente seus pacotes de código com o Google para evitar removê-los do registro. “Os pacotes não validados antes de setembro serão removidos imediatamente”, observou o e-mail de phishing.
Os usuários do PyPI que clicaram no link foram direcionados para uma página da Web, falsificada para se parecer exatamente com a página de login do PyPI. Quando os usuários inseriram suas credenciais lá, a página foi projetada para enviar essas informações para um domínio controlado pelo JuiceLedger (linkedopports[dot]com). A alcaparra parece ter convencido pelo menos dois desenvolvedores a se separarem de suas credenciais, o que deu ao JuiceLedger uma maneira de acessar e envenenar seus pacotes PyPI relativamente amplamente usados com código malicioso.
Um dos pacotes infectados (versão 0.1.6 do “exotel”), por exemplo, tinha mais de 480.000 downloads totais no momento em que foi infectado. O outro pacote (versões 2.0.2 e 4.0.2 de “spam”) teve cerca de 200.000 downloads. Os administradores do PyPI removeram os dois pacotes , de acordo com a Checkmarx.
Quando instalado em um ambiente de desenvolvimento, o código pode pesquisar senhas do Google Chrome, consultar arquivos Chrome SQLite e iniciar um instalador Python contido no zip chamado “config.exe”, disse SentinelOne. O infostealer também procura por logs que contenham a palavra “cofre”, provavelmente porque está procurando por cofres de criptomoedas e relata as informações de volta a um servidor de comando e controle controlado pelo invasor por HTTP.
Campanha ampla
Os administradores do PyPI também removeram “várias centenas” de pacotes typosquatted que o JuiceLedger publicou no PyPI como parte de um esforço mais amplo para distribuir seu infostealer por meio do popular repositório de código Python, observaram SentinelOne e Checkmarx. Sua análise mostrou que os agentes de ameaças inseriram um pequeno trecho de código nos pacotes para recuperar uma variante assinada do JuiceStealer de um URL do controlador do invasor e executá-lo.
O código nos pacotes typosquatted era semelhante ao código que JuiceLedger havia inserido nos dois pacotes de código legítimos por meio de sua campanha de phishing. A URL controlada pelo invasor com a qual os pacotes typosquatted se comunicavam também era a mesma que as versões envenenadas dos pacotes “exotel” e “spam” comunicavam. Isso permitiu que pesquisadores do SentinelOne e Checkmarx concluíssem que o JuiceLedger era responsável tanto pela campanha de phishing do PyPI quanto pelo upload dos pacotes typosquatted para o PyPI.
O ataque do JuiceLedger ao PyPI em agosto representa uma perigosa escalada nos esforços do agente da ameaça para distribuir seu ladrão de informações, disse o SentinelOne. “Em agosto de 2022, o agente da ameaça se envolveu em envenenar pacotes de código aberto como forma de atingir um público mais amplo com o infostealer por meio de um ataque à cadeia de suprimentos, aumentando consideravelmente o nível de ameaça representado por esse grupo”.
Popular – mas não o único – alvo
O PyPI recentemente se tornou um alvo popular para invasores que tentam envenenar as cadeias de suprimentos de software. Inúmeras organizações usam o código publicado no repositório para construir seus aplicativos. Portanto, envenenando pacotes no registro, os invasores podem atingir um público amplo com relativamente pouco esforço. Exemplos recentes incluem agentes de ameaças que inserem códigos de instalação de pacotes maliciosos em 10 pacotes publicados no PyPI , outro incidente em que cerca de 300 desenvolvedores inadvertidamente baixaram um pacote para instalar o Cobalt Strike do registro e outro em que um hacker em idade escolar carregou ransomware no registro para ver o que transpiraria.
O PyPI não é, de longe, o único repositório de código que os invasores atacaram recentemente. Os fornecedores de segurança relataram vários incidentes semelhantes envolvendo outros registros amplamente usados, como npm e Maven Central. A tendência aumentou a atenção em questões de segurança da cadeia de suprimentos de software, especialmente devido ao potencial de adversários apoiados por estados-nação – como o ator russo por trás do comprometimento da SolarWinds – explorando a mesma tática em suas campanhas de ataque.
Os invasores estão aproveitando o fato de que desenvolvedores e organizações sempre precisarão usar pacotes de código aberto, diz Amitai Ben, pesquisador de inteligência de ameaças da SentinelOne.
A melhor maneira de minimizar a exposição daqueles que contribuem com código-fonte aberto para repositórios públicos é habilitar a autenticação de dois fatores (2FA) em sua conta de usuário nos gerenciadores de pacotes. Isso minimiza o risco de tomada de conta por agentes mal-intencionados.
Os usuários de pacotes de código aberto, por sua vez, precisam saber que os pacotes populares geralmente estão conectados aos repositórios Git a partir dos quais o processo de desenvolvimento está ocorrendo. “As discrepâncias entre o repositório e o pacote no gerenciador de pacotes podem ser um sinal de atividade suspeita e controle de conta”, diz Ben.
FONTE: DARK READING