Այս հոդվածով մենք սկսում ենք հրապարակումների շարք խուսափողական չարամիտ ծրագրերի մասին: Անֆայլ հաքերային ծրագրերը, որոնք նաև հայտնի են որպես առանց ֆայլի հաքերային ծրագրեր, սովորաբար օգտագործում են PowerShell-ը Windows համակարգերում՝ անաղմուկ գործարկելու հրամաններ՝ արժեքավոր բովանդակություն որոնելու և հանելու համար: Հաքերների գործունեության հայտնաբերումն առանց վնասակար ֆայլերի բարդ խնդիր է, քանի որ... հակավիրուսները և հայտնաբերման շատ այլ համակարգեր աշխատում են ստորագրության վերլուծության հիման վրա: Բայց լավ նորությունն այն է, որ նման ծրագրակազմ գոյություն ունի: Օրինակ,
Երբ ես առաջին անգամ սկսեցի ուսումնասիրել չարաճճի հաքերների թեման,
Մեծ և հզոր PowerShell-ը
Այս գաղափարներից մի քանիսի մասին ես գրել եմ նախկինում
Բացի հենց նմուշներից, կայքում դուք կարող եք տեսնել, թե ինչ են անում այս ծրագրերը: Հիբրիդային վերլուծությունը գործարկում է չարամիտ ծրագրերը սեփական ավազատուփում և վերահսկում համակարգային զանգերը, գործարկվող գործընթացները և ցանցի գործունեությունը և հանում կասկածելի տեքստային տողերը: Երկուականների և այլ գործարկվող ֆայլերի համար, այսինքն. որտեղ դուք չեք կարող նույնիսկ նայել իրական բարձր մակարդակի կոդը, հիբրիդային վերլուծությունը որոշում է, թե արդյոք ծրագրաշարը վնասակար է, թե պարզապես կասկածելի՝ հիմնվելով իր գործարկման ժամանակի գործունեության վրա: Եվ դրանից հետո նմուշն արդեն գնահատվում է։
PowerShell-ի և այլ նմուշային սկրիպտների դեպքում (Visual Basic, JavaScript և այլն), ես կարողացա տեսնել հենց կոդը: Օրինակ, ես հանդիպեցի այս PowerShell օրինակին.
Դուք կարող եք նաև գործարկել PowerShell-ը base64 կոդավորման մեջ՝ հայտնաբերումից խուսափելու համար: Ուշադրություն դարձրեք ոչ ինտերակտիվ և թաքնված պարամետրերի օգտագործմանը:
Եթե դուք կարդացել եք իմ գրառումները մշուշման մասին, ապա գիտեք, որ -e տարբերակը նշում է, որ բովանդակությունը կոդավորված է base64-ով: Ի դեպ, հիբրիդային անալիզը նույնպես օգնում է դրան՝ ամեն ինչ ետ վերծանելով։ Եթե ցանկանում եք ինքներդ փորձել ապակոդավորել base64 PowerShell-ը (այսուհետ՝ PS), դուք պետք է գործարկեք այս հրամանը.
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Ավելի խորը փորիր
Ես վերծանեցի մեր PS սկրիպտը՝ օգտագործելով այս մեթոդը, ստորև ներկայացված է ծրագրի տեքստը, թեև մի փոքր փոփոխված իմ կողմից.
Նկատի ունեցեք, որ սցենարը կապված էր 4 թվականի սեպտեմբերի 2017-ի ամսաթվի հետ և փոխանցել էր նիստի թխուկները:
Հարձակման այս ոճի մասին գրել եմ
Ինչ է դա անել:
Windows-ի իրադարձությունների տեղեկամատյանները կամ firewalls-ը սկանավորող անվտանգության ծրագրային ապահովման համար base64 կոդավորումը թույլ չի տալիս «WebClient» տողը հայտնաբերել պարզ տեքստի օրինակով՝ պաշտպանելու համար նման վեբ հարցում կատարելուց: Եվ քանի որ չարամիտ ծրագրի ողջ «չարը» այնուհետև ներբեռնվում և փոխանցվում է մեր PowerShell-ին, այս մոտեցումը թույլ է տալիս մեզ ամբողջությամբ խուսափել հայտնաբերումից: Ավելի ճիշտ, ես սկզբում այդպես էի մտածում:
Պարզվում է, որ Windows PowerShell Advanced Logging-ը միացված լինելու դեպքում (տե՛ս իմ հոդվածը), դուք կկարողանաք տեսնել բեռնված տողը իրադարձությունների մատյանում։ ես նման եմ
Ավելացնենք լրացուցիչ սցենարներ
Հաքերները խելամտորեն թաքցնում են PowerShell-ի հարձակումները Microsoft Office մակրոներում՝ գրված Visual Basic-ով և սկրիպտավորման այլ լեզուներով: Գաղափարն այն է, որ տուժողը հաղորդագրություն է ստանում, օրինակ, առաքման ծառայությունից, կից զեկույցով .doc ձևաչափով: Դուք բացում եք այս փաստաթուղթը, որը պարունակում է մակրո, և այն ավարտվում է չարամիտ PowerShell-ի գործարկումով:
Հաճախ Visual Basic-ի սկրիպտն ինքնին խճճված է այնպես, որ այն ազատորեն խուսափում է հակավիրուսային և այլ չարամիտ սկաներներից: Վերոնշյալի ոգով ես որոշեցի կոդավորել վերը նշված PowerShell-ը JavaScript-ում՝ որպես վարժություն: Ստորև ներկայացնում եմ իմ աշխատանքի արդյունքները.
Խճճված JavaScript-ը թաքցնում է մեր PowerShell-ը: Իրական հաքերները դա անում են մեկ կամ երկու անգամ:
Սա ևս մեկ տեխնիկա է, որը ես տեսել եմ համացանցում լողացող՝ օգտագործելով Wscript.Shell կոդավորված PowerShell-ը գործարկելու համար: Ի դեպ, JavaScript-ն ինքն է
Մեր դեպքում վնասակար JS սկրիպտը ներկառուցված է որպես ֆայլ .doc.js ընդլայնմամբ: Windows-ը սովորաբար ցույց կտա միայն առաջին վերջածանցը, ուստի այն տուժողին կհայտնվի որպես Word փաստաթուղթ:
JS պատկերակը հայտնվում է միայն ոլորման պատկերակում: Զարմանալի չէ, որ շատերը կբացեն այս հավելվածը՝ մտածելով, որ դա Word փաստաթուղթ է:
Իմ օրինակում ես վերը նշված PowerShell-ը վերափոխեցի՝ սկրիպտը իմ կայքից ներբեռնելու համար: Հեռավոր PS սցենարը պարզապես տպում է «Չար չարամիտ ծրագիր»: Ինչպես տեսնում եք, նա ամենևին էլ չար չէ։ Իհարկե, իրական հաքերները շահագրգռված են մուտք գործել դեպի նոութբուք կամ սերվեր, ասենք, հրամանի վահանակի միջոցով: Հաջորդ հոդվածում ես ձեզ ցույց կտամ, թե ինչպես դա անել՝ օգտագործելով PowerShell Empire-ը:
Հուսով եմ, որ առաջին ներածական հոդվածի համար մենք շատ չխորացանք թեմայի մեջ: Այժմ ես թույլ կտամ ձեզ շունչ քաշել, և հաջորդ անգամ մենք կսկսենք դիտարկել հարձակումների իրական օրինակներ՝ օգտագործելով առանց ֆայլի չարամիտ ծրագրեր՝ առանց որևէ ավելորդ ներածական խոսքի կամ նախապատրաստման:
Source: www.habr.com