Zlonamerni PyPI paket otvara backdoor na Windows, Linux i Mac računarima
Zlonamerni Python paket primećen je u PyPI registru koji vrši napade na lanac snabdevanja kako bi izbacio Cobalt Strike beacons i backdoor na Windows, Linux i macOS sistemima.
Infekcija počinje izvršavanjem skripte ‘setup.py’ koja se nalazi u paketu
PyPI je spremište paketa otvorenog koda koje programeri mogu da koriste da dele svoj rad ili imaju koristi od rada drugih, preuzimajući funkcionalne biblioteke potrebne za njihove projekte. 17. maja 2022. akteri pretnji su otpremili zlonamerni paket pod nazivom „pymafka“ na PyPI. Ime je veoma slično PyKafka-i, široko korišćenom Apache Kafka klijentu koji broji preko četiri miliona preuzimanja u PyPI registru. Paket sa greškom u kucanju dostigao je samo 325 preuzimanja pre nego što je uklonjen. Međutim, i dalje može da izazove značajnu štetu onima koji su pogođeni, jer omogućava početni pristup internoj mreži programera.
Sonatipe je otkrio pymafku i prijavio je PyPI-ju, koji ju je uklonio. Ipak, programeri koji su ga preuzeli moraće odmah da ga zamene i provere svoje sisteme za Cobalt Strike beacons i Linux backdoor. U izveštaju Ax Sharme, izveštača u Bleeping Computer, istraživač objašnjava da infekcija počinje izvršavanjem skripte ‘setup.py’ koja se nalazi u paketu. Ova skripta otkriva operativni sistem domaćina i, u zavisnosti od toga da li je u pitanju Windows, Linux ili Darvin (macOS), preuzima kompatibilni zlonamerni payload koji se izvršava na sistemu. Za Linux sisteme, Python skripta se povezuje sa udaljenim URL-om na 39.107.154.72 i prenosi izlaz u bash shell. Nažalost, taj host ne radi u vreme pisanja ovog teksta, tako da je nejasno koje naredbe se izvršavaju, ali se veruje da otvara obrnuti shell. Za Windows i macOS, payload je Cobalt Strike beacon, koji obezbeđuje daljinski pristup zaraženom uređaju.
Cobalt Strike je široko zloupotrebljavan paket za testiranje penetracije koji sadrži moćne osobine kao što su izvršavanje komandi, keylogging, radnje sa fajlovima, SOCKS proxi, eskalacija privilegija, krađa akreditiva, skeniranje portova i još mnogo toga. Njegovi „svetionici“ su agenti za shellcode bez fajlova koje je teško otkriti, dajući udaljenim akterima stabilan i pouzdan pristup kompromitovanim sistemima, koristeći ih za špijunažu, bočno pomeranje ili raspoređivanje payloada druge faze kao što je ransomware. Na Windows sistemima, Python skripta pokušava da ispusti Cobalt Strike beacon na C:\Users\Public\iexplorer.exe. Imajte na umu da se ova greška u pisanju ističe pošto se legitimni proces Microsoft Internet Ekplorer-a obično naziva „iexplore.exe“ (bez „r“ na kraju) i nije prisutan u direktorijumu C:\Users\Public. Preuzeti izvršni fajlovi odgovaraju operativnom sistemu koji ciljaju, odnosno „win.exe“ i „macOS“, i pokušavaju da kontaktiraju kinesku IP adresu kada se pokrenu.
Što se tiče stope otkrivanja, skeniranja VirusTotal-a daju ocenu 20 od 61, tako da, iako korisni payload-i nisu baš prikriveni, zadržavaju zadovoljavajući procenat izbegavanja. Ovaj napad ima za cilj da obezbedi početni pristup mreži programera, omogućavajući im da se bočno šire kroz mrežu kako bi ukrali podatke, podmetnuli dalji malver ili čak sproveli napade ransomvare-a. Iz perspektive programera softvera, nekoliko stvari je učinjeno pogrešno kada neko koristi nepouzdani paket, ali najčešća i doduše lako moguća je greška u pisanju naziva paketa tokom pravljenja. Programeri softvera bi trebalo da pažljivo prouče nazive paketa i detalje i dvaput provere svoj izbor gradivnih blokova kada se nešto čini čudnim. U ovom slučaju, paket pokušava da se maskira kao renomirani projekat, ali nema opis na PyPI stranici, nema link na početnu stranicu, ima izuzetno kratku istoriju izdanja i neobjašnjivo nov datum objavljivanja. Ovo su sve jasni znaci da nešto nije u redu, ali nijedan od njih neće biti očigledan sa terminala, tako da je potvrda izbora paketa ključna.
Izvor: Bleepingcomputer