De ontwikkelaars van het VoIP-platform Telnyx hebben gebruikers gewaarschuwd voor de compromittering van het telnyx-pakket in de PyPI-repository, dat maandelijks 756.000 downloads kent en een SDK biedt voor toegang tot de Telnyx API vanuit Python-programma's. Op 27 maart slaagden aanvallers erin om twee kwaadaardige releases, telnyx 4.87.1 en 4.87.2, te publiceren, nadat ze toegang hadden gekregen tot PyPI door de inloggegevens van de beheerder te onderscheppen. De kwaadaardige versies waren beschikbaar van 6:51 tot 13:13 (MSK), alvorens ze door het PyPI-beheer werden geblokkeerd. De infrastructuur, API, spraakdiensten en platform van Telnyx zijn niet aangetast.
De compromittering vond plaats tijdens een grotere supply chain-aanval van TeamPCP, waarin onlangs de Python-pakketten LiteLLM en Trivy werden gecompromitteerd, alsook kwaadaardige code werd geïntegreerd in de OpenVSX-extensie Checkmarx en een kwaadaardige worm werd geïmplementeerd in 68 pakketten in de NPM-repository. De RSA-sleutel die werd gebruikt voor het versleutelen van verzonden gegevens kwam overeen met sleutels die in andere aanvallen van TeamPCP zijn gebruikt.
In de door de aanvallers gemaakte versies was kwaadaardige code ingebouwd die was geïntegreerd in het bestand '_client.py' en werd geactiveerd bij het importeren van de module. Na activatie begon servers de aanvaller een geluidsbestand ringtone.wav voor Unix-achtige systemen en hangup.wav voor Windows te downloaden. Deze bestanden werden met succes afgespeeld als geluiden, maar bevatten geïntegreerde kwaadaardige handlers via steganografie.
Op het Windows-platform werd de kwaadaardige handler in het systeem opgeslagen als '%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe' en werd deze bij elke inlog gestart. In macOS en Linux vonden er zoek- en verzendactiviteiten plaats voor SSH-sleutels, inloggegevens, inhoud van omgevingsvariabelen, toegangstokens voor API's, verbindingsparameters voor cloudservices zoals AWS, GCP, Azure en K8s, sleutels voor cryptovaluta-portemonnees, databases-wachtwoorden, enzovoort. Gevonden gegevens werden versleuteld met behulp van algoritmes zoals AES-256-CBC + RSA-4096 en verzonden via een HTTP POST-verzoek naar een externe host.
Bron: opennet.ru
