Stručnjaci za sajber sigurnost identifikovali su novu prijetnju usmjerenu na programere i korisnike kriptovaluta.
Dva maliciozna Python paketa su otkrivena na Python Package Indexu (PyPI) posebno dizajniranom da kompromituju sisteme koristeći popularnu bitcoinlib biblioteku.
Ovi paketi, identifikovani kao bitcoinlibdbfix i bitcoinlib-dev, maskiraju se kao legitimne popravke za biblioteku kriptovaluta dok sadrže kod dizajniran za eksfiltriranje osjetljivih datoteka baze podataka koje sadrže vrijedne informacije o kripto novčaniku.
.webp)
Biblioteka bitcoinlib služi kao kritičan alat za programere koji grade aplikacije za kriptovalute, pružajući esencijalnu funkcionalnost za kreiranje i upravljanje kripto novčanicima, interakciju sa blockchain mrežama i izvršavanje Bitcoin skripti.
To ga čini posebno vrijednom metom za napadače koji žele kompromitovati imovinu kriptovaluta ili dobiti pristup osjetljivim podacima blockchaina.
Istraživači ReversingLabsa identifikovali su ove maliciozne pakete putem svoje platforme Spectra, koja koristi napredne algoritme strojnog učenja za otkrivanje novog malicioznog softvera analizom obrazaca ponašanja.
Prema njihovoj analizi, oba paketa su dizajnirana kao dio ciljanog napada na lanac opskrbe, nastavljajući zabrinjavajući trend u softverskim kompromisima vezanim za kriptovalute koji su doveli do skoro dvadesetak sličnih kampanja tokom 2024.
Napadači su koristili klasične tehnike društvenog inženjeringa , predstavljajući svoje malicozne pakete kao rješenja za navodni problem baze podataka u bitcoinlibu.
Jedan paket je tvrdio da je popravio grešku „ValueError: pronađena stara verzija baze podataka (automatska baza podataka verzije 0.5“, privlačeći programere da traže brza rješenja za implementaciju kompromitovanog koda.
Jednom instalirani, maliciozni paketi izvode sofisticirani napad ciljajući legitimni alat za sučelje komandne linije.
Analiza mehanizma infekcije
Srž napada uključuje prepisivanje legitimnog alata komandne linije “clw” malicioznim kodom .
Paketi sadrže funkcionalnost za prvo uklanjanje bilo koje postojeće clw naredbe koristeći kod kao što je:-
def remove_existing_clw():
"""Remove existing clw command from system if it exists"""
try:
clw_path = check_output(['which', 'clw'], stderr=sys.stderr).decode().strip()
if clw_path:
os.remove(clw_path)
except CalledProcessError:
pass
Nakon uklanjanja legitimnog alata, maliciozni softver kreira simboličku vezu do vlastitog izvršnog fajla, omogućavajući mu da presretne komande namijenjene upravljanju novčanikom za kriptocoin .
Ovo napadačima pruža uporan mehanizam za prikupljanje osjetljivih datoteka baze podataka koje sadrže privatne ključeve i informacije o novčaniku, koje se zatim eksfiltriraju na servere pod kontrolom napadača.
Izvor: CyberSecurityNews