„HeadCrab“ kenkėjiška programa
Tyrimų komanda su saugos kompanija „Aqua Nautilus“ rado pavojingą ir gudrią kenkėjišką programą „HeadCrab“, kuri nuo 2021 m. pabaigos įsiskverbia į serverius visame pasaulyje. Ši pažangiausia grėsmė naudoja specialiai sukurtą, sunkiai aptinkamą kenkėjišką programą, kad pakenktų „Redis“ serveriams. , ir perėmė mažiausiai 1200 serverių valdymą. Kenkėjiška „HeadCrab“ programa gali apeiti be agentų ir įprastus antivirusinius sprendimus.
Kas yra Redis – platforma, į kurią nukreiptos HeadCrab atakos
Redis yra atvirojo kodo duomenų saugykla atmintyje, kurią galima naudoti kaip duomenų bazę, talpyklą ar pranešimų tarpininką. Kadangi jis skirtas veikti saugiame uždarame tinkle, numatytieji Redis serveriai, pasiekiami iš interneto, yra jautrūs neteisėtai prieigai ir komandų vykdymui. „Redis Cluster“ leidžia automatiškai padalyti ir saugoti duomenis keliuose mazguose, naudojant pagrindinius ir pavaldinius serverius, kad būtų lengva replikuoti ir sinchronizuoti duomenis. Serveris gali būti priskirtas kaip vergas naudojant SLAVEOF komandą, leidžiančią jam sinchronizuotis su pagrindiniu serveriu, įskaitant visų pagrindiniame modulių atsisiuntimą. Redis moduliai yra vykdomieji bendrinamų objektų failai, kurie praplečia serverio funkcionalumą. Moduliai įkeliami ir įkeliami į serverį per Redis prievadą, naudojant komandą MODULE LOAD.
„Redis“ serveriai pastaraisiais metais buvo nusitaikę užpuolikų dėl netinkamos konfigūracijos ir pažeidžiamumų. Augant Redis serverių populiarumui, auga ir atakų dažnis, o tokie incidentai kaip Redigo kenkėjiška programa ir TeamTNT buvo nukreipti į Redis serverius.
„Aqua Nautilus“ valdomo „Housepot“ serverio ataka prasidėjo užpuolikui nusitaikius į „Redis“ serverį. Galiausiai serveris buvo pažeistas, kai komanda SLAVEOF buvo panaudota nustatant jį kaip kito „Redis“ serverio, kurį valdo užpuolikas, vergas. Meistras inicijavo Slave sinchronizavimą, kuris savo ruožtu atsisiuntė HeadCrab kenkėjišką programą kaip kenkėjišką Redis modulį į Slave honeypot serverį. Šią taktiką naudojo užpuolikai, norėdami įkelti kenkėjiškus Redis modulius į paveiktus pagrindinius kompiuterius.
Kenkėjiška „HeadCrab“ programa yra labai pažangi ir sudėtinga grėsmė. Sukurta kaip piktavališka Redis modulio struktūra, ji turi daugybę galimybių ir galimybių.
„HeadCrab“ unikalus profilis ir elgesys
„HeadCrab“ pavyzdys, su kuriuo susidūrė „Aqua Nautilus“, nepateikė jokių „Virus Total“ rezultatų, naudojant jo MD5 kontrolinę sumą. Nepaisant bandymų gauti papildomų egzempliorių, komandai nepasisekė, o tai sustiprina įsitikinimą, kad tai labai sunkiai suprantama ir originali kenkėjiška programa.
Vykdymo pradžioje kenkėjiška programa naudoja RedisModule_OnLoad funkciją, kuri suaktyvinama Redis serveriui įkeliant modulį. Tada kenkėjiška programa išsaugo pagrindinių Redis API funkcijų adresus, kad būtų galima naudoti ateityje, ir patikrina, ar modulis pavadinimu rds jau įkeltas. Jei taip, kenkėjiška programa iš karto sustos ir neatliks jokios kenkėjiškos veiklos.
Modulis gali būti įkeltas su dviem argumentais arba stebuklingais skaičiais, kurie iš tikrųjų yra du pasauliniai stebuklingi skaičiai, kurie naudojami kaip šifravimo raktai ir patvirtina, kad vartotojas iš tikrųjų yra grėsmės veikėjas. Vėliau kenkėjiška programa gali pakeisti šiuos magiškus skaičius įvairiose vykdymo dalyse. Modulis gali būti įkeltas su magiškais skaičiais arba be jų, ir tai turės įtakos kai kurioms kenkėjiškos programinės įrangos galimybėms vykdymo metu.
Žalinga programinė įranga nustato maršrutą į dinaminio įkėlimo komponentą, leidžiantį paleisti programas. Pateikdamas norimą vykdomąjį failą kaip parametrą, dinaminės įkėlimo komponentas gali vykdyti procesus savo vardu. Ši technika gali apeiti saugos priemones, kurios nustato kenksmingus failus, tikrinant procesų vykdymą. Kadangi dinaminio įkėlimo komponentas yra tikras dvejetainis, jis nepripažįstamas kaip kenkėjiškas, o kenkėjiška programa gali pasislėpti nuo šių saugos priemonių.