TeamPCP Adiciona Backdoors ao Pacote Telnyx no PyPI, Escondendo Malware em Arquivos de Áudio WAV
O pacote **Telnyx** no Python Package Index (PyPI) foi comprometido pelo grupo de hackers **TeamPCP**, que carregou versões maliciosas projetadas para entregar malware que rouba credenciais. O malware está inteligentemente escondido dentro de arquivos de áudio WAV, marcando um sofisticado ataque à cadeia de suprimentos.

As empresas modernas de segurança de aplicações **Aikido**, **Socket** e **Endor Labs** detectaram o ataque à cadeia de suprimentos e o atribuíram ao TeamPCP, citando padrões de exfiltração e chaves RSA semelhantes observados em incidentes anteriores.
O TeamPCP tem sido associado a vários ataques recentes à cadeia de suprimentos, incluindo aqueles que visam o scanner de vulnerabilidades **Trivy** da **Aqua Security** e a biblioteca Python de código aberto **LiteLLM**, bem como ataques de wiper direcionados a sistemas iranianos.
## Detalhes do Pacote Malicioso
Mais cedo hoje, o ator de ameaça publicou as versões backdoorizadas **4.87.1** e **4.87.2** do pacote Telnyx. Essas versões maliciosas implantam malware em sistemas Linux e macOS que rouba chaves SSH, credenciais, tokens de nuvem, carteiras de criptomoedas, variáveis de ambiente e outros dados sensíveis.
Em sistemas Windows, o malware é projetado para persistência, colocando-se na pasta de inicialização para ser executado a cada login.
O pacote **Telnyx PyPI** é o SDK oficial do Python que permite aos desenvolvedores integrar serviços de comunicação Telnyx, como VoIP, mensagens (SMS, MMS, WhatsApp), fax e conectividade IoT, em suas aplicações. O pacote ostenta mais de 740.000 downloads por mês no PyPI, destacando seu uso generalizado.
## Método de Comprometimento
Pesquisadores de segurança suspeitam que os atacantes obtiveram acesso usando credenciais roubadas para a conta de publicação no registro PyPI.
Inicialmente, o TeamPCP lançou a versão 4.87.1 do Telnyx às 03:51 UTC, mas o payload não estava funcional. Eles corrigiram esse erro aproximadamente uma hora depois, às 04:07 UTC, com o lançamento da versão 4.87.2 do Telnyx.
O código malicioso reside no arquivo `telnyx/_client.py`, que executa automaticamente ao ser importado, enquanto ainda permite que as classes legítimas do SDK funcionem como pretendido.
## Análise Técnica
Em sistemas Linux e macOS, o payload inicia um processo desanexado que baixa um payload de segundo estágio disfarçado de arquivo de áudio WAV (`ringtone.wav`) de um servidor de comando e controle (C2) remoto.

Ao empregar esteganografia, os atacantes embutiram código malicioso nos frames de dados do arquivo sem alterar as propriedades do áudio. O payload é extraído usando uma rotina simples de descriptografia baseada em XOR e executa na memória para coletar dados sensíveis de hosts infectados.
Se o **Kubernetes** for detectado na máquina comprometida, o malware enumera segredos do cluster e implanta pods privilegiados em vários nós, tentando obter acesso aos sistemas host subjacentes.
Em sistemas Windows, um arquivo WAV diferente (`hangup.wav`) é baixado, que extrai um executável chamado `msbuild.exe`.
Este executável é colocado na pasta de Inicialização para garantir persistência através das reinicializações do sistema. Um arquivo de bloqueio é usado para limitar a execução repetida em janelas de 12 horas.
## Passos de Mitigação
Pesquisadores aconselham que a versão 4.87.0 do SDK Telnyx é a variante limpa e contém código legítimo da Telnyx sem modificações. Os desenvolvedores são fortemente encorajados a reverter para esta versão se encontrarem as versões 4.87.1 ou 4.87.2 do Telnyx em seus ambientes.
Qualquer sistema que importou as versões maliciosas do pacote deve ser considerado totalmente comprometido, pois o payload executa em tempo de execução e pode já ter exfiltrado dados sensíveis. É altamente recomendável rotacionar todos os segredos o mais rápido possível.