Python malicioso esconde framework
13 de Maio de 2024

Pesquisadores de cibersegurança identificaram um pacote Python malicioso que pretende ser um derivado da popular biblioteca requests.

Foi descoberto que ele esconde uma versão em Golang do framework de comando e controle (C2) Sliver dentro de uma imagem PNG do logo do projeto.

O pacote que emprega essa ardilosa técnica de esteganografia é o requests-darwin-lite, que foi baixado 417 vezes antes de ser removido do registro do Python Package Index (PyPI).

O requests-darwin-lite "pareceu ser um fork do pacote requests sempre popular, com algumas diferenças chave, mais notavelmente a inclusão de um binário malicioso Go embalado em uma grande versão do logo lateral do PNG do requests", disse a empresa de segurança de cadeia de suprimentos de software Phylum.

As mudanças foram introduzidas no arquivo setup.py do pacote, que foi configurado para decodificar e executar um comando codificado em Base64 para coletar o Identificador Único Universal (UUID) do sistema.

Em uma reviravolta interessante, a cadeia de infecção prossegue apenas se o identificador coincidir com um valor específico, implicando que o(s) autor(es) por trás do pacote está(ão) buscando invadir uma máquina específica da qual já possuem o identificador, obtido por outros meios.

Isso levanta duas possibilidades: Ou é um ataque altamente direcionado ou algum tipo de processo de teste antes de uma campanha mais ampla.

Se o UUID coincidir, o requests-darwin-lite procede para ler dados de um arquivo PNG chamado "requests-sidebar-large.png", que tem semelhanças com o pacote requests legítimo que vem com um arquivo semelhante chamado "requests-sidebar.png".

O que é diferente aqui é que, enquanto a logo real embutida dentro do requests tem um tamanho de arquivo de 300 kB, a contida dentro do requests-darwin-lite tem cerca de 17 MB.

Os dados binários ocultos na imagem PNG são o Sliver baseado em Golang, um framework C2 de código aberto que é projetado para ser usado por profissionais de segurança em suas operações de team red.

O objetivo exato do pacote atualmente não está claro, mas o desenvolvimento é mais uma vez um sinal de que os ecossistemas de código aberto continuam sendo um vetor atrativo para distribuir malware.

Com a vasta maioria das bases de código dependendo de código aberto, a constante influxo de malware em npm, PyPI e outros registros de pacotes, sem mencionar o recente episódio com XZ Utils, destacou a necessidade de abordar questões de maneira sistemática que, de outra forma, podem "descarrilar grandes partes da web."

Publicidade

Aprenda hacking e pentest na prática com esse curso gratuito

Passe por todas as principais fases de um pentest, utilizando cenários, domínios e técnicas reais utilizados no dia a dia de um hacker ético. Conte ainda com certificado e suporte, tudo 100% gratuito. Saiba mais...