Pesquisadores descobriram vendedores de malware anunciando um ladrão de informações em público no Python Package Index (PyPI) – o repositório oficial e público da linguagem de programação Python – com apenas o verniz mais fino de ofuscação.
Os perpetradores – que os pesquisadores da Sonatype associaram a uma gangue de malware como serviço (MaaS) baseada na Espanha chamada SylexSquad – deram ao seu programa um nome não tão sutil: “casca reversa”. Shells reversos são programas que os hackers costumam usar para executar comandos remotamente e receber dados de computadores de destino.
“Eu acho que o que é muito engraçado sobre isso é que é tão flagrante”, diz Dan Conn, defensor do desenvolvedor da Sonatype. “Talvez o SylexSquad estivesse se anunciando, ou eles simplesmente não se importavam em ser pegos.”
No entanto, sua desfaçatez não termina aí.
Dentro do malware de Heisting de dados de ‘shell reverso’
Os pesquisadores da Sonatype fizeram uma tomada dupla quando encontraram um pacote chamado “reverse-shell” carregado em um fórum público. “Por que alguém nomearia um pacote malicioso de uma maneira tão flagrantemente óbvia?”, os pesquisadores se perguntaram em seu post no blog Malware Monthly.
O programa acabou por ser muito mais do que um shell reverso, na verdade. Isso ficou claro quando os pesquisadores examinaram um de seus arquivos, chamado “WindowsDefender.py”.
WindowsDefender.py inclui várias funções obviamente nomeadas, incluindo get_login_data(), get_web_history(), get_downloads(), get_cookies(), get_credit_cards() e ImageGrab.grab(). De acordo com o tema, os hackers não se esforçaram para esconder suas intenções: tratava-se de um malware projetado para roubar informações.
“Sem ofuscação, [isso] parece ser… um bot do Discord que executa comandos e executa ações na máquina infectada”, de acordo com a análise. “O malware pode recuperar cookies, fazer capturas de tela, executar comandos de shell, roubar o histórico de navegação e enviar todos esses dados para o canal Discord do invasor.”
Outras respostas estavam em outro arquivo, “setup.py”. Aqui, havia várias instruções em espanhol para “Clone GitHub repository and execute file”, “replace with URL of your GitHub repository” e “path where you want to clone the repo” – uma indicação de que o reverse-shell era um produto MaaS.
Uma escavação mais aprofundada descobriu várias tags “Made by SylexSquad” espalhadas no código, algumas das quais foram levemente ofuscadas. O SylexSquad, descobriram os pesquisadores, já foi um mercado de hackers operando sobre a plataforma de comércio eletrônico Sellix em 2022. Desde então, foi fechado.
Publicar tão abertamente para um repositório público pode ter sido uma maneira de o grupo chamar intencionalmente a atenção para seu produto. “Como sabemos sobre grupos como Anonymous ou LulzSec ou Killnet?” Conn pergunta, retoricamente. “É porque eles têm uma reputação.”
Mas o PyPI tem muito mais valor para eles do que isso.
Por que os hackers usam repositórios públicos
Os atacantes do SylexSquad não são os únicos meliantes que utilizam fóruns como PyPI e GitHub, e há muitas razões para tal descaramento, de acordo com a Sonatype.
“Hospedar arquivos maliciosos em um repositório público fornece aos maus atores mais controle sobre eles”, explicaram os pesquisadores em seu blog. “Isso lhes dá o poder de excluir, atualizar ou até mesmo fazer o controle de versão da carga útil.”
Entre outros benefícios, “ele permite que o malware seja compartilhado muito mais amplamente”, explica Conn, “e pode realmente tropeçar, em particular, em muitos softwares antivírus que usam assinaturas genéricas – como bytes reais – para armazenar se algo é malicioso ou não”.
Em outras palavras, em vez de entregar malware antecipadamente – que os scanners antivírus podem captar rapidamente – os hackers podem simplesmente vincular ao seu código malicioso em outro lugar: “Ao fornecer um link para um GitHub, eles talvez estejam contornando essa verificação”, observa ele.
Os repositórios públicos têm medidas de proteção em vigor para evitar se tornarem um centro para hackers. Ainda assim, mesmo os melhores scanners e moderadores não são perfeitos e não podem estar em todos os lugares ao mesmo tempo.
“Os hackers tomam certas medidas, como codificar ou ofuscar o código que hospedam, para tornar um pouco mais difícil para os mecanismos automatizados captarem”, ressalta Juan Aguirre, pesquisador de segurança da Sonatype. Nesse caso, o SylexSquad codificou seu script malicioso como números, usando códigos ASCII facilmente reversíveis correspondentes a cada caractere.
Neste caso, a Sonatype relatou o pacote aos mantenedores do PyPI e ele foi retirado. Mas “é apenas um jogo de gato e rato”, diz Aguirre. “Alguém os pega e eles simplesmente correm para o próximo lugar.”
Aguirre vê essa história à luz de uma preocupação mais ampla com o software de código aberto – que, enquanto os autores de malware encontrarem uso em repositórios públicos, as organizações devem estar cientes dos tipos de pacotes que podem estar varrendo.
“É importante entender o que é que você está correndo”, conclui. “Este é um ótimo caso para isso. Você tem que ter uma lista de materiais, você tem que saber o que você está fazendo, e quais dependências você está usando. Se você está apenas instalando cegamente as coisas e pegando o código que você vê, coisas como essa podem facilmente entrar em seu sistema.”
FONTE: DARK READING