Libs Python e PHP foram sequestradas para roubar chaves AWS

Segundo relatos, as bibliotecas, ou Libs Python e PHP foram sequestradas para roubar chaves AWS. Confira os detalhes desse incidente.

O módulo PyPI ‘ctx’ que é baixado mais de 20.000 vezes por semana foi comprometido em um ataque à cadeia de suprimentos de software com versões maliciosas que roubam as variáveis ​​de ambiente do desenvolvedor.

Libs Python e PHP foram sequestradas para roubar chaves AWS

Libs Python e PHP foram sequestradas para roubar chaves AWS
Libs Python e PHP foram sequestradas para roubar chaves AWS

O agente da ameaça até substituiu as versões mais antigas e seguras de ‘ctx’ por código que exfiltra as variáveis ​​de ambiente do desenvolvedor, para coletar segredos como chaves e credenciais da Amazon AWS.

Além disso, as versões de um fork ‘phpass’ publicadas no repositório de pacotes PHP/Composer Packagist foram alteradas para roubar segredos de maneira semelhante.

A estrutura PHPass incorreu em mais de 2,5 milhões de downloads no repositório Packagist ao longo de sua vida – embora se acredite que os downloads de versões maliciosas sejam muito mais limitados.

O pacote PyPI altamente baixado ‘ctx’ foi comprometido em algum momento deste mês com versões recém-publicadas que exfiltram suas variáveis ​​de ambiente para um servidor externo.

‘ctx’ é um módulo Python mínimo que permite aos desenvolvedores manipular seus objetos de dicionário (‘dict’) de várias maneiras. O pacote, apesar de popular, não era tocado desde 2014 por seu desenvolvedor, como visto pelo BleepingComputer.

No entanto, versões mais recentes surgiram a partir de 15 de maio até esta semana e continham código malicioso:

Libs Python e PHP foram sequestradas para roubar chaves AWS
Libs Python e PHP foram sequestradas para roubar chaves AWS – Pacote PyPI ‘ctx’ republicado após anos de inatividade (BleepingComputer)

Um usuário do Reddit, jimtk, primeiro notou o pacote ‘ctx’ comprometido.

O hacker ético Somdev Sangwan relatou ainda que o pacote PHP ‘phpass’ foi comprometido com as versões contaminadas da biblioteca roubando as chaves secretas da AWS do desenvolvedor:


Essas alegações foram examinadas pela equipe de pesquisa de segurança da Sonatype da qual faço parte.

Embora o PyPI tenha retirado as versões ‘ctx’ maliciosas há algumas horas, as cópias recuperadas dos arquivos de malware da Sonatype mostram a presença de código malicioso em todas as versões ‘ctx’.

Vale ressaltar que a versão 0.1.2 que não havia sido tocada desde 2014 também foi substituída esta semana por uma carga maliciosa:

Libs Python e PHP foram sequestradas para roubar chaves AWS
Libs Python e PHP foram sequestradas para roubar chaves AWS – Código malicioso dentro de ‘ctx’ (BleepingComputer)

Depois de instaladas, essas versões reúnem todas as suas variáveis ​​de ambiente e carregam esses valores para o seguinte endpoint Heroku:
https://anti-theft-web.herokuapp[.]com/hacked/

No momento de nossa análise, o endpoint não estava mais ativo.

Pacote PHP ‘phpass’ alterado para roubar credenciais da AWS

Em um ataque idêntico, o fork de um pacote imensamente popular Composer/PHP, ‘hautelook/phpass’ foi comprometido com versões maliciosas publicadas no repositório Packagist.

PHPass é uma estrutura de hash de senha de código aberto que pode ser usada por desenvolvedores em aplicativos PHP. Lançado em 2005, o framework foi baixado mais de 2,5 milhões de vezes no Packagist ao longo de sua vida.

O site BleepingCompuer também observou commits maliciosos feitos para o projeto PHPass esta semana que roubam variáveis ​​de ambiente de forma semelhante.

Dentro do PHPass, o arquivo ‘PasswordHash.php’ alterado procura especificamente pelos valores ‘AWS_ACCESS_KEY’ e ‘AWS_SECRET_KEY’ em seu ambiente. Esses segredos são então carregados no mesmo endpoint Heroku.

Commits maliciosos feitos no PHPass
Libs Python e PHP foram sequestradas para roubar chaves AWS – Commits maliciosos feitos no PHPass (BleepingComputer)

A presença de lógica idêntica e endpoints Heroku nos pacotes PyPI e PHP indicam que um agente de ameaça comum é responsável por esses dois seqüestros.

Pesquisadores afirmam que a identidade do atacante é óbvia. No entanto, isso poderia ter sido um exercício PoC que deu errado e até que mais informações venham à tona, seria irresponsável nomear a pessoa por trás do sequestro ‘ctx’ e ‘phpass’ ainda.

Além disso, enquanto o pacote malicioso do PyPI ‘ctx’ estava ativo até hoje, o impacto das versões maliciosas do ‘PHPass’ parece ter sido muito mais limitado depois que o cofundador da Packagist, Jordi Boggiano, marcou o repositório sequestrado como “abandonado” e apontou todos para use bordoni/phpass em vez disso:


Supõe-se que um comprometimento da conta do mantenedor levou ao sequestro do pacote PyPI ‘ctx’, mas ainda estamos para descobrir a causa real.

Mas, o comprometimento do hautepass/phpass foi atribuído ao invasor que reivindicou um repositório GitHub anteriormente abandonado e reviveu esse repositório para publicar versões ‘phpass’ alteradas no registro do Packagist.

Esse tipo de ataque já foi chamado de repo jacking pela empresa de segurança cibernética Security Innovation. Mais recentemente, a Intezer e a Checkmarx divulgaram um relatório conjunto sobre essa pesquisa e como isso poderia afetar os projetos Go, apelidando o ataque de “chainjacking“.

Este incidente de sequestro segue nosso relatório recente de um typosquat PyPI que foi pego lançando backdoors no Windows, Linux e Macs.

No início deste ano, bibliotecas npm muito populares, ua-parser-js, ‘coa’ e ‘rc’ foram sequestradas para servir a mineradores de criptomoedas e ladrões de credenciais.

Após esses ataques, o GitHub exigiu autenticação de dois fatores para mantenedores dos 100 principais pacotes npm e anunciou melhorias de segurança adicionais.

A tendência contínua de agentes de ameaças e caçadores de recompensas de bugs que encontram novas táticas para se infiltrar na cadeia de suprimentos de software pode muito bem levar os administradores de outros registros de software a introduzir melhorias semelhantes.

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.