Iagona ScrutisWeb Ranjivosti Mogu Izložiti ATM uređaje Daljinskom Hakiranju

Otkriveno je nekoliko ranjivosti u iagona ScrutisWeb softveru za praćenje i nadzor bankomata koje bi mogle biti iskorištene za daljinsko hakiranje ATM uređaja.

Ranjivosti CVE-2023-33871, CVE-2023-38257, CVE-2023-35763 i CVE-2023-35189 su otkrivene od strane članova tima Synack Red (SRT); Neil Graves, Jorian van den Hout i Malcolm Stagg, početkom 2023. godine. Francuska softverska kompanija iagona je zakrpila ove ranjivosti u julu 2023. godine verzijom 2.1.38 svoje web aplikacije ScrutisWeb.

Synack Red Team (SRT) je dio globalne mreže sigurnosnih istraživača, i oni rutinski pronalaze ranjivosti u infrastrukturi i web serverima klijenata Synack-a. Na nekim ciljevima Synack-a, članovima SRT-a se dozvoljava saradnja, što maksimizira njihov širok spektar vještina.

To je bio slučaj tokom nedavnog angažmana sa klijentom Synack-a u kojem je mali tim članova SRT-a otkrio zabrinjavajuće softverske propuste u ScrutisWeb-u, sigurnom rješenju za praćenje bankarskih i maloprodajnih ATM uređaja.

ScrutisWeb je dostupan putem bilo kojeg web preglednika i pomaže organizacijama širom svijeta da prate ATM uređaje i smanje vrijeme odziva u slučaju problema, kako navodi developeri softvea Iagona. ATM uređaji mogu uključivati osjetljivu opremu poput uređaja za polaganje čekova, kao i platežnih terminala u lancima restorana.

ScrutisWeb ima niz mogućnosti:

  • Ponovno pokretanje ili isključivanje terminala ili cijele mreže
  • Pribavljanje informacija o bankarskim uslugama
  • Praćenje čitača bankovnih kartica (ATM uređaja)
  • Slanje i primanje datoteka (prema ATM uređajima)
  • Daljinsko mijenjanje podataka (na ATM uređajima)

Ciljana enumeracija

Klijent Synack-a u ovom angažmanu imao je više od 1.000 jedinstvenih IP adresa u okviru procjene. Tokom početnog istraživanja, članovi SRT tima su primijetili da web server šalje izuzetno veliku JavaScript datoteku od 23 MB posjetiocima.

Otkrili su funkciju u datoteci koja omogućava klijentu da preuzme potpune putanje unutar webroot-a servera:

this.window.location.href = "/Download.aspx?folder=" + name;

Utvrđeno je da dodavanje “/” imenu foldera rezultira kompresijom cijelog webroot-a ScrutisWeb-a i šalje ga web pregledniku u download. Koristili su ovu mogućnost, u skladu s namjenom, da bi preuzeli webroot. Prilikom pregleda Download.aspx, otkrili su da poziva biblioteku “Scrutis.Front.dll”, koja se čini da obrađuje veći dio korisničkih funkcija.

CVE-2023-33871: Zaobilaženje Apsolutne Putanje

Zatim je primjećeno da “Download.aspx” uzima parametar “file” ili “folder”. Utvrđeno je što “folder” radi, što je zanimljivo, ali brzo smo se usredotočili na zaista zanimljiv dio, niz znakova koji upravlja preuzimanjem pojedinačnih datoteka:

str = !path1.Contains(":") ? this.Server.MapPath(path1) : path1;

Ovaj komadić koda gleda varijablu “path1”, koja je proslijeđena metodi kao URL parametar “file”. Tim dalje otkriva da ako parametar ne sadrži dvotačku, web server će vratiti datoteku u odnosu na webroot, npr. “https://example.com/Download.aspx?file=thisfile.txt” preuzet će datoteku smještenu na “https://example.com/thisfile.txt“. Međutim, s dvotačkom, web server je vraćao datoteku u odnosu na sistem, na primjer: “https://www.example.com/Download.aspx?file=c:\file.txt” preuzet će datoteku smještenu na serveru na putanji “c:\file.txt”. Preuzete su konfiguracije, zapisi i baze podataka sa servera.

CVE-2023-35189: Udaljeno Izvršavanje Koda(RCE)

Daljnji pregled Scrutis.Front.dll je pokazao metodu AddFile(). AddFile() je prihvatao zahtjev višedijelnog obrasca POST i pohranjivao prenesenu datoteku u web direktorij “Files/telechar/”.

To je značilo da neovlašteni korisnik može prenijeti bilo koju datoteku i zatim je ponovno vidjeti putem web preglednika. Jedan od mnogih problema bio je taj što je direktorij koji je završio s hostovanjem prenesene datoteke bio konfiguriran za omogućavanje interpretacije i izvršavanja prenesenih skripti. SRT tim je kreirao dokaz o konceptu (poc.asp) koji pokreće jednostavnu naredbu “ipconfig /all” i uploadovali su je na server. Nakon toga, posjetili su web stranicu na “https://[censored]/poc.asp”, i server je izvršio sistemsku naredbu “ipconfig /all” i vratio odgovor.

Obično bi se očekivalo da će RCE biti krajnji rezultat niza zloupotreba. U ovom slučaju, još zlonamjernijih vrijednosti moglo bi se postići iskorištavanjem preostalih ranjivosti kako bi se stekao korisnički pristup upravljaču ATM uređaja. Svaki od ranjivih poziva mogao se pronaći u Scrutis.Front.dll i koristiti bez autentifikacije.

CVE-2023-38257: Nesigurna Direktna Objektna Referenca

Tim dalje otkriva da prototip metode GetUserDetails uzima jedan cijeli broj kao ulaz za HTTP POST zahtjev.

[HttpPost] public UIUser GetUserDetails([FromBody] int idUser)

Primijetili su da parametar idUser izgleda kao sekvencijalna cijela vrijednost koja počinje brojem 1. Slanjem POST-a sa brojem 1 ovoj funkciji, usluga je vratila informacije o korisniku “administrateur”, uključujući šifru koja je bila šifrovana. Uspjeh, informacije o računima svih korisnika na sistemu su procurile.

CVE-2023-35763: Fiksni Ključ Za Šifrovanje

Budući da je šifra očito bila šifrirana, odlučili smo pokušati dekriptirati mehanizam šifriranja unatrag(reverse engineer). Pretražujući nazive metoda za riječ “crypt”, pronašli smo funkciju za dekripciju koja uzima šifrirani tekst kao ulaz i vraća tekst u UTF8 formatu. Otkrili smo da funkcija uključuje liniju koja otkriva tekst koji se koristi kao ključ za šifriranje/dešifriranje šifri korisnika:

public static string Decrypt(string cipherString, bool useHashing) { ... } numArray = cryptoServiceProvider.ComputeHash(Encoding.UTF8.GetBytes("ENCRYPTIONKEY")); ... return Encoding.UTF8.GetString(bytes);

Zatim je korištena jednostavna Python skripta koji uzima šifriranu šifru otkrivenu pomoću CVE-2023-38257 i dekriptira šifru u tekst. Opet uspjeh, admistratorski kredencijali u čistom tekstu su bili dostupni. U ovom trenutku bilo je moguće prijaviti se u ScrutisWeb kao administrator.

Posljedice

Iako CVE-2023-33871 opisuje ranjivost pristupa datotekama izvan webroot-a, ista funkcionalnost omogućila je preuzimanje web aplikacije radi inspekcije. CVE-2023-38257 i CVE-2023-35763 omogućavaju prijavu u upravljačku konzolu ScrutisWeb-a kao administrator. Odavde, zlonamjerni napadač mogao bi pratiti aktivnosti na pojedinačnim ATM uređajima unutar mreže. Konzola također omogućava prebacivanje ATM uređaja u način upravljanja, slanje datoteka, ponovno pokretanje i potpuno isključivanje uređaja. Daljnji pregled bio bi potreban kako bi se utvrdilo može li se na pojedinačne ATM uređaje prenositi prilagođeni softver za izvođenje zlonamjernih aktivnosti kao što su izvlačenje podataka s bankovnih kartica, preusmjeravanje Swift transfera ili druge zlonamjerne aktivnosti. Međutim, takvo dodatno testiranje nije obuhvaćeno ovom procjenom.

Konačno, CVE-2023-35189 može se koristiti za brisanje zapisa na ScrutisWeb-u i uklanjanje dokaza da je zlonamjerni napadač ikada bio prisutan. Dodatno iskorištavanje s ovim priključkom na infrastrukturu klijenta moglo bi se dogoditi, čineći ga tačkom okretanja prema internetu za zlonamjernog napadača.

Popravak Ranjivosti

Ažurirajte softver na verziju ScrutisWeb-a 2.1.38!

Iagona vrlo ozbiljno shvaća sigurnost i promptno je pristupila rješavanju četiri otkrivena sigurnosna propusta, pružajući istraživačima informacije o napretku. STR Tim želi posebno pohvaliti Brandona Tarr-a koji je koordinirao putem Agencije za kibernetičku sigurnost i infrastrukturu, koja je izdala svoje upozorenje o rizicima koje predstavljaju ovi softverski propusti.

You May Also Like

More From Author

+ There are no comments

Add yours