Duqu zərərli matryoshkadır

Giriş

1 sentyabr 2011-ci ildə Macarıstandan VirusTotal saytına ~DN1.tmp adlı fayl göndərildi. Həmin vaxt faylın zərərli olması yalnız iki antivirus mühərriki - BitDefender və AVIRA tərəfindən aşkar edilib. Duqunun hekayəsi belə başladı. İrəliyə baxaraq, Duqu zərərli proqram ailəsinin bu faylın adı ilə adlandırıldığını söyləmək lazımdır. Bununla belə, bu fayl, çox güman ki, zərərli yükləyici-damcıdan istifadə etməklə quraşdırılmış keylogger funksiyaları olan tamamilə müstəqil casus proqram moduludur və komponent kimi deyil, yalnız Duqu zərərli proqram tərəfindən yüklənmiş “faydalı yük” kimi qəbul edilə bilər ( modulu) Duqu. Duqu komponentlərindən biri Virustotal xidmətinə yalnız sentyabrın 9-da göndərilib. Onun fərqli xüsusiyyəti C-Media tərəfindən rəqəmsal imzalanmış sürücüdür. Bəzi ekspertlər dərhal başqa bir məşhur zərərli proqram nümunəsi - imzalı sürücülərdən də istifadə edən Stuxnet ilə analogiyalar çəkməyə başladılar. Dünya üzrə müxtəlif antivirus şirkətləri tərəfindən aşkarlanan Duqu virusuna yoluxmuş kompüterlərin ümumi sayı onlarladır. Bir çox şirkət İranın yenidən əsas hədəf olduğunu iddia edir, lakin infeksiyaların coğrafi yayılmasına görə bunu dəqiq söyləmək olmaz.
Duqu zərərli matryoshkadır
Bu vəziyyətdə, inamla yalnız yeni bir sözlə başqa bir şirkət haqqında danışmalısınız APT (qabaqcıl davamlı təhlükə).

Sistemin tətbiqi proseduru

Macarıstanın CrySyS təşkilatının (Budapeşt Texnologiya və İqtisadiyyat Universitetinin nəzdində Macarıstan Kriptoqrafiya və Sistem Təhlükəsizliyi Laboratoriyası) mütəxəssisləri tərəfindən aparılan araşdırma nəticəsində sistemin yoluxduğu quraşdırıcı (damcı) aşkar edilib. Bu, TTF şriftinin göstərilməsi mexanizminə cavabdeh olan win32k.sys drayverinin zəifliyi (MS11-087, Microsoft tərəfindən 13 noyabr 2011-ci ildə təsvir) üçün istismara malik Microsoft Word faylı idi. İstismarın qabıq kodu sənədə daxil edilmiş "Dexter Regular" adlı şriftdən istifadə edir və şriftin yaradıcısı Showtime Inc. Gördüyünüz kimi, Duqu yaradıcıları yumor hissinə yad deyillər: Dekster serial qatilidir, Showtime istehsalı olan eyniadlı televiziya serialının qəhrəmanıdır. Dexter yalnız (mümkünsə) cinayətkarları öldürür, yəni qanunilik adı altında qanunu pozur. Yəqin ki, bu şəkildə Duqu tərtibatçıları yaxşı məqsədlər üçün qeyri-qanuni fəaliyyətlə məşğul olduqları üçün istehza edirlər. E-poçtların göndərilməsi məqsədyönlü şəkildə həyata keçirilib. Göndərmə, çox güman ki, izləməni çətinləşdirmək üçün vasitəçi kimi pozulmuş (sındırılmış) kompüterlərdən istifadə edib.
Beləliklə, Word sənədində aşağıdakı komponentlər var idi:

  • mətn məzmunu;
  • daxili şrift;
  • qabıq kodunu istismar etmək;
  • sürücü;
  • quraşdırıcı (DLL kitabxanası).

Uğurlu olarsa, istismar qabığı kodu aşağıdakı əməliyyatları yerinə yetirdi (ləpə rejimində):

  • təkrar yoluxma üçün yoxlama aparıldı, bunun üçün 'CF4D' açarının olması 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1' ünvanında reyestrdə yoxlanıldı, əgər bu düzgün idisə, shellcode icrasını tamamladı;
  • iki faylın şifrəsi açıldı - sürücü (sys) və quraşdırıcı (dll);
  • sürücü services.exe prosesinə daxil edildi və quraşdırıcını işə saldı;
  • Nəhayət, shellcode yaddaşda sıfırlarla özünü sildi.

Win32k.sys imtiyazlı istifadəçi "Sistem" altında icra edildiyinə görə Duqu tərtibatçıları həm icazəsiz işə salınma, həm də hüquqların eskalasiyası (məhdud hüquqlu istifadəçi hesabı altında işləyən) problemini zərif şəkildə həll etdilər.
Nəzarət aldıqdan sonra quraşdırıcı yaddaşda olan üç məlumat blokunu deşifrə etdi:

  • imzalanmış sürücü (sys);
  • əsas modul (dll);
  • quraşdırıcının konfiqurasiya məlumatları (pnf).

Quraşdırıcının konfiqurasiya məlumatlarında bir tarix diapazonu göstərildi (iki vaxt möhürü şəklində - başlanğıc və son). Quraşdırıcı cari tarixin ona daxil olub-olmadığını yoxladı və əgər daxil deyilsə, icrasını tamamladı. Həmçinin quraşdırıcının konfiqurasiya məlumatlarında sürücü və əsas modulun saxlandığı adlar var idi. Bu halda əsas modul diskdə şifrələnmiş formada saxlanmışdır.

Duqu zərərli matryoshkadır

Duqu-nu avtomatik işə salmaq üçün reyestrdə saxlanan açarlardan istifadə edərək əsas modulu tez bir zamanda deşifrə edən sürücü faylından istifadə edərək xidmət yaradıldı. Əsas modulda öz konfiqurasiya məlumat bloku var. İlk dəfə işə salındıqda şifrəsi açıldı, quraşdırma tarixi ona daxil edildi, sonra yenidən şifrələndi və əsas modul tərəfindən saxlandı. Beləliklə, təsirə məruz qalan sistemdə, uğurlu quraşdırmadan sonra üç fayl saxlanıldı - sürücü, əsas modul və onun konfiqurasiya məlumat faylı, son iki fayl isə şifrələnmiş formada diskdə saxlandı. Bütün dekodlaşdırma prosedurları yalnız yaddaşda həyata keçirilirdi. Bu mürəkkəb quraşdırma proseduru antivirus proqramı tərəfindən aşkarlanma ehtimalını minimuma endirmək üçün istifadə edilmişdir.

Əsas modul

Əsas modul (resurs 302), uyğun olaraq məlumat şirkəti Kaspersky Lab, MSVC 2008-dən istifadə edərək təmiz C dilində yazılmış, lakin obyekt yönümlü yanaşmadan istifadə etməklə. Zərərli kodu inkişaf etdirərkən bu yanaşma xarakterik deyil. Bir qayda olaraq, belə kod ölçüsünü azaltmaq və C++-a xas olan gizli çağırışlardan xilas olmaq üçün C dilində yazılır. Burada müəyyən bir simbioz var. Üstəlik, hadisəyə əsaslanan arxitekturadan istifadə edilmişdir. Kaspersky Laboratoriyası əməkdaşları əsas modulun C kodunu obyekt üslubunda yazmağa imkan verən preprosessor əlavəsindən istifadə etməklə yazıldığı nəzəriyyəsinə meyllidirlər.
Əsas modul operatorlardan əmrlərin qəbulu proseduruna cavabdehdir. Duqu qarşılıqlı əlaqənin bir neçə üsulunu təqdim edir: HTTP və HTTPS protokollarından istifadə etməklə, həmçinin adlandırılmış borulardan istifadə etməklə. HTTP(S) üçün komanda mərkəzlərinin domen adları dəqiqləşdirilib və proksi server vasitəsilə işləmək imkanı təmin edilib - onlar üçün istifadəçi adı və parol müəyyən edilib. Kanal üçün IP ünvanı və onun adı müəyyən edilir. Göstərilən məlumatlar əsas modulun konfiqurasiya məlumat blokunda (şifrələnmiş formada) saxlanılır.
Adlandırılmış borulardan istifadə etmək üçün biz öz RPC server tətbiqimizi işə saldıq. Aşağıdakı yeddi funksiyanı dəstəklədi:

  • quraşdırılmış versiyanı qaytarın;
  • müəyyən edilmiş prosesə dll daxil edin və göstərilən funksiyanı çağırın;
  • dll yükləyin;
  • CreateProcess();
  • verilmiş faylın məzmununu oxumaq;
  • göstərilən fayla məlumat yazmaq;
  • göstərilən faylı silin.

Adlandırılmış borular Duqu-ya yoluxmuş kompüterlər arasında yenilənmiş modulları və konfiqurasiya məlumatlarını yaymaq üçün yerli şəbəkə daxilində istifadə oluna bilər. Bundan əlavə, Duqu digər yoluxmuş kompüterlər üçün proksi server rolunu oynaya bilər (şluzdakı firewall parametrləri səbəbindən İnternetə çıxışı olmayan). Duqu-nun bəzi versiyalarında RPC funksiyası yox idi.

Tanınmış "faydalı yüklər"

Symantec, Duqu idarəetmə mərkəzindən əmrlə endirilən ən azı dörd növ faydalı yük aşkar etdi.
Üstəlik, onlardan yalnız biri rezident idi və diskdə saxlanılan icra edilə bilən fayl (exe) kimi tərtib edilmişdir. Qalan üçü dll kitabxanaları kimi həyata keçirildi. Onlar dinamik şəkildə yüklənmiş və diskdə saxlanmadan yaddaşda icra edilmişdir.

Rezident "faydalı yük" casus modulu idi (məlumat oğurluğu) keylogger funksiyaları ilə. Onu VirusTotal-a göndərməklə Duqu araşdırması üzərində iş başladı. Əsas casus funksiyası resursda idi, onun ilk 8 kilobaytında NGC 6745 qalaktikasının (kamuflyaj üçün) fotosunun bir hissəsi var idi. Burada xatırladaq ki, 2012-ci ilin aprelində bəzi KİV-lər İranın bəzi zərərli “Stars” proqram təminatına məruz qalması barədə məlumat yayıblar (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506). hadisə açıqlanmayıb. Ola bilsin ki, o vaxt İranda kəşf edilən Duqu “faydalı yük”ün məhz belə bir nümunəsi olub, ona görə də “Ulduzlar” adı verilib.
Casus modulu aşağıdakı məlumatları topladı:

  • işləyən proseslərin siyahısı, cari istifadəçi və domen haqqında məlumat;
  • şəbəkə sürücüləri də daxil olmaqla məntiqi sürücülərin siyahısı;
  • ekran görüntüləri;
  • şəbəkə interfeysi ünvanları, marşrutlaşdırma cədvəlləri;
  • klaviatura vuruşlarının log faylı;
  • açıq proqram pəncərələrinin adları;
  • mövcud şəbəkə resurslarının siyahısı (paylaşma resursları);
  • çıxarıla bilənlər də daxil olmaqla bütün disklərdə olan faylların tam siyahısı;
  • "şəbəkə mühitində" kompüterlərin siyahısı.

Başqa bir casus modulu (məlumat oğurluğu) artıq təsvir edilənin variasiyası idi, lakin dll kitabxanası kimi tərtib edilmişdir; keylogger funksiyaları, faylların siyahısını tərtib etmək və domenə daxil olan kompüterləri siyahıdan çıxarmaq.
Növbəti modul (kəşfiyyat) toplanmış sistem məlumatı:

  • kompüterin domenin bir hissəsi olub-olmaması;
  • Windows sistem qovluqlarına yollar;
  • əməliyyat sisteminin versiyası;
  • cari istifadəçi adı;
  • şəbəkə adapterlərinin siyahısı;
  • sistem və yerli vaxt, həmçinin saat qurşağı.

Son modul (ömrü uzadan) işin tamamlanmasına qədər qalan günlərin sayının dəyərini (əsas modulun konfiqurasiya məlumat faylında saxlanılır) artırmaq funksiyasını həyata keçirmişdir. Varsayılan olaraq, bu dəyər Duqu modifikasiyasından asılı olaraq 30 və ya 36 günə təyin edilib və hər gün bir azalıb.

Komanda mərkəzləri

20 oktyabr 2011-ci ildə (kəşf haqqında məlumatın yayılmasından üç gün sonra) Duqu operatorları komanda mərkəzlərinin fəaliyyətinin izlərini məhv etmək üçün prosedur həyata keçirdilər. Komanda mərkəzləri dünya üzrə sındırılmış serverlərdə - Vyetnamda, Hindistanda, Almaniyada, Sinqapurda, İsveçrədə, Böyük Britaniyada, Hollandiyada, Cənubi Koreyada yerləşirdi. Maraqlıdır ki, müəyyən edilmiş bütün serverlər CentOS 5.2, 5.4 və ya 5.5 versiyaları ilə işləyirdi. Əməliyyat sistemləri həm 32 bit, həm də 64 bit idi. Komanda mərkəzlərinin fəaliyyəti ilə bağlı bütün faylların silinməsinə baxmayaraq, Kaspersky Lab mütəxəssisləri boş yerdən LOG fayllarından bəzi məlumatları bərpa edə biliblər. Ən maraqlı fakt odur ki, serverlərə hücum edənlər həmişə standart OpenSSH 4.3 paketini 5.8 versiyası ilə əvəz edirdilər. Bu, OpenSSH 4.3-də naməlum boşluqdan serverləri sındırmaq üçün istifadə edildiyini göstərə bilər. Bütün sistemlər komanda mərkəzləri kimi istifadə edilməmişdir. Bəziləri, 80 və 443 portları üçün trafiki yönləndirməyə çalışarkən sshd qeydlərindəki səhvlərə görə, son komanda mərkəzlərinə qoşulmaq üçün proxy server kimi istifadə edilmişdir.

Tarixlər və modullar

2011-ci ilin aprelində yayılan və Kaspersky Laboratoriyası tərəfindən yoxlanılan Word sənədində tərtib tarixi 31 avqust 2007-ci il olan quraşdırıcı yükləmə sürücüsü var idi. CrySys laboratoriyalarında tapılan sənəddə oxşar sürücünün (ölçüsü - 20608 bayt, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) tərtib tarixi 21 fevral 2008-ci il idi. Bundan əlavə, Kaspersky Lab mütəxəssisləri 19968 yanvar 5-ci il tarixli autorun drayverini rndismpc.sys (ölçüsü - 9 bayt, MD6 - 10AEC5E9C05EE93221544C783BED20C2008E) tapıblar. 2009-cu il qeyd olunan komponentlər tapılmadı. Duqu-nun ayrı-ayrı hissələrinin tərtibinin vaxt nişanlarına əsaslanaraq, onun inkişafı 2007-ci ilin əvvəlinə təsadüf edə bilər. Onun ən erkən təzahürü ~DO tipli müvəqqəti faylların aşkarlanması ilə bağlıdır (ehtimal ki, casus proqram modullarından biri tərəfindən yaradılmışdır), yaradılma tarixi 28 noyabr 2008-ci ildir (məqalə "Duqu & Stuxnet: Maraqlı Hadisələrin Xronologiyası"). Duqu ilə əlaqəli ən son tarix Symantec tərəfindən 23-ci ilin martında aşkar edilmiş quraşdırıcı yükləmə sürücüsündə olan 2012 fevral 2012-ci ildir.

İstifadə olunan məlumat mənbələri:

məqalələr silsiləsi Kaspersky Lab-dan Duqu haqqında;
Symantec analitik hesabatı "W32.Duqu Növbəti Stuxnet-in prekursoru", versiya 1.4, noyabr 2011 (pdf).

Mənbə: www.habr.com

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