Gli sviluppatori della piattaforma VoIP Telnyx hanno avvertito gli utenti di una compromissione del pacchetto telnyx su PyPI, un repository con 756 download mensili che fornisce un SDK per accedere all'API di Telnyx da programmi Python. Il 27 marzo, alcuni hacker sono riusciti a pubblicare due versioni dannose di telnyx, la 4.87.1 e la 4.87.2, dopo aver ottenuto l'accesso a PyPI tramite il furto delle credenziali del manutentore. Le versioni dannose sono state distribuite tra le 6:51 e le 13:13 (ora di Mosca), dopodiché sono state bloccate dagli amministratori di PyPI. L'infrastruttura, l'API, i servizi vocali e la piattaforma Telnyx non sono stati compromessi.
La violazione si è verificata nell'ambito di un attacco più ampio alla catena di fornitura da parte di TeamPCP, che di recente ha compromesso i pacchetti Python LiteLLM e Trivy, integrato codice dannoso nell'add-on Checkmarx di OpenVSX e iniettato un worm dannoso in 68 pacchetti nel repository NPM. La chiave RSA utilizzata per crittografare i dati trasmessi corrispondeva alle chiavi utilizzate in altri attacchi di TeamPCP.
Le versioni create dagli aggressori contenevano codice dannoso, integrato nel file "_client.py" e attivato all'importazione del modulo. Dopo l'attivazione, server Gli aggressori hanno scaricato il file audio ringtone.wav per i sistemi Unix-like e hangup.wav per Windows. Questi file venivano riprodotti correttamente come file audio, ma contenevano gestori dannosi nascosti incorporati tramite steganografia.
Su Windows, il gestore dannoso veniva salvato nel sistema come "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe" e avviato a ogni accesso. Su macOS e Linux, cercava e inviava chiavi SSH, credenziali, contenuto di variabili d'ambiente, token di accesso API, parametri di connessione ai servizi cloud AWS, GCP, Azure e Kubernetes, chiavi di portafogli crittografici, password di DBMS e altro ancora. I dati rilevati venivano crittografati utilizzando AES-256-CBC e RSA-4096 e inviati tramite richiesta HTTP POST a un host esterno.
Fonte: opennet.ru
