Дуку - зиянды матрешка

Кіріспе

1 жылдың 2011 қыркүйегінде VirusTotal веб-сайтына Венгриядан ~DN1.tmp атты файл жіберілді. Ол кезде файлды зиянды деп тек екі антивирус қозғалтқышы – BitDefender және AVIRA анықтады. Дуку оқиғасы осылай басталды. Болашаққа қарап, Duqu зиянды бағдарламалар тобы осы файлдың атымен аталғанын айту керек. Дегенмен, бұл файл клавиатура функциялары бар толығымен тәуелсіз шпиондық бағдарлама модулі болып табылады, ол зиянды жүктеуші-тамшыны пайдаланып орнатылған болуы мүмкін және құрамдас ретінде емес, Duqu зиянды бағдарламасы жұмыс істеген кезде жүктелген «пайдалы жүктеме» ретінде ғана қарастырылуы мүмкін ( модулі) Duqu. Duqu құрамдастарының бірі Virustotal қызметіне тек 9 қыркүйекте жіберілді. Оның айрықша ерекшелігі - C-Media цифрлық қолтаңбасы бар драйвер. Кейбір сарапшылар бірден зиянды бағдарламаның тағы бір әйгілі үлгісімен ұқсастықтар жасай бастады - Stuxnet, ол да қол қойылған драйверлерді пайдаланды. Дүние жүзіндегі әртүрлі антивирустық компаниялар анықтаған Duqu вирусын жұқтырған компьютерлердің жалпы саны ондаған. Көптеген компаниялар Иран тағы да басты нысана деп мәлімдейді, бірақ инфекциялардың географиялық таралуына қарағанда, бұл туралы нақты айту мүмкін емес.
Дуку - зиянды матрешка
Бұл жағдайда сіз жаңа сөзбен басқа компания туралы сенімді түрде айтуыңыз керек APT (Жетілдірілген тұрақты қауіп).

Жүйені енгізу процедурасы

Венгриялық CrySyS ұйымының (Будапешт технология және экономика университетінің жанындағы криптография және жүйе қауіпсіздігінің Венгрия зертханасы) мамандары жүргізген тергеу жүйеге вирус жұқтырған орнатушы (тамшылы) табылды. Бұл TTF қаріпін көрсету механизміне жауап беретін win32k.sys драйверінің осалдығы (MS11-087, Microsoft 13 жылдың 2011 қарашасында сипатталған) эксплоити бар Microsoft Word файлы болды. Эксплойттың қабық коды құжатқа ендірілген «Dexter Regular» деп аталатын қаріпті пайдаланады, ал Showtime Inc. шрифт жасаушы ретінде тізімде көрсетілген. Көріп отырғаныңыздай, Duqu жасаушылар әзіл сезіміне бөтен емес: Декстер - сериялық өлтіруші, Showtime шығарған аттас телехикаяның кейіпкері. Декстер қылмыскерлерді ғана (мүмкіндігінше) өлтіреді, яғни заңдылық үшін заңды бұзады. Бәлкім, осылайша, Duqu әзірлеушілері жақсы мақсаттар үшін заңсыз әрекеттермен айналысады деп күледі. Электрондық хаттарды жіберу мақсатты түрде жасалды. Жеткізу бақылауды қиындату үшін делдал ретінде бұзылған (бұзылған) компьютерлерді пайдаланған болуы мүмкін.
Осылайша, Word құжатында келесі компоненттер болды:

  • мәтін мазмұны;
  • кірістірілген шрифт;
  • қабық кодын пайдалану;
  • жүргізуші;
  • орнатушы (DLL кітапханасы).

Сәтті болса, эксплуатациялық қабық коды келесі әрекеттерді орындады (ядро режимінде):

  • қайта жұқтыруға тексеру жүргізілді, бұл үшін 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones4' мекенжайындағы тізілімде 'CF1D' кілтінің болуы тексерілді, егер бұл дұрыс болса, қабық коды өзінің орындалуын аяқтады;
  • екі файл шифры шешілді - драйвер (sys) және орнатушы (dll);
  • драйвер services.exe процесіне енгізілді және орнатушы іске қосылды;
  • Ақырында, қабық коды жадтағы нөлдермен өзін өшірді.

Win32k.sys бағдарламасы артықшылықты пайдаланушы «Жүйе» астында орындалатындықтан, Duqu әзірлеушілері рұқсатсыз іске қосу және құқықтарды күшейту (құқықтары шектеулі пайдаланушы тіркелгісі астында жұмыс істейді) мәселесін талғампаз түрде шешті.
Басқаруды алғаннан кейін орнатушы оның жадында қамтылған деректердің үш блогын шифрдан шығарды, оның ішінде:

  • қол қойылған драйвер (sys);
  • негізгі модуль (dll);
  • орнатушы конфигурация деректері (pnf).

Орнатушы конфигурация деректерінде күн диапазоны көрсетілген (екі уақыт белгісі түрінде – басталуы және аяқталуы). Орнатушы оған ағымдағы күн қосылғанын тексерді, ал егер жоқ болса, ол оның орындалуын аяқтады. Сондай-ақ орнатушы конфигурация деректерінде драйвер мен негізгі модуль сақталған атаулар болды. Бұл жағдайда негізгі модуль шифрланған түрде дискіде сақталды.

Дуку - зиянды матрешка

Duqu автоқосылуы үшін қызмет тізілімде сақталған кілттерді пайдаланып, негізгі модульді жылдам шифрдан шығаратын драйвер файлы арқылы жасалды. Негізгі модуль өзінің конфигурация деректер блогын қамтиды. Алғаш іске қосқан кезде ол шифрдан шығарылды, оған орнату күні енгізілді, содан кейін ол қайтадан шифрланып, негізгі модуль арқылы сақталады. Осылайша, зақымдалған жүйеде сәтті орнатудан кейін үш файл сақталды - драйвер, негізгі модуль және оның конфигурация деректерінің файлы, ал соңғы екі файл шифрланған түрде дискіде сақталды. Барлық декодтау процедуралары тек жадта орындалды. Бұл күрделі орнату процедурасы антивирустық бағдарламалық құрал арқылы анықтау мүмкіндігін азайту үшін пайдаланылды.

Негізгі модуль

Негізгі модуль (ресурс 302), сәйкес ақпарат Касперский зертханасы, MSVC 2008 көмегімен таза C тілінде жазылған, бірақ объектіге бағытталған тәсілді пайдаланады. Бұл тәсіл зиянды кодты әзірлеу кезінде ерекше емес. Әдетте, мұндай код C++ тіліне тән көлемді азайту және жасырын қоңыраулардан арылу үшін Си тілінде жазылады. Бұл жерде белгілі бір симбиоз бар. Сонымен қатар, оқиғаға негізделген архитектура қолданылды. Kaspersky Lab қызметкерлері негізгі модуль C кодын объект стилінде жазуға мүмкіндік беретін алдын ала процессор қондырмасы арқылы жазылған деген теорияға бейім.
Негізгі модуль операторлардан командаларды қабылдау процедурасына жауап береді. Duqu өзара әрекеттесудің бірнеше әдістерін ұсынады: HTTP және HTTPS протоколдарын пайдалану, сонымен қатар атаулы құбырларды пайдалану. HTTP(S) үшін командалық орталықтардың домендік атаулары көрсетілді, прокси сервер арқылы жұмыс істеу мүмкіндігі қамтамасыз етілді - олар үшін пайдаланушы аты мен құпия сөз көрсетілді. Арна үшін IP мекенжайы мен оның атауы көрсетілген. Көрсетілген деректер негізгі модуль конфигурациясының деректер блогында (шифрланған түрде) сақталады.
Атаулы құбырларды пайдалану үшін біз өз RPC серверін іске қостық. Ол келесі жеті функцияны қолдады:

  • орнатылған нұсқаны қайтару;
  • dll файлын көрсетілген процеске енгізіңіз және көрсетілген функцияны шақырыңыз;
  • dll жүктеу;
  • CreateProcess() шақыру арқылы процесті бастаңыз;
  • берілген файлдың мазмұнын оқу;
  • көрсетілген файлға деректерді жазу;
  • көрсетілген файлды жойыңыз.

Жаңартылған модульдер мен конфигурация деректерін Duqu вирусы жұқтырған компьютерлер арасында тарату үшін атаулы құбырларды жергілікті желі ішінде пайдалануға болады. Сонымен қатар, Duqu басқа вирус жұққан компьютерлер үшін прокси сервер ретінде әрекет ете алады (шлюздегі брандмауэр параметрлеріне байланысты Интернетке қол жеткізе алмады). Duqu кейбір нұсқаларында RPC функциясы болмады.

Белгілі «пайдалы жүктемелер»

Symantec Duqu басқару орталығынан пәрменмен жүктелген пайдалы жүктердің кемінде төрт түрін тапты.
Оның үстіне, олардың тек біреуі ғана резидент болды және орындалатын файл (exe) ретінде құрастырылды, ол дискіде сақталады. Қалған үшеуі dll кітапханалары ретінде іске асырылды. Олар динамикалық түрде жүктелді және дискіге сақталмай жадта орындалды.

Резиденттік «пайдалы жүк» шпиондық модуль болды (ақпарат ұрлаушы) keylogger функцияларымен. Оны VirusTotal-қа жіберу арқылы Duqu зерттеулері бойынша жұмыс басталды. Негізгі шпиондық функция ресурста болды, оның алғашқы 8 килобайтында NGC 6745 галактикасының фотосуретінің бір бөлігі (камуфляж үшін) болды. Еске сала кетейік, 2012 жылдың сәуір айында кейбір БАҚ Иранға «Stars» зиянды бағдарламалық жасақтамасының әсер еткені туралы ақпаратты (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506) жариялады. оқиға жария етілмеді. Бәлкім, дәл осындай Duqu «пайдалы жүктің» үлгісі Иранда табылған, сондықтан «Жұлдыздар» деп аталады.
Шпиондық модуль келесі ақпаратты жинады:

  • орындалатын процестердің тізімі, ағымдағы пайдаланушы және домен туралы ақпарат;
  • логикалық дискілердің, соның ішінде желілік дискілердің тізімі;
  • скриншоттар;
  • желі интерфейсінің адрестері, маршруттау кестелері;
  • пернетақтадағы пернелерді басу журналының файлы;
  • ашық қолданбалы терезелердің атаулары;
  • қол жетімді желі ресурстарының тізімі (ортақ ресурстар);
  • барлық дискілердегі, соның ішінде алынбалы файлдардың толық тізімі;
  • «желілік ортадағы» компьютерлер тізімі.

Басқа шпиондық модуль (ақпарат ұрлаушы) бұрын сипатталған нәрсенің нұсқасы болды, бірақ dll кітапханасы ретінде құрастырылған; одан keylogger функциялары, файлдар тізімін құрастыру және доменге енгізілген компьютерлерді тізімдеу жойылды.
Келесі модуль (барлау) жинақталған жүйе ақпараты:

  • компьютер домен бөлігі болып табылады ма;
  • Windows жүйелік каталогтарына жолдар;
  • операциялық жүйенің нұсқасы;
  • ағымдағы пайдаланушы аты;
  • желілік адаптерлер тізімі;
  • жүйе және жергілікті уақыт, сонымен қатар уақыт белдеуі.

Соңғы модуль (өмір сүру ұзақтығын ұзартқыш) жұмыс аяқталғанға дейін қалған күндер санының мәнін (негізгі модуль конфигурациясының деректер файлында сақталады) ұлғайту функциясын іске асырды. Әдепкі бойынша, бұл мән Duqu модификациясына байланысты 30 немесе 36 күнге орнатылды және күн сайын бір азаяды.

Командалық орталықтар

20 жылдың 2011 қазанында (ашу туралы ақпарат тарағаннан кейін үш күн өткен соң) Duqu операторлары командалық орталықтардың жұмыс іздерін жою процедурасын жүргізді. Командалық орталықтар бүкіл әлем бойынша бұзылған серверлерде – Вьетнамда, Үндістанда, Германияда, Сингапурда, Швейцарияда, Ұлыбританияда, Голландияда және Оңтүстік Кореяда орналасқан. Бір қызығы, барлық анықталған серверлер CentOS 5.2, 5.4 немесе 5.5 нұсқаларында жұмыс істейді. ОЖ 32 биттік және 64 биттік болды. Командалық орталықтардың жұмысына қатысты барлық файлдар жойылғанына қарамастан, Kaspersky Lab мамандары LOG файлдарындағы кейбір ақпаратты бос кеңістіктен қалпына келтіре алды. Ең қызықты факт, серверлердегі шабуылдаушылар әрқашан әдепкі OpenSSH 4.3 бумасын 5.8 нұсқасымен ауыстырды. Бұл OpenSSH 4.3 жүйесіндегі белгісіз осалдық серверлерді бұзу үшін пайдаланылғанын көрсетуі мүмкін. Барлық жүйелер командалық орталық ретінде пайдаланылмаған. Кейбіреулер 80 және 443 порттары үшін трафикті қайта бағыттау әрекеті кезінде sshd журналдарындағы қателерге қарап, соңғы пәрмен орталықтарына қосылу үшін прокси сервер ретінде пайдаланылды.

Күндер мен модульдер

2011 жылдың сәуірінде таратылған, Касперский зертханасы тексерген Word құжатында 31 жылдың 2007 тамызында құрастырылған күні бар орнатушы жүктеп алу драйвері болды. CrySys зертханаларында табылған құжаттағы ұқсас драйвердің (өлшемі - 20608 байт, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) құрастырылған күні 21 жылдың 2008 ақпанында болды. Сонымен қатар, Kaspersky Lab сарапшылары rndismpc.sys (өлшемі - 19968 байт, MD5 - 9AEC6E10C5EE9C05BED93221544C783E) 20 жылдың 2008 қаңтарында жазылған autorun драйверін тапты. 2009 деп белгіленген құрамдас бөліктер табылмады. Duqu жеке бөліктерін құрастыру уақыт белгілеріне сүйене отырып, оның дамуы 2007 жылдың басынан бастау алады. Оның ең ерте көрінісі ~DO түріндегі уақытша файлдарды анықтаумен байланысты (мүмкін, шпиондық бағдарлама модульдерінің бірі жасаған болуы мүмкін), жасалған күні 28 жылдың 2008 қарашасы (мақала «Duqu & Stuxnet: Қызықты оқиғалардың хронологиясы»). Duqu-мен байланыстырылған ең соңғы күн 23 жылдың наурыз айында Symantec ашқан орнатушы жүктеп алу драйверінде қамтылған 2012 жылдың 2012 ақпаны болды.

Пайдаланылған ақпарат көздері:

мақалалар топтамасы Касперский зертханасынан Duqu туралы;
Symantec аналитикалық есебі "W32.Duqu Келесі Stuxnet-тің прекурсоры", 1.4 нұсқасы, қараша 2011 (pdf).

Ақпарат көзі: www.habr.com

пікір қалдыру