Ar šo rakstu mēs sākam publikāciju sēriju par nenotveramu ļaunprātīgu programmatūru. Bezdatņu uzlaušanas programmas, kas pazīstamas arī kā bezfailu uzlaušanas programmas, Windows sistēmās parasti izmanto PowerShell, lai klusi palaistu komandas, lai meklētu un izvilktu vērtīgu saturu. Hakeru darbības noteikšana bez ļaunprātīgiem failiem ir grūts uzdevums, jo... antivīrusi un daudzas citas noteikšanas sistēmas darbojas, pamatojoties uz parakstu analīzi. Bet labā ziņa ir tāda, ka šāda programmatūra pastāv. Piemēram,
Kad es pirmo reizi sāku pētīt tēmu par ļaunajiem hakeriem,
Lielais un spēcīgais PowerShell
Par dažām no šīm idejām esmu rakstījis iepriekš
Papildus pašiem paraugiem vietnē varat redzēt, ko šīs programmas dara. Hibrīda analīze palaiž ļaunprogrammatūru savā smilšu kastē un uzrauga sistēmas zvanus, darbības procesus un tīkla darbības, kā arī izvelk aizdomīgas teksta virknes. Binārajiem failiem un citiem izpildāmiem failiem, t.i. Ja jūs pat nevarat apskatīt faktisko augsta līmeņa kodu, hibrīdā analīze nosaka, vai programmatūra ir ļaunprātīga vai vienkārši aizdomīga, pamatojoties uz tās izpildlaika darbību. Un pēc tam paraugs jau tiek novērtēts.
PowerShell un citu skriptu paraugu (Visual Basic, JavaScript utt.) gadījumā es varēju redzēt pašu kodu. Piemēram, es saskāros ar šo PowerShell gadījumu:
Varat arī palaist PowerShell base64 kodējumā, lai izvairītos no atklāšanas. Ņemiet vērā, ka tiek izmantoti neinteraktīvie un slēptie parametri.
Ja esat lasījis manas ziņas par apmulsināšanu, tad zināt, ka opcija -e norāda, ka saturs ir kodēts base64. Starp citu, to palīdz arī hibrīdanalīze, atšifrējot visu atpakaļ. Ja vēlaties pats mēģināt dekodēt base64 PowerShell (turpmāk tekstā PS), jums ir jāpalaiž šī komanda:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Iet dziļāk
Es dekodēju mūsu PS skriptu, izmantojot šo metodi, zemāk ir programmas teksts, kaut arī es nedaudz modificēju:
Ņemiet vērā, ka skripts bija saistīts ar datumu 4. gada 2017. septembri un pārsūtīja sesijas sīkfailus.
Es rakstīju par šo uzbrukuma stilu
Ko tas dara?
Drošības programmatūrai, kas skenē Windows notikumu žurnālus vai ugunsmūrus, base64 kodējums neļauj atklāt virkni "WebClient", izmantojot vienkārša teksta paraugu, lai aizsargātu pret šāda tīmekļa pieprasījuma veikšanu. Un tā kā viss ļaunprogrammatūras “ļaunums” pēc tam tiek lejupielādēts un nodots mūsu PowerShell, šī pieeja ļauj mums pilnībā izvairīties no atklāšanas. Pareizāk sakot, tā es sākumā domāju.
Izrādās, ka ar iespējotu Windows PowerShell Advanced Logging (skat. manu rakstu), notikumu žurnālā varēsiet redzēt ielādēto rindiņu. Es esmu kā
Pievienosim papildu scenārijus
Hakeri gudri slēpj PowerShell uzbrukumus Microsoft Office makro, kas rakstīti Visual Basic un citās skriptu valodās. Ideja ir tāda, ka cietušais saņem ziņojumu, piemēram, no piegādes dienesta, ar pievienotu ziņojumu .doc formātā. Jūs atverat šo dokumentu, kurā ir makro, un tas galu galā palaiž pašu ļaunprātīgo PowerShell.
Bieži vien pats Visual Basic skripts tiek aptumšots, lai tas brīvi izvairītos no pretvīrusu un citu ļaunprātīgas programmatūras skeneru. Ņemot vērā iepriekš minēto, es nolēmu kodēt iepriekš minēto PowerShell JavaScript kā vingrinājumu. Zemāk ir mana darba rezultāti:
Apslēpts JavaScript, kas slēpj mūsu PowerShell. Īsti hakeri to dara vienu vai divas reizes.
Šī ir vēl viena tehnika, ko esmu redzējis tīmeklī: Wscript.Shell izmantošana, lai palaistu kodētu PowerShell. Starp citu, JavaScript pats par sevi ir
Mūsu gadījumā ļaunprātīgais JS skripts ir iegults kā fails ar paplašinājumu .doc.js. Windows parasti parādīs tikai pirmo sufiksu, tāpēc cietušajam tas parādīsies kā Word dokuments.
JS ikona parādās tikai ritināšanas ikonā. Nav pārsteidzoši, ka daudzi cilvēki atvērs šo pielikumu, domājot, ka tas ir Word dokuments.
Savā piemērā es modificēju iepriekš minēto PowerShell, lai lejupielādētu skriptu no savas vietnes. Attālais PS skripts vienkārši izdrukā "Evil Malware". Kā redzat, viņš nemaz nav ļauns. Protams, īstie hakeri ir ieinteresēti piekļūt klēpjdatoram vai serverim, teiksim, izmantojot komandu apvalku. Nākamajā rakstā es jums parādīšu, kā to izdarīt, izmantojot PowerShell Empire.
Ceru, ka pirmajā ievadrakstā mēs pārāk neiedziļinājāmies tēmā. Tagad es atļaušu jums atvilkt elpu, un nākamreiz mēs sāksim aplūkot reālus uzbrukumu piemērus, izmantojot bezfailu ļaunprogrammatūru bez liekiem ievadvārdiem vai sagatavošanās.
Avots: www.habr.com