Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Šis straipsnis yra „Fileless“ kenkėjiškų programų serijos dalis. Visos kitos serijos dalys:

Aš esu svetainės gerbėjas hibridinė analizė (hibridinė analizė, toliau HA). Tai savotiškas kenkėjiškų programų zoologijos sodas, kuriame galite saugiai stebėti laukinius „plėšrūnus“ iš saugaus atstumo, be užpuolimo. HA paleidžia kenkėjiškas programas saugioje aplinkoje, įrašo sistemos skambučius, sukurtus failus ir interneto srautą ir pateikia visus šiuos kiekvieno analizuojamo pavyzdžio rezultatus. Tokiu būdu jums nereikės eikvoti savo laiko ir jėgų bandant pačiam išsiaiškinti painų kodą, bet iš karto suprasti visus įsilaužėlių ketinimus.

Mano dėmesį patraukę HA pavyzdžiai naudoja koduotus JavaScript arba Visual Basic for Applications (VBA) scenarijus, įterptus kaip makrokomandas Word arba Excel dokumentuose ir pridėtus prie sukčiavimo el. laiškų. Atidarius šias makrokomandas, aukos kompiuteryje pradedamas PowerShell seansas. Įsilaužėliai paprastai siunčia „Base64“ užkoduotą komandų srautą į „PowerShell“. Visa tai daroma tam, kad ataką būtų sunku aptikti žiniatinklio filtrams ir antivirusinei programinei įrangai, kuri reaguoja į tam tikrus raktinius žodžius.
Laimei, HA automatiškai iššifruoja „Base64“ ir iškart rodo viską skaitomu formatu. Iš esmės jums nereikia susikoncentruoti į tai, kaip šie scenarijai veikia, nes atitinkamoje HA dalyje galėsite matyti visą vykdomų procesų komandų išvestį. Žiūrėkite pavyzdį žemiau:

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Hibridinė analizė perima „Base64“ užkoduotas komandas, siunčiamas į „PowerShell“:

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

...ir tada iššifruoja juos jums. #stebuklingai

В ankstesnis įrašas Sukūriau savo šiek tiek užtemdytą „JavaScript“ konteinerį, kad paleisčiau „PowerShell“ sesiją. Mano scenarijus, kaip ir daugelis „PowerShell“ pagrįstų kenkėjiškų programų, iš nuotolinės svetainės atsisiunčia šį „PowerShell“ scenarijų. Tada, kaip pavyzdį, įkėliau nekenksmingą PS, kuris atspausdino pranešimą ekrane. Tačiau laikai keičiasi, o dabar aš siūlau scenarijų apsunkinti.

„PowerShell Empire“ ir „Reverse Shell“.

Vienas iš šio pratimo tikslų – parodyti, kaip (palyginti) lengvai įsilaužėlis gali apeiti klasikines perimetro apsaugos priemones ir antivirusines priemones. Jei IT tinklaraštininkas, neturintis programavimo įgūdžių, kaip aš, gali tai padaryti per porą vakarų sukurti neaptinkamą kenkėjišką programą (visiškai neaptikta, FUD), įsivaizduokite jauno įsilaužėlio, besidominčio tuo, galimybes!

O jei esate IT saugumo tiekėjas, bet jūsų vadovas nežino galimų šių grėsmių pasekmių, tiesiog parodykite jam šį straipsnį.

Piratai svajoja gauti tiesioginę prieigą prie aukos nešiojamojo kompiuterio ar serverio. Tai padaryti labai paprasta: įsilaužėliui tereikia gauti kelis konfidencialius failus į generalinio direktoriaus nešiojamąjį kompiuterį.

Kažkaip jau aš parašiau apie PowerShell Empire pogaminį vykdymo laiką. Prisiminkime, kas tai yra.

Iš esmės tai yra PowerShell pagrįstas įsiskverbimo testavimo įrankis, kuris, be daugelio kitų funkcijų, leidžia lengvai paleisti atvirkštinį apvalkalą. Išsamiau galite išstudijuoti adresu PSE pagrindinė svetainė.

Padarykime nedidelį eksperimentą. „Amazon Web Services“ debesyje sukūriau saugią kenkėjiškų programų testavimo aplinką. Galite sekti mano pavyzdžiu, kad greitai ir saugiai parodytumėte veikiantį šio pažeidžiamumo pavyzdį (ir nebūtumėte atleisti už virusų paleidimą įmonės perimetro viduje).

Jei paleisite „PowerShell Empire“ konsolę, pamatysite kažką panašaus:

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Pirmiausia įsilaužėlių kompiuteryje paleidžiate klausymosi procesą. Įveskite komandą "klausytojas" ir nurodykite savo sistemos IP adresą naudodami "set Host". Tada pradėkite klausytojo procesą naudodami komandą „vykdyti“ (žemiau). Taigi, jūs pradėsite laukti tinklo ryšio iš nuotolinio apvalkalo:

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Kitoje pusėje turėsite sugeneruoti agento kodą, įvesdami komandą „paleidimo priemonė“ (žr. toliau). Tai sugeneruos „PowerShell“ kodą nuotoliniam agentui. Atminkite, kad jis yra užkoduotas „Base64“ ir yra antrasis naudingosios apkrovos etapas. Kitaip tariant, mano „JavaScript“ kodas dabar paskatins šį agentą paleisti „PowerShell“, o ne nekenksmingai spausdinti tekstą ekrane, ir prisijungti prie mūsų nuotolinio PSE serverio, kad paleistų atvirkštinį apvalkalą.

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai
Atvirkštinio apvalkalo magija. Ši užkoduota „PowerShell“ komanda prisijungs prie mano klausytojo ir paleis nuotolinį apvalkalą.

Norėdamas parodyti jums šį eksperimentą, prisiėmiau nekaltos aukos vaidmenį ir atidariau Evil.doc, taip paleisdamas mūsų JavaScript. Prisimeni pirmąją dalį? „PowerShell“ buvo sukonfigūruotas taip, kad jo langas neatsirastų, todėl auka nepastebės nieko neįprasto. Tačiau jei atidarysite „Windows“ užduočių tvarkyklę, pamatysite foninį „PowerShell“ procesą, kuris daugeliui žmonių vis tiek nesukels jokio pavojaus signalo. Nes tai tik įprastas „PowerShell“, ar ne?

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Dabar, kai paleisite Evil.doc, paslėptas foninis procesas prisijungs prie serverio, kuriame veikia PowerShell Empire. Uždėjęs baltą „Pentester“ įsilaužėlių skrybėlę grįžau į „PowerShell Empire“ pultą ir dabar matau pranešimą, kad mano nuotolinis agentas yra aktyvus.

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Tada įvedžiau komandą „interact“, kad atidaryčiau apvalkalą PSE – ir štai aš! Trumpai tariant, įsilaužiau į „Taco“ serverį, kurį vieną kartą sukūriau pats.

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai

Tai, ką ką tik pademonstravau, nereikalauja tiek daug jūsų darbo. Visa tai galite lengvai padaryti per pietų pertrauką vieną ar dvi valandas, kad pagerintumėte savo informacijos saugumo žinias. Tai taip pat puikus būdas suprasti, kaip įsilaužėliai apeina jūsų išorinį saugos perimetrą ir patenka į jūsų sistemas.

IT vadovams, manantiems, kad jie sukūrė neįveikiamą apsaugą nuo bet kokio įsibrovimo, tai tikriausiai taip pat bus mokoma – tai yra, jei galėsite įtikinti juos sėdėti su jumis pakankamai ilgai.

Grįžkime į realybę

Kaip ir tikėjausi, tikras įsilaužimas, nematomas paprastam vartotojui, yra tiesiog variantas to, ką ką tik aprašiau. Norėdamas rinkti medžiagą kitam leidiniui, pradėjau ieškoti HA pavyzdžio, kuris veiktų taip pat, kaip ir mano sugalvotas pavyzdys. Ir man nereikėjo ilgai jo ieškoti - svetainėje yra daug panašios atakos technikos variantų.

Kenkėjiška programa, kurią galiausiai radau HA, buvo VBA scenarijus, įdėtas į Word dokumentą. Tai yra, man net nereikia suklastoti doc plėtinio, ši kenkėjiška programa tikrai yra normaliai atrodantis Microsoft Word dokumentas. Jei susidomėjote, pasirinkau šį pavyzdį vad rfq.doc.

Greitai sužinojau, kad dažnai negalite tiesiogiai ištraukti kenksmingų VBA scenarijų iš dokumento. Įsilaužėliai juos suspaudžia ir paslepia, kad jie nebūtų matomi Word integruotuose makrokomandų įrankiuose. Norėdami jį pašalinti, jums reikės specialaus įrankio. Laimei, aptikau skaitytuvą OfficeMalScanner Frankas Baldwinas. Ačiū, Frank.

Naudodamas šį įrankį galėjau ištraukti labai užmaskuotą VBA kodą. Tai atrodė maždaug taip:

Nepagaunamų kenkėjiškų programų nuotykiai, II dalis: slapti VBA scenarijai
Sumaištį atliko savo srities profesionalai. Likau sužavėta!

Puolėjai tikrai gerai moka užtemdyti kodą, ne taip, kaip mano pastangos kuriant Evil.doc. Gerai, kitoje dalyje išimsime savo VBA derintuvus, pasinersime į šį kodą ir palyginsime savo analizę su HA rezultatais.

Šaltinis: www.habr.com

Добавить комментарий