Perigo no PyPI
5 de Setembro de 2024

Atuantes maliciosos estão utilizando um ataque denominado "Revival Hijack", onde eles registram novos projetos no PyPi utilizando os nomes de pacotes anteriormente deletados para realizar ataques à cadeia de suprimentos.

A técnica "poderia ser usada para sequestrar 22 mil pacotes PyPI existentes e, subsequentemente, levar a centenas de milhares de downloads maliciosos de pacotes", dizem os pesquisadores.

"Revival Hijack" é um vetor de ataque que envolve registrar um novo projeto com o nome de um pacote que foi removido da plataforma PyPI.

Fazendo isso, um atuante malicioso poderia inserir código malicioso para desenvolvedores que realizam a atualização dos pacotes.

O ataque é possível porque o PyPI disponibiliza imediatamente para registro os nomes de projetos Python deletados.

Desenvolvedores que decidem deletar um projeto do PyPI apenas recebem um aviso sobre as potenciais consequências, incluindo o cenário de ataque Revival Hijack.

"Deletar este projeto tornará o nome do projeto disponível para qualquer outro usuário do PyPI", adverte o diálogo.

"Este usuário poderá fazer novas liberações sob este nome de projeto, desde que os nomes dos arquivos de distribuição não coincidam com nomes de arquivos de uma distribuição previamente liberada."

De acordo com pesquisadores na JFrog, uma plataforma da cadeia de suprimentos de software, existem mais de 22.000 pacotes deletados no PyPI que são vulneráveis ao ataque Revival Hijack, e alguns deles são bastante populares.

Os pesquisadores dizem que a média mensal de pacotes deletados no PyPI é de 309, indicando um fluxo contínuo de novas oportunidades para atacantes.

A JFrog diz que um desenvolvedor pode decidir remover seu pacote por uma variedade de razões que vão desde o script não ser mais necessário até reescrever uma ferramenta e publicá-la sob um novo nome.

Em alguns casos, o pacote se torna redundante porque sua funcionalidade é introduzida em bibliotecas oficiais ou APIs integradas.

Em meados de abril, a JFrog observou o Revival Hijack sendo utilizado ativamente, quando um atuante malicioso mirou o "pingdomv3" - uma implementação da API de serviço de monitoramento de sites Pingdom.

O pacote foi deletado em 30 de março, mas um novo desenvolvedor sequestrou o nome e publicou uma atualização no mesmo dia, indicando que os atacantes estavam cientes da questão.

Em uma atualização subsequente, o pacote incluiu um trojan de Python que foi ofuscado usando Base64 e mirou ambientes Jenkins CI/CD.

Os pesquisadores da JFrog tomaram ações para mitigar o risco de ataques Revival Hijack criando novos projetos Python com os nomes dos pacotes já deletados mais populares.

A JFrog explica que o PyPI mantém uma lista negra não pública que impede certos nomes de serem registrados em novos projetos, mas a maioria dos pacotes deletados não faz parte dessa lista.

Isso levou a firma de segurança a tomar uma ação indireta para mitigar a ameaça "Revival Hijack" e registrou os pacotes deletados/vulneráveis mais populares sob uma conta denominada security_holding.

Os pacotes abandonados estão vazios, e os pesquisadores alteraram os números de versão para 0.0.0.1, para garantir que usuários ativos não façam uma atualização.

Esta ação essencialmente reserva os nomes dos pacotes e impede que atores maliciosos os sequestrem para propósitos nefastos.

Três meses depois, a JFrog notou que os pacotes em seu repositório tinham quase 200.000 downloads provenientes de scripts automatizados e erros de digitação dos usuários.

O caso do "Revival Hijack" é muito mais perigoso do que os ataques padrão de typosquatting no PyPI, pois os usuários puxando uma atualização para seus projetos selecionados não cometem um erro.

Para mitigar a ameaça, usuários e organizações podem usar "package pinning" para permanecer em versões especificadas, conhecidas por serem confiáveis, verificar a integridade do pacote, auditar seu conteúdo e ficar atentos a mudanças na propriedade do pacote ou atividade de atualização atípica.

Publicidade

Cuidado com o deauth, a tropa do SYWP vai te pegar

A primeira certificação prática brasileira de wireless hacking veio para mudar o ensino na técnica no país, apresentando labs práticos e uma certificação hands-on.
Todas as técnicas de pentest wi-fi reunidos em um curso didático e definitivo. Saiba mais...