Duqu - malisyosong pugad na manika

Pagpapakilala

Noong Setyembre 1, 2011, isang file na pinangalanang ~DN1.tmp ang ipinadala sa website ng VirusTotal mula sa Hungary. Sa oras na iyon, ang file ay nakita bilang nakakahamak ng dalawang antivirus engine lamang - BitDefender at AVIRA. Ganito nagsimula ang kwento ni Duqu. Sa hinaharap, dapat sabihin na ang pamilya ng Duqu malware ay pinangalanan pagkatapos ng pangalan ng file na ito. Gayunpaman, ang file na ito ay isang ganap na independiyenteng module ng spyware na may mga function ng keylogger, na naka-install, malamang, gamit ang isang nakakahamak na downloader-dropper, at maaari lamang ituring bilang isang "payload" na na-load ng Duqu malware sa panahon ng operasyon nito, at hindi bilang isang bahagi ( module) ng Duqu . Ang isa sa mga bahagi ng Duqu ay ipinadala sa serbisyo ng Virustotal noong Setyembre 9 lamang. Ang natatanging tampok nito ay isang driver na digital na nilagdaan ng C-Media. Ang ilang mga eksperto ay agad na nagsimulang gumuhit ng mga pagkakatulad sa isa pang sikat na halimbawa ng malware - Stuxnet, na gumamit din ng mga naka-sign na driver. Ang kabuuang bilang ng mga Duqu-infected na computer na nakita ng iba't ibang antivirus company sa buong mundo ay nasa dose-dosenang. Maraming mga kumpanya ang nagsasabing ang Iran ay muli ang pangunahing target, ngunit sa paghusga sa pamamagitan ng geographic na pamamahagi ng mga impeksyon, hindi ito masasabi nang sigurado.
Duqu - malisyosong pugad na manika
Sa kasong ito, dapat kang may kumpiyansa na magsalita tungkol sa isa pang kumpanya na may panibagong salita APT (advanced persistent threat).

Pamamaraan ng pagpapatupad ng system

Ang pagsisiyasat na isinagawa ng mga espesyalista mula sa organisasyong Hungarian na CrySyS (Hungarian Laboratory of Cryptography and System Security sa Budapest University of Technology and Economics) ay humantong sa pagkatuklas ng installer (dropper) kung saan nahawahan ang system. Ito ay isang Microsoft Word file na may pagsasamantala para sa kahinaan ng driver ng win32k.sys (MS11-087, na inilarawan ng Microsoft noong Nobyembre 13, 2011), na responsable para sa mekanismo ng pag-render ng font ng TTF. Gumagamit ang shellcode ng exploit ng font na tinatawag na 'Dexter Regular' na naka-embed sa dokumento, kung saan nakalista ang Showtime Inc. bilang lumikha ng font. Tulad ng nakikita mo, ang mga tagalikha ng Duqu ay hindi estranghero sa isang katatawanan: Si Dexter ay isang serial killer, ang bayani ng serye sa telebisyon na may parehong pangalan, na ginawa ng Showtime. Si Dexter ay pumapatay lamang (kung maaari) mga kriminal, ibig sabihin, nilabag niya ang batas sa ngalan ng legalidad. Marahil, sa ganitong paraan, ang mga developer ng Duqu ay balintuna na sila ay nakikibahagi sa mga ilegal na aktibidad para sa mabuting layunin. Ang pagpapadala ng mga email ay ginawa nang may layunin. Ang kargamento ay malamang na gumamit ng nakompromiso (na-hack) na mga computer bilang isang tagapamagitan upang gawing mahirap ang pagsubaybay.
Ang dokumento ng Word ay naglalaman ng mga sumusunod na sangkap:

  • nilalaman ng teksto;
  • built-in na font;
  • pagsamantalahan ang shellcode;
  • driver;
  • installer (DLL library).

Kung matagumpay, isinagawa ng exploit shellcode ang mga sumusunod na operasyon (sa kernel mode):

  • isang pagsusuri ay ginawa para sa muling impeksyon; para dito, ang presensya ng 'CF4D' na key ay nasuri sa registry sa address na 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1'; kung ito ay tama, natapos ng shellcode ang pagpapatupad nito;
  • dalawang file ang na-decrypted - ang driver (sys) at ang installer (dll);
  • ang driver ay na-injected sa services.exe na proseso at inilunsad ang installer;
  • Sa wakas, binura ng shellcode ang sarili nito na may mga zero sa memorya.

Dahil sa katotohanan na ang win32k.sys ay naisakatuparan sa ilalim ng privileged user na 'System', eleganteng nalutas ng mga developer ng Duqu ang problema ng parehong hindi awtorisadong paglulunsad at pagdami ng mga karapatan (tumatakbo sa ilalim ng isang user account na may limitadong mga karapatan).
Matapos matanggap ang kontrol, na-decrypt ng installer ang tatlong bloke ng data na nilalaman nito sa memorya, na naglalaman ng:

  • naka-sign na driver (sys);
  • pangunahing module (dll);
  • data ng pagsasaayos ng installer (pnf).

Ang isang hanay ng petsa ay tinukoy sa data ng pagsasaayos ng installer (sa anyo ng dalawang timestamp - simula at wakas). Sinuri ng installer kung ang kasalukuyang petsa ay kasama dito, at kung hindi, natapos nito ang pagpapatupad nito. Gayundin sa data ng pagsasaayos ng installer ay ang mga pangalan kung saan nai-save ang driver at pangunahing module. Sa kasong ito, ang pangunahing module ay nai-save sa disk sa naka-encrypt na form.

Duqu - malisyosong pugad na manika

Upang i-autostart ang Duqu, isang serbisyo ang ginawa gamit ang isang driver file na nagde-decrypt ng pangunahing module sa mabilisang gamit ang mga key na nakaimbak sa registry. Ang pangunahing module ay naglalaman ng sarili nitong configuration data block. Noong unang inilunsad, ito ay na-decrypted, ang petsa ng pag-install ay ipinasok dito, pagkatapos nito ay muling na-encrypt at nai-save ng pangunahing module. Kaya, sa apektadong sistema, sa matagumpay na pag-install, tatlong file ang na-save - ang driver, ang pangunahing module at ang configuration data file nito, habang ang huling dalawang file ay naka-imbak sa disk sa naka-encrypt na form. Ang lahat ng mga pamamaraan ng pag-decode ay isinasagawa lamang sa memorya. Ang kumplikadong pamamaraan ng pag-install ay ginamit upang mabawasan ang posibilidad ng pagtuklas ng antivirus software.

Ang pangunahing modyul

Pangunahing module (resource 302), ayon sa impormasyon kumpanyang Kaspersky Lab, na isinulat gamit ang MSVC 2008 sa purong C, ngunit gumagamit ng isang object-oriented na diskarte. Ang diskarte na ito ay hindi karaniwan kapag bumubuo ng malisyosong code. Bilang isang patakaran, ang naturang code ay nakasulat sa C upang bawasan ang laki at alisin ang mga implicit na tawag na likas sa C++. Mayroong tiyak na symbiosis dito. Dagdag pa, ginamit ang isang arkitektura na hinimok ng kaganapan. Ang mga empleyado ng Kaspersky Lab ay hilig sa teorya na ang pangunahing module ay isinulat gamit ang isang pre-processor add-on na nagpapahintulot sa iyo na magsulat ng C code sa isang object style.
Ang pangunahing module ay responsable para sa pamamaraan para sa pagtanggap ng mga utos mula sa mga operator. Nagbibigay ang Duqu ng ilang paraan ng pakikipag-ugnayan: gamit ang mga protocol ng HTTP at HTTPS, pati na rin ang paggamit ng mga pinangalanang pipe. Para sa HTTP(S), tinukoy ang mga domain name ng mga command center, at ibinigay ang kakayahang magtrabaho sa pamamagitan ng proxy server - isang user name at password ang tinukoy para sa kanila. Ang IP address at ang pangalan nito ay tinukoy para sa channel. Ang tinukoy na data ay naka-imbak sa pangunahing module configuration data block (sa naka-encrypt na form).
Upang gumamit ng mga pinangalanang pipe, inilunsad namin ang sarili naming pagpapatupad ng RPC server. Sinuportahan nito ang sumusunod na pitong function:

  • ibalik ang naka-install na bersyon;
  • mag-inject ng dll sa tinukoy na proseso at tawagan ang tinukoy na function;
  • i-load ang dll;
  • magsimula ng proseso sa pamamagitan ng pagtawag sa CreateProcess();
  • basahin ang mga nilalaman ng isang naibigay na file;
  • magsulat ng data sa tinukoy na file;
  • tanggalin ang tinukoy na file.

Ang mga pinangalanang tubo ay maaaring gamitin sa loob ng isang lokal na network upang ipamahagi ang mga na-update na module at data ng pagsasaayos sa pagitan ng mga computer na nahawaan ng Duqu. Bilang karagdagan, maaaring kumilos si Duqu bilang proxy server para sa iba pang mga nahawaang computer (na walang access sa Internet dahil sa mga setting ng firewall sa gateway). Ang ilang bersyon ng Duqu ay walang RPC functionality.

Kilalang "mga payload"

Natuklasan ng Symantec ang hindi bababa sa apat na uri ng mga payload na na-download sa ilalim ng utos mula sa Duqu control center.
Bukod dito, isa lamang sa kanila ang naninirahan at pinagsama bilang isang maipapatupad na file (exe), na na-save sa disk. Ang natitirang tatlo ay ipinatupad bilang mga library ng dll. Ang mga ito ay dynamic na na-load at naisakatuparan sa memorya nang hindi nai-save sa disk.

Ang resident "payload" ay isang spy module (infostealer) na may mga function ng keylogger. Sa pamamagitan ng pagpapadala nito sa VirusTotal nagsimula ang gawain sa Duqu research. Ang pangunahing pag-andar ng espiya ay nasa mapagkukunan, ang unang 8 kilobytes ay naglalaman ng bahagi ng isang larawan ng kalawakan NGC 6745 (para sa camouflage). Dapat alalahanin dito na noong Abril 2012, naglathala ang ilang media ng impormasyon (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506) na ang Iran ay nalantad sa ilang malisyosong software na "Mga Bituin", habang ang mga detalye ng hindi isiniwalat ang insidente. Marahil ito ay isang sample lamang ng Duqu "payload" na natuklasan noon sa Iran, kaya tinawag na "Mga Bituin".
Kinokolekta ng spy module ang sumusunod na impormasyon:

  • listahan ng mga tumatakbong proseso, impormasyon tungkol sa kasalukuyang user at domain;
  • listahan ng mga lohikal na drive, kabilang ang mga network drive;
  • mga screenshot;
  • mga address ng interface ng network, mga talahanayan ng pagruruta;
  • log file ng mga keyboard keystroke;
  • mga pangalan ng bukas na mga window ng application;
  • listahan ng mga magagamit na mapagkukunan ng network (pagbabahagi ng mga mapagkukunan);
  • isang kumpletong listahan ng mga file sa lahat ng mga disk, kabilang ang mga naaalis;
  • isang listahan ng mga computer sa β€œnetwork environment”.

Isa pang spy module (infostealer) ay isang variation ng kung ano ang inilarawan na, ngunit pinagsama-sama bilang isang dll library; ang mga function ng isang keylogger, pag-compile ng isang listahan ng mga file at listahan ng mga computer na kasama sa domain ay inalis mula dito.
Susunod na modyul (pagmamatyag sa kilos ng kaaway) nakolektang impormasyon ng system:

  • kung ang computer ay bahagi ng isang domain;
  • mga landas sa mga direktoryo ng system ng Windows;
  • bersyon ng operating system;
  • kasalukuyang user name;
  • listahan ng mga adapter ng network;
  • system at lokal na oras, pati na rin ang time zone.

Huling module (pampahaba ng buhay) nagpatupad ng isang function upang taasan ang halaga (na nakaimbak sa pangunahing module ng configuration data file) ng bilang ng mga araw na natitira hanggang sa makumpleto ang trabaho. Bilang default, ang halagang ito ay itinakda sa 30 o 36 na araw depende sa pagbabago ng Duqu, at bumaba ng isa bawat araw.

Mga command center

Noong Oktubre 20, 2011 (tatlong araw pagkatapos maipakalat ang impormasyon tungkol sa pagtuklas), ang mga operator ng Duqu ay nagsagawa ng isang pamamaraan upang sirain ang mga bakas ng paggana ng mga command center. Ang mga command center ay matatagpuan sa mga na-hack na server sa buong mundo - sa Vietnam, India, Germany, Singapore, Switzerland, Great Britain, Holland, at South Korea. Kapansin-pansin, ang lahat ng natukoy na server ay nagpapatakbo ng mga bersyon ng CentOS 5.2, 5.4 o 5.5. Ang mga OS ay parehong 32-bit at 64-bit. Sa kabila ng katotohanan na ang lahat ng mga file na may kaugnayan sa pagpapatakbo ng mga command center ay tinanggal, ang mga espesyalista ng Kaspersky Lab ay nakuhang muli ang ilan sa mga impormasyon mula sa mga file ng LOG mula sa maluwag na espasyo. Ang pinaka-kagiliw-giliw na katotohanan ay ang mga umaatake sa mga server ay palaging pinapalitan ang default na OpenSSH 4.3 package na may bersyon 5.8. Ito ay maaaring magpahiwatig na ang isang hindi kilalang kahinaan sa OpenSSH 4.3 ay ginamit upang i-hack ang mga server. Hindi lahat ng sistema ay ginamit bilang mga command center. Ang ilan, batay sa mga error sa sshd log kapag sinusubukang i-redirect ang trapiko para sa mga port 80 at 443, ay ginamit bilang isang proxy server upang kumonekta sa mga end command center.

Mga petsa at module

Ang isang dokumento ng Word na ipinamahagi noong Abril 2011, na sinuri ng Kaspersky Lab, ay naglalaman ng isang installer download driver na may petsa ng compilation na Agosto 31, 2007. Ang isang katulad na driver (laki - 20608 bytes, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) sa isang dokumentong natagpuan sa mga laboratoryo ng CrySys ay may petsa ng compilation noong Pebrero 21, 2008. Bilang karagdagan, natagpuan ng mga eksperto sa Kaspersky Lab ang autorun driver na rndismpc.sys (laki - 19968 bytes, MD5 - 9AEC6E10C5EE9C05BED93221544C783E) na may petsang Enero 20, 2008. Walang nakitang mga sangkap na may markang 2009. Batay sa mga timestamp ng compilation ng mga indibidwal na bahagi ng Duqu, ang pag-unlad nito ay maaaring magmula noong unang bahagi ng 2007. Ang pinakamaagang pagpapakita nito ay nauugnay sa pagtuklas ng mga pansamantalang file ng uri ~DO (malamang na nilikha ng isa sa mga spyware module), ang petsa ng paglikha nito ay Nobyembre 28, 2008 (artikulo "Duqu & Stuxnet: Isang Timeline ng mga Kawili-wiling Kaganapan"). Ang pinakahuling petsang nauugnay sa Duqu ay noong Pebrero 23, 2012, na nasa isang installer download driver na natuklasan ng Symantec noong Marso 2012.

Mga mapagkukunan ng impormasyong ginamit:

serye ng mga artikulo tungkol kay Duqu mula sa Kaspersky Lab;
Symantec analytical na ulat "W32.Duqu Ang precursor sa susunod na Stuxnet", bersyon 1.4, Nobyembre 2011 (pdf).

Pinagmulan: www.habr.com

Magdagdag ng komento