Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր

Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր

Այս հոդվածը Fileless Malware շարքի մի մասն է: Շարքի մնացած բոլոր մասերը.

Այս հոդվածում ես պատրաստվում էի սուզվել ավելի բարդ բազմափուլ առանց ֆայլի հարձակման սցենարի մեջ՝ ամրացնելով համակարգը: Բայց հետո ես հանդիպեցի աներևակայելի պարզ, առանց կոդերի հարձակման. Word կամ Excel մակրոներ չեն պահանջվում: Եվ սա շատ ավելի արդյունավետ կերպով ապացուցում է այս հոդվածաշարի հիմքում ընկած իմ սկզբնական վարկածը.

Առաջին հարձակումը, որը ես նկարագրելու եմ, օգտագործում է Microsoft Word-ի խոցելիությունը, որի վրա հիմնված է հնացած դինամիկ տվյալների փոխանակման արձանագրություն (DDE). Նա արդեն եղել է ամրագրված. Երկրորդն օգտագործում է ավելի ընդհանուր խոցելիություն Microsoft COM-ում և օբյեկտների փոխանցման հնարավորություններում:

Վերադարձ դեպի ապագա DDE-ի հետ

Ուրիշ որևէ մեկը հիշում է DDE-ին: Հավանաբար շատ չեն։ Առաջիններից մեկն էր միջգործընթացային հաղորդակցության արձանագրություններ, որոնք թույլ էին տալիս հավելվածներին և սարքերին տվյալներ փոխանցել.

Ես ինքս մի փոքր ծանոթ եմ դրան, քանի որ ժամանակին ստուգում և փորձարկում էի հեռահաղորդակցության սարքավորումները: Այն ժամանակ DDE-ն թույլ տվեց, օրինակ, զանգերի կենտրոնի օպերատորներին փոխանցել զանգի ID-ն CRM հավելվածին, որն ի վերջո բացեց հաճախորդի քարտը: Դա անելու համար դուք պետք է միացնեիք RS-232 մալուխը ձեր հեռախոսի և ձեր համակարգչի միջև: Դրանք այն օրերն էին!

Ինչպես պարզվում է, Microsoft Word-ը դեռ մնում է աջակցում է DDE.

Այն, ինչ այս հարձակումն արդյունավետ է դարձնում առանց կոդի, այն է, որ դուք կարող եք մուտք գործել DDE արձանագրություն անմիջապես Word փաստաթղթի ավտոմատ դաշտերից (գլխարկները անջատված են SensePost-ի համար հետազոտություններ և հրապարակումներ դրա մասին).

Դաշտային կոդեր MS Word-ի մեկ այլ հնագույն հատկություն է, որը թույլ է տալիս ավելացնել դինամիկ տեքստ և մի փոքր ծրագրավորում ձեր փաստաթղթում: Ամենաակնառու օրինակը էջի համարի դաշտն է, որը կարող է տեղադրվել էջատակի մեջ՝ օգտագործելով {PAGE *MERGEFORMAT} արժեքը: Սա թույլ է տալիս ավտոմատ կերպով գեներացնել էջի համարները:

Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր
Հուշում. Դուք կարող եք գտնել Դաշտի ընտրացանկի տարրը Տեղադրել:

Հիշում եմ, որ երբ առաջին անգամ հայտնաբերեցի այս հատկությունը Word-ում, ես ապշեցի: Եվ քանի դեռ կարկատելը անջատել է այն, Word-ը դեռ աջակցում էր DDE դաշտերի տարբերակը։ Գաղափարն այն էր, որ DDE-ն թույլ կտար Word-ին ուղղակիորեն հաղորդակցվել հավելվածի հետ, որպեսզի այն կարողանա ծրագրի արդյունքը փոխանցել փաստաթղթի: Այն ժամանակ դա շատ երիտասարդ տեխնոլոգիա էր՝ արտաքին հավելվածների հետ տվյալների փոխանակման աջակցություն։ Այն հետագայում վերածվեց COM տեխնոլոգիայի, որը մենք կանդրադառնանք նաև ստորև:

Ի վերջո, հաքերները հասկացան, որ այս DDE հավելվածը կարող է լինել հրամանի կեղև, որն իհարկե գործարկեց PowerShell-ը, և այնտեղից հաքերները կարող էին անել այն, ինչ ուզում էին։
Ստորև բերված սքրինշոթը ցույց է տալիս, թե ինչպես եմ ես օգտագործել այս գաղտնի տեխնիկան. DDE դաշտից փոքր PowerShell սկրիպտը (այսուհետ՝ PS) բեռնում է մեկ այլ PS սկրիպտ, որը սկսում է հարձակման երկրորդ փուլը:

Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր
Շնորհակալություն Windows-ին թռուցիկ նախազգուշացման համար, որ ներկառուցված DDEAUTO դաշտը գաղտնի փորձում է գործարկել կեղևը

Խոցելիությունը շահագործելու նախընտրելի մեթոդը DDEAUTO դաշտով տարբերակի օգտագործումն է, որն ավտոմատ կերպով գործարկում է սցենարը: բացելիս Word փաստաթուղթ.
Եկեք մտածենք, թե ինչ կարող ենք անել այս հարցում:

Որպես սկսնակ հաքեր, դուք կարող եք, օրինակ, ֆիշինգ նամակ ուղարկել՝ ձևացնելով, որ դուք Դաշնային հարկային ծառայությունից եք և տեղադրել DDEAUTO դաշտը PS սկրիպտով առաջին փուլի համար (ըստ էության՝ կաթիլային): Եվ դուք նույնիսկ կարիք չունեք մակրոների իրական կոդավորում և այլն, ինչպես ես արեցի նախորդ հոդվածը.
Տուժողը բացում է ձեր փաստաթուղթը, ներկառուցված սցենարը ակտիվանում է, և հաքերը հայտնվում է համակարգչի ներսում: Իմ դեպքում, հեռավոր PS սկրիպտը պարզապես տպում է հաղորդագրություն, բայց այն նույնքան հեշտությամբ կարող է գործարկել PS Empire հաճախորդը, որը կապահովի կեղևի հեռավոր հասանելիություն:
Եվ մինչ զոհը ժամանակ կունենա որևէ բան ասելու, հաքերները կպարզվեն, որ գյուղի ամենահարուստ դեռահասներն են։

Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր
Ռումբերն արձակվել է առանց կոդավորման ամենաչնչին մասի: Նույնիսկ երեխան կարող է դա անել:

DDE և դաշտեր

Ավելի ուշ Microsoft-ն անջատեց DDE-ն Word-ում, բայց ոչ ավելի վաղ, երբ ընկերությունը հայտարարեց, որ այդ հատկությունը պարզապես չարաշահվել է: Ինչ-որ բան փոխելու նրանց դժկամությունը հասկանալի է։ Իմ փորձով ես ինքս տեսել եմ մի օրինակ, որտեղ միացված էր դաշտերի թարմացումը փաստաթուղթ բացելիս, բայց Word մակրոները անջատված էին ՏՏ-ի կողմից (բայց ծանուցում ցույց էին տալիս): Ի դեպ, համապատասխան կարգավորումները կարող եք գտնել Word-ի կարգավորումներ բաժնում։

Այնուամենայնիվ, նույնիսկ եթե դաշտի թարմացումը միացված է, Microsoft Word-ը լրացուցիչ ծանուցում է օգտվողին, երբ դաշտը խնդրում է մուտք գործել ջնջված տվյալներ, ինչպես վերը նշված DDE-ի դեպքում: Microsoft-ը իսկապես զգուշացնում է ձեզ:

Բայց, ամենայն հավանականությամբ, օգտվողները դեռ անտեսելու են այս նախազգուշացումը և ակտիվացնելու են դաշտերի թարմացումը Word-ում: Սա Microsoft-ին շնորհակալություն հայտնելու հազվագյուտ հնարավորություններից մեկն է վտանգավոր DDE ֆունկցիան անջատելու համար:

Որքանո՞վ է դժվար այսօր Windows-ի չփակված համակարգ գտնելը:

Այս թեստավորման համար ես օգտագործել եմ AWS Workspaces՝ վիրտուալ աշխատասեղան մուտք գործելու համար: Այս կերպ ես ստացա չկարկատված MS Office վիրտուալ մեքենա, որը թույլ տվեց ինձ տեղադրել DDEAUTO դաշտը: Չեմ կասկածում, որ նման կերպ դուք կարող եք գտնել այլ ընկերություններ, որոնք դեռ չեն տեղադրել անհրաժեշտ անվտանգության patches:

Օբյեկտների առեղծվածը

Նույնիսկ եթե դուք տեղադրել եք այս կարկատելը, MS Office-ում կան անվտանգության այլ անցքեր, որոնք թույլ են տալիս հաքերներին անել մի բան, որը շատ նման է այն, ինչ մենք արեցինք Word-ի հետ: Հաջորդ սցենարում մենք կսովորենք օգտագործեք Excel-ը որպես խայծ ֆիշինգային հարձակման համար՝ առանց որևէ կոդ գրելու:

Այս սցենարը հասկանալու համար եկեք հիշենք Microsoft Component Object Model-ը կամ կարճ COM (բաղադրիչ օբյեկտի մոդել).

COM-ը գոյություն ունի 1990-ականներից և սահմանվում է որպես «լեզվի չեզոք, օբյեկտի վրա հիմնված բաղադրիչի մոդել», որը հիմնված է RPC հեռակառավարման պրոցեդուրաների կանչերի վրա: COM տերմինաբանության ընդհանուր ըմբռնման համար կարդացեք այս գրառումը StackOverflow-ում:

Հիմնականում, դուք կարող եք պատկերացնել COM հավելվածը որպես Excel կամ Word գործարկվող կամ գործարկվող այլ երկուական ֆայլ:

Պարզվում է, որ COM հավելվածը նույնպես կարող է աշխատել սցենար — JavaScript կամ VBScript: Տեխնիկապես դա կոչվում է սցենար. Դուք կարող եք տեսել .sct ընդլայնումը ֆայլերի համար Windows-ում. սա scriptlets-ի պաշտոնական ընդլայնումն է: Ըստ էության, դրանք սկրիպտային կոդ են, որոնք փաթաթված են XML փաթաթանով.

<?XML version="1.0"?>

<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[

var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");

]]>
</script>
</scriptlet>

Հաքերներն ու գրպանները պարզել են, որ Windows-ում կան առանձին կոմունալ ծրագրեր և հավելվածներ, որոնք ընդունում են COM օբյեկտները և, համապատասխանաբար, սկրիպտներ նույնպես:

Ես կարող եմ սկրիպտը փոխանցել Windows կոմունալ ծրագրին, որը գրված է VBS-ով, որը հայտնի է որպես pubprn: Այն գտնվում է C:Windowssystem32Printing_Admin_Scripts-ի խորքերում։ Ի դեպ, կան Windows-ի այլ կոմունալ ծառայություններ, որոնք ընդունում են օբյեկտները որպես պարամետրեր: Եկեք նախ նայենք այս օրինակին:

Անորսալի չարամիտ ծրագրի արկածները, Մաս IV. DDE և Word փաստաթղթերի դաշտեր
Միանգամայն բնական է, որ կեղևը կարող է գործարկվել նույնիսկ տպագիր սցենարից: Գնացեք Microsoft!

Որպես թեստ՝ ես ստեղծեցի մի պարզ հեռավար սցենար, որը գործարկում է կեղևը և տպում զվարճալի հաղորդագրություն՝ «Դու հենց նոր գրվեցիր»: Ըստ էության, pubprn-ը ներկայացնում է scriptlet օբյեկտ՝ թույլ տալով VBScript կոդը գործարկել փաթաթան: Այս մեթոդը հստակ առավելություն է տալիս հաքերներին, ովքեր ցանկանում են թաքնվել և թաքնվել ձեր համակարգում:

Հաջորդ գրառման մեջ ես կբացատրեմ, թե ինչպես COM scriptlet-ները կարող են շահագործվել հաքերների կողմից՝ օգտագործելով Excel աղյուսակներ։

Ձեր տնային աշխատանքների համար նայեք Այս տեսանյութը Derbycon 2016-ից, որը հստակ բացատրում է, թե ինչպես են հաքերներն օգտագործել սցենարներ: Եվ նաև կարդացեք Այս հոդվածը սցենարների և ինչ-որ մակաների մասին։

Source: www.habr.com

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