Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs

Segundo a Sonatype foi detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs, instalando backdoors nesses sistemas.

PyPI é um repositório de pacotes de código aberto que os desenvolvedores podem usar para compartilhar seu trabalho ou se beneficiar do trabalho de outros, baixando as bibliotecas funcionais necessárias para seus projetos.

Agora, outro pacote Python malicioso foi detectado no registro PyPI realizando ataques à cadeia de suprimentos para eliminar beacons e backdoors do Cobalt Strike em sistemas Windows, Linux e macOS.

Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs

Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs
Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs

Em 17 de maio de 2022, os agentes de ameaças carregaram um pacote malicioso chamado ‘pymafka’ no PyPI. O nome é muito semelhante ao PyKafka, um cliente Apache Kafka amplamente usado que conta com mais de quatro milhões de downloads no registro PyPI.

O pacote com erros de digitação atingiu apenas uma contagem de downloads de 325 antes de ser removido. No entanto, ainda pode causar danos significativos aos afetados, pois permite o acesso inicial à rede interna do desenvolvedor.

A Sonatype descobriu o pymafka e relatou ao PyPI, que o removeu ontem. No entanto, os desenvolvedores que o baixaram terão que substituí-lo imediatamente e verificar seus sistemas em busca de beacons Cobalt Strike e backdoors Linux.

O pesquisador explica que a infecção começa com a execução do script ‘setup.py’ encontrado no pacote. Esse script detecta o sistema operacional do host e, dependendo se for Windows, Linux ou Darwin (macOS), busca uma carga maliciosa compatível que é executada no sistema.

Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs
Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs -O código do script setup.py (Sonatype)

Para sistemas Linux, o script Python se conecta a uma URL remota em 39.107.154.72 e canaliza a saída para o shell bash.

Infelizmente, esse host está inativo no momento da redação deste artigo, portanto, não está claro quais comandos são executados, mas acredita-se que abra um shell reverso.

Para Windows e macOS, a carga útil é um sinalizador Cobalt Strike, que fornece acesso remoto ao dispositivo infectado.

O Cobalt Strike é um conjunto de testes de penetração amplamente utilizado que apresenta características poderosas, como execução de comandos, keylogging, ações de arquivos, proxy SOCKS, escalação de privilégios, roubo de credenciais, varredura de portas e muito mais.

Seus “beacons” são agentes shellcode sem arquivo que são difíceis de detectar, dando aos atores remotos acesso estável e confiável a sistemas comprometidos, usando-o para espionagem, movimento lateral ou implantação de cargas úteis de segundo estágio, como ransomware.

“Nos sistemas Windows, o script Python tenta descartar o sinalizador Cobalt Strike em ‘C:\Users\Public\iexplorer.exe'”, detalha o relatório da Sonatype.

“Observe que esse erro de ortografia se destaca porque o processo legítimo do Microsoft Internet Explorer é normalmente chamado de “iexplore.exe” (sem ‘r’ no final) e não está presente no diretório C:\Users\Public.”

Os executáveis ​​baixados correspondem ao sistema operacional alvo, ou seja, ‘win.exe’ e ‘macOS’, e tentam entrar em contato com um endereço IP chinês assim que forem iniciados.

Em termos de taxas de detecção, as varreduras do VirusTotal dão uma pontuação de 20 em 61, portanto, embora as cargas úteis não sejam exatamente furtivas, elas mantêm uma porcentagem de evasão satisfatória.

Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs
Detectado um pacote PyPI malicioso que ataca Windows, Linux e Macs – Resultados da verificação do VirusTotal (Sonatype)

Esse ataque visa fornecer acesso inicial à rede do desenvolvedor, permitindo que eles se espalhem lateralmente pela rede para roubar dados, plantar mais malware ou até mesmo realizar ataques de ransomware.

Como ficar seguro

Do ponto de vista do desenvolvedor de software, várias coisas são feitas de forma errada quando alguém usa um pacote não confiável, mas o mais comum e reconhecidamente fácil de acontecer é a digitação incorreta dos nomes dos pacotes durante a compilação.

Os desenvolvedores de software devem examinar os nomes e detalhes dos pacotes e verificar novamente sua seleção de blocos de construção quando algo parecer estranho.

Nesse caso, o pacote tenta se passar por um projeto de renome, mas não tem descrição na página PyPI, nenhum link para a página inicial, um histórico de lançamento extremamente curto e uma data de lançamento inexplicavelmente recente.

Todos esses são sinais claros de que algo está errado, mas nenhum deles será aparente no terminal, portanto, confirmar as seleções de pacotes é fundamental.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.