Դուկուն չարամիտ մատրյոշկա է

Ներածություն

1 թվականի սեպտեմբերի 2011-ին Հունգարիայից VirusTotal կայք է ուղարկվել ~DN1.tmp անունով ֆայլ: Այն ժամանակ ֆայլը հայտնաբերվեց որպես վնասակար միայն երկու հակավիրուսային շարժիչների կողմից՝ BitDefender-ը և AVIRA-ն: Ահա թե ինչպես սկսվեց Դուկուի պատմությունը. Առաջ նայելով, պետք է ասել, որ Duqu չարամիտ ծրագրերի ընտանիքն անվանվել է այս ֆայլի անունով։ Այնուամենայնիվ, այս ֆայլը բոլորովին անկախ լրտեսող ծրագրերի մոդուլ է՝ keylogger ֆունկցիաներով, տեղադրված է, հավանաբար, օգտագործելով վնասակար ներբեռնիչ-կաթող, և կարող է համարվել միայն որպես «վճարման բեռ», որը բեռնված է Duqu չարամիտ ծրագրի կողմից իր շահագործման ընթացքում, և ոչ որպես բաղադրիչ ( մոդուլ) Duqu-ի: Duqu-ի բաղադրիչներից մեկը Virustotal ծառայությանն ուղարկվել է միայն սեպտեմբերի 9-ին։ Դրա տարբերակիչ առանձնահատկությունը C-Media-ի կողմից թվային ստորագրված դրայվերն է: Որոշ փորձագետներ անմիջապես սկսեցին նմանություններ անել չարամիտ ծրագրերի մեկ այլ հայտնի օրինակի հետ՝ Stuxnet-ի հետ, որն օգտագործում էր նաև ստորագրված դրայվերներ: Աշխարհի տարբեր հակավիրուսային ընկերությունների կողմից հայտնաբերված Duqu-ով վարակված համակարգիչների ընդհանուր թիվը կազմում է տասնյակ: Շատ ընկերություններ պնդում են, որ Իրանը կրկին գլխավոր թիրախն է, սակայն, դատելով վարակների աշխարհագրական բաշխվածությունից, դա չի կարելի հստակ ասել։
Դուկուն չարամիտ մատրյոշկա է
Այս դեպքում դուք պետք է վստահորեն խոսեք միայն մեկ այլ ընկերության մասին՝ նորածին բառով APT (Ընդլայնված մշտական ​​սպառնալիք):

Համակարգի ներդրման կարգը

Հունգարական CrySyS (Բուդապեշտի տեխնոլոգիական և տնտեսագիտական ​​համալսարանի կրիպտոգրաֆիայի և համակարգերի անվտանգության հունգարական լաբորատորիա) մասնագետների կողմից անցկացված հետաքննությունը հանգեցրեց տեղադրողին (կաթողին), որի միջոցով վարակվել է համակարգը: Դա Microsoft Word ֆայլ էր, որը շահագործում էր win32k.sys վարորդի խոցելիությունը (MS11-087, նկարագրված է Microsoft-ի կողմից 13թ. նոյեմբերի 2011-ին), որը պատասխանատու է TTF տառատեսակների մատուցման մեխանիզմի համար։ Exploit-ի shellcode-ն օգտագործում է «Dexter Regular» կոչվող տառատեսակը, որը ներկառուցված է փաստաթղթում, որտեղ Showtime Inc.-ը նշված է որպես տառատեսակի ստեղծող: Ինչպես տեսնում եք, Duqu-ի ստեղծողները անծանոթ չեն հումորի զգացմանը. Դեքսթերը սերիական մարդասպան է, Showtime-ի կողմից արտադրված համանուն հեռուստասերիալի հերոսը: Դեքսթերը սպանում է միայն (հնարավորության դեպքում) հանցագործներին, այսինքն՝ խախտում է օրենքը հանուն օրինականության։ Հավանաբար, այս կերպ Duqu-ի ծրագրավորողները հեգնում են, որ բարի նպատակներով ապօրինի գործունեությամբ են զբաղվում։ Նամակներ ուղարկելը կատարվել է նպատակային: Առաքումը, ամենայն հավանականությամբ, օգտագործել է վտանգված (կոտրված) համակարգիչներ՝ որպես միջնորդ՝ հետևելը դժվարացնելու համար:
Այսպիսով, Word փաստաթուղթը պարունակում էր հետևյալ բաղադրիչները.

  • տեքստային բովանդակություն;
  • ներկառուցված տառատեսակ;
  • շահագործել shellcode;
  • վարորդ;
  • տեղադրող (DLL գրադարան):

Հաջողության դեպքում, exploit shellcode-ը կատարել է հետևյալ գործողությունները (միջուկի ռեժիմում).

  • ստուգում է կատարվել կրկնակի վարակման համար, դրա համար «CF4D» ստեղնի առկայությունը ստուգվել է գրանցամատյանում՝ «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1» հասցեով, եթե դա ճիշտ էր, ապա shellcode-ն ավարտեց դրա կատարումը.
  • վերծանվել է երկու ֆայլ՝ վարորդը (sys) և տեղադրիչը (dll);
  • վարորդը ներարկվել է services.exe գործընթացում և գործարկել տեղադրիչը.
  • Վերջապես, shellcode-ը ջնջվեց հիշողության մեջ զրոներով:

Շնորհիվ այն բանի, որ win32k.sys-ը գործում է արտոնյալ «System» օգտագործողի ներքո, Duqu-ի մշակողները նրբագեղորեն լուծել են ինչպես չարտոնված գործարկման, այնպես էլ իրավունքների ընդլայնման խնդիրը (գործում է սահմանափակ իրավունքներով օգտվողի հաշվի ներքո):
Հսկումը ստանալուց հետո տեղադրողը վերծանել է հիշողության մեջ պարունակվող տվյալների երեք բլոկ, որոնք պարունակում են.

  • ստորագրված վարորդ (sys);
  • հիմնական մոդուլ (dll);
  • տեղադրողի կազմաձևման տվյալները (pnf):

Տեղադրիչի կազմաձևման տվյալների մեջ նշված է ամսաթվերի միջակայք (երկու ժամանակային դրոշմանիշների տեսքով՝ սկիզբ և ավարտ): Տեղադրողը ստուգեց, թե արդյոք ընթացիկ ամսաթիվը ներառված է դրանում, և եթե ոչ, ապա ավարտեց դրա կատարումը: Տեղադրիչի կոնֆիգուրացիայի տվյալների մեջ եղել են նաև այն անունները, որոնց տակ պահվել են վարորդը և հիմնական մոդուլը: Այս դեպքում հիմնական մոդուլը պահվել է սկավառակի վրա գաղտնագրված տեսքով:

Դուկուն չարամիտ մատրյոշկա է

Duqu-ի ավտոմատ մեկնարկի համար ստեղծվել է ծառայություն՝ օգտագործելով վարորդի ֆայլը, որը գաղտնազերծում է հիմնական մոդուլը անմիջապես ռեեստրում պահվող բանալիների միջոցով: Հիմնական մոդուլը պարունակում է իր սեփական կազմաձևման տվյալների բլոկը: Երբ առաջին անգամ գործարկվեց, այն վերծանվեց, տեղադրման ամսաթիվը մուտքագրվեց դրա մեջ, որից հետո այն նորից կոդավորվեց և պահպանվեց հիմնական մոդուլի կողմից: Այսպիսով, տուժած համակարգում, հաջող տեղադրվելուց հետո, պահպանվեցին երեք ֆայլեր՝ վարորդը, հիմնական մոդուլը և դրա կազմաձևման տվյալների ֆայլը, մինչդեռ վերջին երկու ֆայլերը պահվում էին սկավառակի վրա կոդավորված ձևով: Բոլոր վերծանման ընթացակարգերը կատարվել են միայն հիշողության մեջ: Տեղադրման այս բարդ ընթացակարգն օգտագործվել է հակավիրուսային ծրագրային ապահովման միջոցով հայտնաբերելու հնարավորությունը նվազագույնի հասցնելու համար:

Հիմնական մոդուլը

Հիմնական մոդուլ (ռեսուրս 302), ըստ տեղեկություն Kaspersky Lab ընկերությունը, որը գրվել է MSVC 2008-ի միջոցով մաքուր C-ով, բայց օգտագործելով օբյեկտի վրա հիմնված մոտեցում: Այս մոտեցումը բնորոշ չէ վնասակար կոդ մշակելիս: Որպես կանոն, նման ծածկագիրը գրվում է C-ով` չափը նվազեցնելու և C++-ին բնորոշ անուղղակի զանգերից ազատվելու համար: Այստեղ որոշակի սիմբիոզ կա. Բացի այդ, օգտագործվել է իրադարձությունների վրա հիմնված ճարտարապետություն: Կասպերսկու լաբորատորիայի աշխատակիցները հակված են այն տեսությանը, որ հիմնական մոդուլը գրվել է նախնական պրոցեսորային հավելման միջոցով, որը թույլ է տալիս գրել C կոդը օբյեկտի ոճով:
Հիմնական մոդուլը պատասխանատու է օպերատորներից հրամաններ ստանալու ընթացակարգի համար: Duqu-ն ապահովում է փոխազդեցության մի քանի մեթոդներ՝ օգտագործելով HTTP և HTTPS արձանագրությունները, ինչպես նաև օգտագործելով անվանվող խողովակները: HTTP(S-ի համար) նշվել են հրամանատարական կենտրոնների դոմենային անունները և տրամադրվել է պրոքսի սերվերի միջոցով աշխատելու հնարավորություն՝ նրանց համար նշվել է օգտվողի անուն և գաղտնաբառ։ IP հասցեն և դրա անվանումը նշված են ալիքի համար: Նշված տվյալները պահվում են հիմնական մոդուլի կազմաձևման տվյալների բլոկում (գաղտնագրված ձևով):
Անվանված խողովակներ օգտագործելու համար մենք գործարկեցինք մեր սեփական RPC սերվերի ներդրումը: Այն աջակցում էր հետևյալ յոթ գործառույթներին.

  • վերադարձնել տեղադրված տարբերակը;
  • ներարկել dll նշված գործընթացում և զանգահարել նշված գործառույթը.
  • բեռնել dll;
  • սկսել գործընթաց՝ զանգահարելով CreateProcess();
  • կարդալ տվյալ ֆայլի բովանդակությունը.
  • գրել տվյալներ նշված ֆայլում;
  • ջնջել նշված ֆայլը:

Անվանված խողովակները կարող են օգտագործվել տեղական ցանցում՝ թարմացված մոդուլները և կազմաձևման տվյալները Duqu-ով վարակված համակարգիչների միջև բաշխելու համար: Բացի այդ, Duqu-ը կարող էր հանդես գալ որպես պրոքսի սերվեր այլ վարակված համակարգիչների համար (որոնք մուտք չունեին ինտերնետ՝ դարպասի վրա տեղադրված firewall-ի կարգավորումների պատճառով): Duqu-ի որոշ տարբերակներ չունեին RPC ֆունկցիոնալություն:

Հայտնի «բեռնատարներ»

Symantec-ը հայտնաբերել է առնվազն չորս տեսակի օգտակար բեռներ, որոնք ներբեռնվել են Duqu կառավարման կենտրոնից հրամանատարության ներքո:
Ընդ որում, դրանցից միայն մեկն էր ռեզիդենտ և կազմված որպես գործարկվող ֆայլ (exe), որը պահվում էր սկավառակի վրա։ Մնացած երեքը ներդրվել են որպես dll գրադարաններ: Դրանք դինամիկ կերպով բեռնվեցին և գործարկվեցին հիշողության մեջ՝ առանց սկավառակի վրա պահվելու:

Բնակիչի «վճարը» լրտեսական մոդուլ էր (ինֆոգող) keylogger ֆունկցիաներով: Այն VirusTotal-ին ուղարկելով էր, որ սկսվեց Duqu-ի հետազոտության աշխատանքները: Հիմնական լրտեսական գործառույթը եղել է ռեսուրսում, որի առաջին 8 կիլոբայթը պարունակում էր NGC 6745 գալակտիկայի լուսանկարի մի մասը (քողարկման համար): Այստեղ պետք է հիշել, որ 2012 թվականի ապրիլին որոշ լրատվամիջոցներ տեղեկություն էին հրապարակել (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506), որ Իրանը ենթարկվել է «Stars» վնասակար ծրագրերի ազդեցությանը, մինչդեռ մանրամասները. միջադեպը չի բացահայտվել։ Թերևս դա Duqu-ի «բեռի» հենց այդպիսի նմուշն էր, որն այն ժամանակ հայտնաբերվեց Իրանում, այստեղից էլ «Աստղեր» անվանումը:
Լրտեսական մոդուլը հավաքել է հետևյալ տեղեկատվությունը.

  • գործող պրոցեսների ցանկ, ընթացիկ օգտագործողի և տիրույթի մասին տեղեկատվություն.
  • տրամաբանական սկավառակների ցուցակ, ներառյալ ցանցային կրիչներ;
  • սքրինշոթներ;
  • ցանցային ինտերֆեյսի հասցեներ, երթուղային աղյուսակներ;
  • ստեղնաշարի ստեղնաշարերի մատյան ֆայլ;
  • բաց հավելվածի պատուհանների անունները;
  • հասանելի ցանցային ռեսուրսների ցանկ (համօգտագործման ռեսուրսներ);
  • ֆայլերի ամբողջական ցանկ բոլոր սկավառակների վրա, ներառյալ շարժականները.
  • «ցանցային միջավայրի» համակարգիչների ցանկը:

Մեկ այլ լրտեսական մոդուլ (ինֆոգող) արդեն նկարագրվածի տարբերակն էր, բայց կազմված էր որպես dll գրադարան, որից հեռացվեցին keylogger-ի գործառույթները, ֆայլերի ցուցակ կազմելը և տիրույթում ընդգրկված համակարգիչների ցուցակագրումը։
Հաջորդ մոդուլը (հետախուզություն) հավաքագրված համակարգի տեղեկատվություն.

  • արդյոք համակարգիչը տիրույթի մաս է.
  • ուղիներ դեպի Windows համակարգի դիրեկտորիաներ;
  • օպերացիոն համակարգի տարբերակը;
  • ընթացիկ օգտվողի անունը;
  • ցանցային ադապտերների ցուցակ;
  • համակարգ և տեղական ժամանակ, ինչպես նաև ժամային գոտի:

Վերջին մոդուլը (կյանքի տևողությունը երկարացնող) իրականացրել է գործառության ավարտին մնացած օրերի արժեքը (պահվում է հիմնական մոդուլի կազմաձևման տվյալների ֆայլում) ֆունկցիան: Լռելյայնորեն, այս արժեքը սահմանվել է 30 կամ 36 օր՝ կախված Duqu-ի փոփոխությունից և ամեն օր նվազում է մեկով:

Հրամանատարական կենտրոններ

20 թվականի հոկտեմբերի 2011-ին (հայտնագործության մասին տեղեկատվության տարածումից երեք օր անց) Duqu-ի օպերատորներն իրականացրեցին հրամանատարական կենտրոնների գործունեության հետքերը ոչնչացնելու ընթացակարգ։ Հրամանատարության կենտրոնները տեղակայված են եղել կոտրված սերվերների վրա ամբողջ աշխարհում՝ Վիետնամում, Հնդկաստանում, Գերմանիայում, Սինգապուրում, Շվեյցարիայում, Մեծ Բրիտանիայում, Հոլանդիայում և Հարավային Կորեայում։ Հետաքրքիր է, որ բոլոր հայտնաբերված սերվերներն աշխատում էին CentOS 5.2, 5.4 կամ 5.5 տարբերակներով: ՕՀ-ները և՛ 32, և՛ 64-բիթանոց էին: Չնայած այն հանգամանքին, որ բոլոր ֆայլերը, որոնք կապված են հրամանատարական կենտրոնների աշխատանքի հետ, ջնջվել են, Kaspersky Lab-ի մասնագետները կարողացել են վերականգնել LOG ֆայլերի տեղեկատվության մի մասը ազատ տարածությունից: Ամենահետաքրքիր փաստն այն է, որ սերվերների վրա հարձակվողները միշտ փոխարինել են լռելյայն OpenSSH 4.3 փաթեթը 5.8 տարբերակով: Սա կարող է ցույց տալ, որ OpenSSH 4.3-ում անհայտ խոցելիություն օգտագործվել է սերվերները կոտրելու համար: Ոչ բոլոր համակարգերն էին օգտագործվում որպես հրամանատարական կենտրոններ: Ոմանք, դատելով sshd տեղեկամատյանների սխալներից, երբ փորձում էին երթևեկությունը վերահղել 80 և 443 նավահանգիստների համար, օգտագործվել են որպես վստահված սերվեր՝ վերջնական հրամանի կենտրոններին միանալու համար:

Ամսաթվեր և մոդուլներ

2011 թվականի ապրիլին տարածված Word փաստաթուղթը, որն ուսումնասիրվել է Կասպերսկու լաբորատորիայի կողմից, պարունակում էր տեղադրիչի ներբեռնման վարորդ՝ 31 թվականի օգոստոսի 2007-ի կազմման ամսաթվով: Նմանատիպ դրայվերը (չափը` 20608 բայթ, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) CrySys լաբորատորիաներում հայտնաբերված փաստաթղթում ուներ 21 թվականի փետրվարի 2008-ի կազմման ամսաթիվը: Բացի այդ, Kaspersky Lab-ի փորձագետները գտել են autorun driver rndismpc.sys (չափը՝ 19968 բայթ, MD5 - 9AEC6E10C5EE9C05BED93221544C783E)՝ 20 թվականի հունվարի 2008-ով: 2009 մակնշված բաղադրիչներ չեն գտնվել: Ելնելով Duqu-ի առանձին մասերի կազմման ժամանակային դրոշմանիշներից՝ դրա զարգացումը կարող է սկսվել 2007 թվականի սկզբից: Դրա ամենավաղ դրսևորումը կապված է ~DO տիպի ժամանակավոր ֆայլերի հայտնաբերման հետ (հավանաբար ստեղծված է լրտեսող ծրագրերի մոդուլներից մեկի կողմից), որի ստեղծման ամսաթիվը 28 թվականի նոյեմբերի 2008-ն է (հոդված «Duqu & Stuxnet. Հետաքրքիր իրադարձությունների ժամանակացույց»): Duqu-ի հետ կապված ամենավերջին ամսաթիվը 23 թվականի փետրվարի 2012-ն էր, որը պարունակվում էր 2012 թվականի մարտին Symantec-ի կողմից հայտնաբերված տեղադրիչի ներբեռնման վարորդում:

Օգտագործված տեղեկատվության աղբյուրները.

հոդվածների շարք Duqu-ի մասին Kaspersky Lab-ից;
Symantec-ի վերլուծական հաշվետվություն «W32.Duqu Հաջորդ Stuxnet-ի նախորդը», տարբերակ 1.4, նոյեմբեր 2011 (pdf):

Source: www.habr.com

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