Publikacijos autorius Vytenis Misevičius, CyberSOC kibernetinių grėsmių prevencijos skyriaus vadovas.
PYKSPA – skamba visai kaip pyksta, o čia tikrai galima ir supykti, parsinešus tokią „dovanėlę“ iš vietos, į kurią paprastai nešame nuotraukas skaitmeniniame pavidale, kad jas mums atspausdintų. Nuotraukas gal ir atspausdins, bet ką dar kartu galime parsinešti – skaitykite šiame straipsnyje.
Į mano rankas papuolė USB, kuris buvo užkrėstas būtent vienoje iš tokių viešų nuotraukų spausdinimo vietų. Paprastai jose būna darbinis kompiuteris, į kurį per dieną jungiami dešimtys ar net šimtai USB raktų. Dažnu atveju tie kompiuteriai būna gana seni, nebūtinai saugūs, na – kitaip šito straipsnio juk nebūtų, taigi judam prie reikalo. 😊
Tiesa, „dovanėlė“ jau pasirodo gana senoka, bet visai įdomi ir verčianti priminti, kad reikia būti atsargesniems su USB raktais.
🔎 Pirmas žvilgsnis: „niekas čia nėra tai, kaip atrodo”
Pasidaręs USB rakto atvaizdą (angl. image), įsikėliau jį į Autopsy ir pradėjau analizuoti. Daug ieškoti nereikėjo, radau penkis įtartinus failus:
![]()
![]()
Pirmas krentantis dalykas į akis – visi trys .bat failai turėjo visiškai vienodas maišos reikšmes (angl. hashes). Tai reiškia, kad tai buvo tas pats failas, tik pervadintas tris kartus. Kodėl? Panašu todėl, kad autorun.inf sukonfigūruotas naudoti kelis skirtingus Windows aplinkos scenarijus (naršymas failo paleidimas) ir nepriklausomai nuo to, ką darysi su USB, vienas iš jų paleistų kenksmingą failą.
Dar viena smulkmena: tie .bat failai iš tikrųjų buvo vykdomieji .exe failai (application/x-msdownload).

🕰️ Laiko žymos melagės – arba timestomping.
Žiūrėdamas į failų laiko žymas, pastebėjau vieną keistenybę.

Kūrimo laikas visuose failuose – 15:52:xx. Visada. Nepriklausomai nuo metų ar mėnesių.. Net tuose, kurie tariamais buvo sukurti skirtingomis dienomis, skirtingais metais. Modifikavimo žymos – lygiai + 1 mėnuo ir 2 dienos po sukūrimo. Prieigos žymos – lygiai + 1 mėnuo ir 3 dienos po modifikavimo.

Tai ne sutapimas. Tai algoritmas.
Tai vadinama timestomping – antiforenzinė technika, kai kenkėjas perrašo failų laiko žymas dirbtinai sugeneruotomis datomis, kad apgautų tyrėjus. Šio kenkėjo įrankis turėjo kažkokį „kūrybingą” atsitiktinių datų generatorių – bet pamiršo atsitiktinai parinkti laiką. Ir taip kiekvienas failas, tariamai sukurtas skirtingais metais, turi 15:52 savo kūrimo laike, bet skirtingus metus ir mėnesius ar dienas.
Dar sutapatinus visas datas pagal žinomą USB naudojimo faktą, konstatuotina, kad visos 2009-ųjų datos – išgalvotos. Tikroji USB rakto užkrato data – 2018 09 12.
☣️ Kas tai buvo: 68 iš 70 antivirusinių programų klysti negali
Patikrinus exe failą Virustotal platformoje, vaizdas labai raudonas:

Turime tokį viruso dosjė: Pykspa (platinimo mechanizmas per USB ir „autorun”) + Zepfod backdoor + Killav komponentas (aktyviai naikina antivirusinių procesus). Iš esmės tai virusas klasifikuojamas kaip kirminas (angl. worm), kuris plinta pats.
💣 Any.run smėlio dėžė — čia viskas tapo tikrai nejauku

Ištraukęs failą iš Autopsy, įsikėliau jį į Any.run – gyvos (angl. dynamic) analizės aplinką.
Per 300 sekundžių virusas sukūrė 298 naujus procesus.
Štai ką jis darė, žingsnis po žingsnio:

Iš karto numetė hajwhnbjdnd.exe į AppData\Local\Temp\, kuris paleido zbmqv.exe — pagrindinį Pykspa variklį. Tas savo ruožtu išspjovė dar krūvą atsitiktiniais pavadinimais failų:
zrsmhbaqnwzspkayquooa.exe
xnmexpmavcdupiwsikc.exe
mbzqizviciiyskxshi.exe
droevlgslqpexoaui.exe
kbbuohfuqyasoixulohg.exe
Visi su atsitiktiniais pavadinimais — ta pati technika kaip ir mano USB laikmenos failuose.
Įrašė į registrą: DisableRegistryTools = 1
Regedit išjungtas. Vartotojas nebegali patikrinti, ką kenkėjas pakeitė registre.
Pakeitė SHOWALL registro reikšmę – Windows Explorer nebeparodys paslėptų ir sisteminių failų.
Užregistravo save visose keturiose Windows paleidimo vietose vienu metu:
Ir kiekviename – skirtingi failų pavadinimai. Nužudei vieną procesą? Kiti trys jį paleis iš naujo.
GET → http://www.showmyipaddress.com
GET → http://whatismyipaddress.com
GET → http://www.whatismyip.com
Pykspa klasika — išorinį IP susieja su kompiuterio vardu (surinktu per GetComputerNameA), ir šiuos duomenis siunčia į botnetą.
YARA taisyklės patvirtino ekrano kopijų funkciją. Kenkėjas galėjo tyliai fotografuoti tai, ką vartotojas mato ekrane.

Įdomi detalė – tarp IP adresų, į kuriuos bandė jungtis šis užkratas, ir lietuviški IP adresai.

🟢 Geros naujienos (nors šiek tiek, nes jų irgi reikia)
Didžioji dalis C2 infrastruktūros jau seniai nebeveikia, visgi virusas tikrai senas. Tačiau tuo pačiu tai ir keista, nes kai kurios nuorodos vis dar atsako į užklausas.

Taip pat virusas nesunkiai atpažįstamas beveik visų antivirusinių programų. Žinoma – tai nėra garantas ir šimtaprocentinė apsauga nuo tokių užkratų.
Išvada tokia, kad kompiuteriniai užkratai gyvena išties gana ilgai…
Projektą „SOCcare“ kartu su mūsų bendradarbiais, NRD Cyber Security ir RevelSI, bendrai finansuoja Europos Sąjunga, o jį remia Europos kibernetinio saugumo kompetencijos centras (ECCC) pagal dotacijos susitarimą Nr. 101145843.
Išsakytos nuomonės ir požiūriai yra tik autoriaus ir nebūtinai atspindi Europos Sąjungos ar Europos kibernetinio saugumo kompetencijos centro požiūrį ir nuomonę. Nei Europos Sąjunga, nei Europos kibernetinio saugumo kompetencijos centras negali būti laikomi atsakingais už jas.
