Novi Android trojanac pod nazivom SoumniBot otkriven u okruženju, cilja korisnike u Južnoj Koreji koristeći slabosti u proceduri ekstrakcije i parsiranja manifesta.
Malver je “značajan po nekonvencionalnom pristupu izbjegavanju analize i otkrivanja, odnosno zamagljivanju Android manifesta”, rekao je istraživač Kasperskyja Dmitrij Kalinjin u tehničkoj analizi.
Svaka Android aplikacija dolazi s manifestnom XML datotekom (“AndroidManifest.xml”) koja se nalazi u root direktoriju i deklariše različite komponente aplikacije, kao i dozvole i hardverske i softverske funkcije koje su joj potrebne.
Znajući da lovci na prijetnje obično započinju svoju analizu pregledom manifesta aplikacije kako bi utvrdili njeno ponašanje, otkriveno je da hakeri koji stoje iza malvera koriste tri različite tehnike kako bi se oduprli analizi.
Prva metoda uključuje upotrebu nevažeće vrijednosti metode kompresije prilikom raspakivanja APK-ove manifest datoteke pomoću biblioteke libziparchive, koja tretira bilo koju vrijednost osim 0x0000 ili 0x0008 kao nekomprimovanu.
“Ovo omogućava programerima aplikacija da stave bilo koju vrijednost osim 8 u metodu kompresije i zapišu nekomprimirane podatke”, objasnio je Kalinin.
“Iako bi svaki raspakivač koji ispravno implementira validaciju metode kompresije smatrao takav manifest nevažećim, Android APK parser ga prepoznaje ispravno i dozvoljava da se aplikacija instalira.”
Ovdje je vrijedno istaći da su ovu metodu usvojili hakeri povezani s nekoliko Android bankovnih trojanaca od aprila 2023. godine.
Drugi metod, SoumniBot pogrešno predstavlja arhiviranu veličinu datoteke manifesta, pružajući vrijednost koja premašuje stvarnu cifru, zbog čega se “nekomprimirana” datoteka direktno kopira, pri čemu analizator manifesta zanemaruje ostatak podataka “preklapanja” koji zauzimaju ostatak raspoloživog prostora.
“Strožiji parseri manifesta ne bi mogli pročitati takav fajl, dok Android parser obrađuje nevažeći manifest bez ikakvih grešaka”, rekao je Kalinin.
Završna tehnika se odnosi na korišćenje dugih imena XML imenskih prostora u manifest fajlu, što otežava alatima za analizu da dodijele dovoljno memorije za njihovu obradu. Uz to, analizator manifesta je dizajniran da ignoriše prostore imena i, kao rezultat, ne pojavljuju se greške prilikom rukovanja datotekom.
SoumniBot, nakon pokretanja, traži svoje konfiguracijske informacije sa tvrdo kodirane adrese servera kako bi dobio servere koji se koriste za slanje prikupljenih podataka i primanje komandi koristeći MQTT protokol za razmjenu poruka, respektivno.
Dizajniran je za pokretanje zlonamjerne usluge koja se ponovo pokreće svakih 16 minuta ako se prekine iz nekog razloga i prenosi informacije svakih 15 sekundi. Ovo uključuje metapodatke uređaja, liste kontakata, SMS poruke, fotografije, video zapise i listu instaliranih aplikacija.
Malver također može dodavati i brisati kontakte, slati SMS poruke, uključivati tihi način rada i omogućiti Androidov debug mod, a da ne spominjemo skrivanje ikone aplikacije kako bi se otežalo deinstaliranje s uređaja.
Jedna značajna karakteristika SoumniBot-a je njegova sposobnost pretraživanja eksternih medija za pohranu .key i .der datoteka koje sadrže putanje do “/NPKI/yessign”, što se odnosi na uslugu certifikata digitalnog potpisa koju nudi Južna Koreja za vlade (GPKI), banke i online berze (NPKI).
“Ovi fajlovi su digitalni sertifikati koje korejske banke izdaju svojim klijentima i koriste se za prijavu na usluge onlajn bankarstva ili potvrđivanje bankarskih transakcija”, rekao je Kalinjin. “Ova tehnika je prilično neuobičajena kod malvera za Android bankarstvo.”
Ranije ove godine, kompanija za kibernetičku sigurnost S2W otkrila je detalje o kampanji malvera koju je pokrenula grupa Kimusuky povezana sa Sjevernom Korejom koja je koristila kradljivca informacija baziranog na Golangu pod nazivom Troll Stealer kako bi izvukla GPKI certifikate iz Windows sistema.
“Kreatori zlonamjernog softvera nastoje maksimizirati broj uređaja koje zaraze, a da nisu primijećeni”, zaključio je Kalinjin. “Ovo ih motiviše da traže nove načine komplikovanja detekcije. Programeri SoumniBot-a su nažalost uspjeli zbog nedovoljno strogih validacija u kodu analiziranja Android manifesta.”
Izvor: The Hacker News