Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

Šiuo straipsniu pradedame publikacijų apie sunkiai suvokiamą kenkėjišką programą seriją. Be failų įsilaužimo programos, taip pat žinomos kaip įsilaužimo be failų programos, paprastai naudoja PowerShell Windows sistemose, kad tyliai paleistų komandas, skirtas ieškoti ir išgauti vertingą turinį. Aptikti įsilaužėlių veiklą be kenkėjiškų failų yra sudėtinga užduotis, nes... antivirusinės ir daugelis kitų aptikimo sistemų veikia remiantis parašo analize. Tačiau gera žinia ta, kad tokia programinė įranga egzistuoja. Pavyzdžiui, UBA sistemos, galintis aptikti kenkėjišką veiklą failų sistemose.

Kai pirmą kartą pradėjau tyrinėti blogų įsilaužėlių temą, nenaudojant tradicinių infekcijos būdų, bet tik aukos kompiuteryje turimus įrankius ir programinę įrangą, net neįsivaizdavau, kad tai greitai taps populiariu puolimo metodu. Apsaugos profesionalai sakykkad tai tampa tendencija, ir baisios straipsnių antraštės - tai patvirtinimas. Todėl nusprendžiau šia tema padaryti publikacijų seriją.

Puikus ir galingas PowerShell

Apie kai kurias iš šių idėjų jau rašiau anksčiau „PowerShell“ užmaskavimo serija, bet labiau pagrįsta teorine koncepcija. Vėliau susiradau svetainė hibridinei analizei, kur galite rasti gamtoje „pagautų“ kenkėjiškų programų pavyzdžių. Nusprendžiau pabandyti pasinaudoti šia svetaine, kad rasčiau kenkėjiškų programų be failų pavyzdžių. Ir man pavyko. Beje, jei norite leistis į savo kenkėjiškų programų medžioklės ekspediciją, turėsite gauti šios svetainės patvirtinimą, kad jie žinotų, jog dirbate kaip baltos kepurės specialistas. Kaip saugumo tinklaraštininkas, išlaikiau jį be jokių klausimų. Esu tikras, kad tu taip pat gali.

Be pačių pavyzdžių, svetainėje galite pamatyti, ką daro šios programos. Hibridinė analizė paleidžia kenkėjiškas programas savo smėlio dėžėje ir stebi sistemos skambučius, vykdomus procesus ir tinklo veiklą bei ištraukia įtartinas teksto eilutes. Dvejetainiams ir kitiems vykdomiesiems failams, t.y. Jei net negalite pažvelgti į tikro aukšto lygio kodą, hibridinė analizė nustato, ar programinė įranga yra kenkėjiška, ar tiesiog įtartina, atsižvelgiant į jos vykdymo laiką. O po to imtis jau vertinama.

„PowerShell“ ir kitų pavyzdinių scenarijų („Visual Basic“, „JavaScript“ ir kt.) atveju galėjau pamatyti patį kodą. Pavyzdžiui, aš susidūriau su šiuo „PowerShell“ pavyzdžiu:

Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

Taip pat galite paleisti „PowerShell“ „base64“ koduotę, kad išvengtumėte aptikimo. Atkreipkite dėmesį į neinteraktyvių ir paslėptų parametrų naudojimą.

Jei skaitėte mano pranešimus apie užmaskavimą, žinote, kad parinktis -e nurodo, kad turinys yra užkoduotas base64. Beje, tam padeda ir hibridinė analizė, viską dekoduojanti atgal. Jei norite patys pabandyti dekoduoti base64 PowerShell (toliau – PS), turite paleisti šią komandą:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Eik gilyn

Šiuo metodu iššifravau mūsų PS scenarijų, žemiau yra programos tekstas, nors ir šiek tiek pakeistas:

Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

Atminkite, kad scenarijus buvo susietas su 4 m. rugsėjo 2017 d. data ir perdavė seanso slapukus.

Apie tokį puolimo stilių rašiau PS užtemimo serija, kuriame įkeliamas pats base64 užkoduotas scenarijus dingęs kenkėjiška programa iš kitos svetainės, naudojant .Net Framework bibliotekos WebClient objektą, kad atliktų sunkumus.

Ką jis daro?

Saugos programinei įrangai, kuri nuskaito „Windows“ įvykių žurnalus arba ugniasienes, „base64“ kodavimas neleidžia aptikti eilutės „WebClient“ pagal paprasto teksto šabloną, kad būtų apsaugota nuo tokios žiniatinklio užklausos. Kadangi visas kenkėjiškos programos „blogis“ atsisiunčiamas ir perduodamas į mūsų „PowerShell“, šis metodas leidžia visiškai išvengti aptikimo. Tiksliau, iš pradžių taip ir maniau.

Pasirodo, įjungę Windows PowerShell Advanced Logging (žr. mano straipsnį), įvykių žurnale galėsite matyti įkeltą eilutę. Aš esu kaip ir kiti ) Manau, kad pagal numatytuosius nustatymus „Microsoft“ turėtų įjungti šį registravimo lygį. Todėl, kai įjungtas išplėstinis registravimas, „Windows“ įvykių žurnale matysime užbaigtą atsisiuntimo užklausą iš PS scenarijaus pagal aukščiau aptartą pavyzdį. Todėl prasminga jį suaktyvinti, ar nesutinkate?

Pridėkime papildomų scenarijų

Piratai sumaniai slepia PowerShell atakas Microsoft Office makrokomandose, parašytose Visual Basic ir kitomis scenarijų kalbomis. Idėja tokia, kad auka gauna pranešimą, pavyzdžiui, iš siuntų tarnybos, su pridedama ataskaita .doc formatu. Atidarote šį dokumentą, kuriame yra makrokomandos, ir jis paleidžia pačią kenkėjišką „PowerShell“.

Dažnai pats Visual Basic scenarijus yra užtemdytas, kad jis laisvai išvengtų antivirusinių ir kitų kenkėjiškų programų skaitytuvų. Atsižvelgdamas į tai, kas išdėstyta pirmiau, nusprendžiau užkoduoti aukščiau pateiktą PowerShell JavaScript kaip pratimą. Žemiau pateikiami mano darbo rezultatai:

Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

Užtemdytas „JavaScript“, slepiantis mūsų „PowerShell“. Tikri įsilaužėliai tai daro vieną ar du kartus.

Tai dar viena technika, kurią mačiau internete: Wscript.Shell naudojimas užkoduotai PowerShell paleisti. Beje, pats JavaScript yra reiškia kenkėjiškų programų pristatymas. Daugelis „Windows“ versijų turi integruotą "Windows Script Host, kuri pati gali paleisti JS.
Mūsų atveju kenkėjiškas JS scenarijus yra įdėtas kaip failas su plėtiniu .doc.js. „Windows“ paprastai rodys tik pirmąją priesagą, todėl aukai ji pasirodys kaip „Word“ dokumentas.

Nepagaunamos kenkėjiškos programos nuotykiai, I dalis

JS piktograma rodoma tik slinkimo piktogramoje. Nenuostabu, kad daugelis žmonių atidarys šį priedą manydami, kad tai Word dokumentas.

Savo pavyzdyje pakeičiau aukščiau esantį „PowerShell“, kad atsisiųsčiau scenarijų iš savo svetainės. Nuotolinis PS scenarijus tiesiog išspausdina „Evil Malware“. Kaip matote, jis visai neblogas. Žinoma, tikri įsilaužėliai yra suinteresuoti gauti prieigą prie nešiojamojo kompiuterio ar serverio, tarkime, per komandų apvalkalą. Kitame straipsnyje parodysiu, kaip tai padaryti naudojant „PowerShell Empire“.

Tikiuosi, kad pirmajame įžanginiame straipsnyje mes per daug nesigilinome į temą. Dabar leisiu jums atsikvėpti, o kitą kartą pradėsime žiūrėti į tikrus atakų, naudojant kenkėjiškas programas be failų, pavyzdžius be jokių nereikalingų įžanginių žodžių ar pasiruošimo.

Šaltinis: www.habr.com

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