Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Ta članek je del serije zlonamerne programske opreme brez datotek. Vsi ostali deli serije:

Sem oboževalec spletnega mesta hibridna analiza (hibridna analiza, v nadaljevanju HA). To je nekakšen živalski vrt z zlonamerno programsko opremo, kjer lahko varno opazujete divje »plenilce« z varne razdalje, ne da bi vas napadli. HA izvaja zlonamerno programsko opremo v varnih okoljih, beleži sistemske klice, ustvarjene datoteke in internetni promet ter vam daje vse te rezultate za vsak vzorec, ki ga analizira. Na ta način vam ni treba izgubljati časa in energije, da bi sami odkrili zmedeno kodo, ampak lahko takoj razumete vse namere hekerjev.

Primeri HA, ki so pritegnili mojo pozornost, uporabljajo kodiran JavaScript ali skripte Visual Basic for Applications (VBA), vdelane kot makri v dokumente Word ali Excel in priložene e-poštnim sporočilom z lažnim predstavljanjem. Ko se ti makri odprejo, začnejo sejo PowerShell v računalniku žrtve. Hekerji običajno pošljejo PowerShell kodiran tok ukazov Base64. Vse to je narejeno zato, da spletni filtri in protivirusna programska oprema, ki se odzivajo na določene ključne besede, otežijo odkrivanje napada.
Na srečo HA samodejno dekodira Base64 in vse takoj prikaže v berljivi obliki. V bistvu se vam ni treba osredotočati na to, kako ti skripti delujejo, saj boste lahko videli celoten izhod ukaza za tekoče procese v ustreznem razdelku HA. Oglejte si spodnji primer:

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Hibridna analiza prestreže ukaze, kodirane z Base64, poslane lupini PowerShell:

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

...in jih nato dekodira namesto vas. #čarobno

В prejšnja objava Ustvaril sem svoj rahlo zakrit vsebnik JavaScript za izvajanje seje PowerShell. Moj skript, kot večina zlonamerne programske opreme, ki temelji na PowerShell, nato prenese naslednji skript PowerShell z oddaljenega spletnega mesta. Nato sem kot primer naložil neškodljiv PS, ki je na ekran izpisal sporočilo. Toda časi se spreminjajo in zdaj predlagam, da zapletemo scenarij.

PowerShell Empire in Reverse Shell

Eden od ciljev te vaje je pokazati, kako (razmeroma) enostavno lahko heker zaobide klasično obrambo perimetra in antiviruse. Če lahko IT bloger brez znanja programiranja, kot sem jaz, to naredi v nekaj večerih ustvariti nezaznavno zlonamerno programsko opremo (popolnoma neodkrito, FUD), si predstavljajte zmožnosti mladega hekerja, ki ga to zanima!

In če ste ponudnik varnosti IT, vendar se vaš vodja ne zaveda možnih posledic teh groženj, mu le pokažite ta članek.

Hekerji sanjajo o neposrednem dostopu do prenosnega računalnika ali strežnika žrtve. To je zelo preprosto narediti: vse, kar mora heker storiti, je pridobiti nekaj zaupnih datotek na prenosnem računalniku izvršnega direktorja.

Nekako sem že napisal sem o postprodukcijskem izvajalnem okolju PowerShell Empire. Spomnimo se, kaj je.

To je v bistvu orodje za testiranje penetracije, ki temelji na lupini PowerShell in vam poleg številnih drugih funkcij omogoča enostavno zagon obratne lupine. Podrobneje ga lahko preučite na Domača stran PSE.

Naredimo majhen eksperiment. V oblaku Amazon Web Services sem vzpostavil varno okolje za testiranje zlonamerne programske opreme. Lahko sledite mojemu zgledu, da hitro in varno pokažete delujoč primer te ranljivosti (in da ne boste odpuščeni zaradi izvajanja virusov znotraj območja podjetja).

Če zaženete konzolo PowerShell Empire, boste videli nekaj takega:

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Najprej zaženete postopek poslušalca na svojem hekerskem računalniku. Vnesite ukaz "listener" in določite naslov IP vašega sistema z "set Host". Nato zaženite postopek poslušalca z ukazom "izvedi" (spodaj). Tako boste na vaši strani začeli čakati na omrežno povezavo z oddaljene lupine:

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Za drugo stran boste morali ustvariti kodo agenta z vnosom ukaza "launcher" (glejte spodaj). To bo ustvarilo kodo PowerShell za oddaljenega posrednika. Upoštevajte, da je kodiran v Base64 in predstavlja drugo fazo tovora. Z drugimi besedami, moja koda JavaScript bo zdaj potegnila tega agenta za zagon PowerShell namesto neškodljivega tiskanja besedila na zaslon in se povezala z našim oddaljenim strežnikom PSE za zagon obratne lupine.

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA
Čarovnija povratne lupine. Ta kodiran ukaz PowerShell se bo povezal z mojim poslušalcem in zagnal oddaljeno lupino.

Da bi vam pokazal ta poskus, sem prevzel vlogo nedolžne žrtve in odprl Evil.doc ter s tem zagnal naš JavaScript. Se spomnite prvega dela? PowerShell je konfiguriran tako, da preprečuje, da bi se njegovo okno pojavilo, tako da žrtev ne bo opazila ničesar nenavadnega. Če pa odprete upravitelja opravil Windows, boste videli postopek lupine PowerShell v ozadju, ki večini ljudi vseeno ne bo povzročil nobenega alarma. Ker je navaden PowerShell, kajne?

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Zdaj, ko zaženete Evil.doc, se skriti proces v ozadju poveže s strežnikom, v katerem se izvaja PowerShell Empire. Ko sem si nadel belo pentestersko hekersko kapo, sem se vrnil na konzolo PowerShell Empire in zdaj vidim sporočilo, da je moj oddaljeni agent aktiven.

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

Nato sem vnesel ukaz "interakcija", da odprem lupino v PSE - in tam sem bil! Skratka enkrat sem vdrl v Taco server, ki sem ga sam postavil.

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA

To, kar sem pravkar pokazal, ne zahteva toliko dela z vaše strani. Vse to lahko preprosto storite med odmorom za kosilo za eno ali dve uri in izboljšate svoje znanje o informacijski varnosti. To je tudi odličen način, da razumete, kako hekerji zaobidejo vaš zunanji varnostni meja in vdrejo v vaše sisteme.

Vodje IT, ki mislijo, da so zgradili neprebojno obrambo pred kakršnimi koli vdori, se bodo verjetno zdeli tudi poučni – to je, če jih boste prepričali, da bodo dovolj dolgo sedeli z vami.

Vrnimo se v realnost

Kot sem pričakoval, je pravi vdor, neviden povprečnemu uporabniku, preprosto različica tega, kar sem pravkar opisal. Da bi zbral material za naslednjo objavo, sem začel iskati vzorec na HA, ki deluje na enak način kot moj izumljeni primer. In ni mi ga bilo treba dolgo iskati - na spletnem mestu je veliko možnosti za podobno tehniko napada.

Zlonamerna programska oprema, ki sem jo nazadnje našel na HA, je bil skript VBA, ki je bil vdelan v Wordov dokument. To pomeni, da mi sploh ni treba ponarediti razširitve dokumenta, ta zlonamerna programska oprema je v resnici normalen dokument Microsoft Word. Če vas zanima, sem izbral ta vzorec, imenovan rfq.doc.

Hitro sem se naučil, da zlonamernih skriptov VBA pogosto ne morete neposredno potegniti iz dokumenta. Hekerji jih stisnejo in skrijejo, tako da niso vidni v Wordovih vgrajenih makro orodjih. Za odstranitev boste potrebovali posebno orodje. Na srečo sem naletel na skener OfficeMalScanner Frank Baldwin. Hvala, Frank.

S tem orodjem mi je uspelo izvleči zelo zakrito kodo VBA. Videti je bilo nekako takole:

Dogodivščine izmuzljive zlonamerne programske opreme, II. del: Skrivnostni skripti VBA
Zamegljevanje so naredili profesionalci na svojem področju. Bil sem navdušen!

Napadalci so res dobri pri zamegljevanju kode, ne kot moj trud pri ustvarjanju Evil.doc. V redu, v naslednjem delu bomo vzeli naše razhroščevalnike VBA, se nekoliko poglobili v to kodo in primerjali našo analizo z rezultati HA.

Vir: www.habr.com

Dodaj komentar