Дуку бол хортой матрешка юм

Танилцуулга

1 оны 2011-р сарын 1-нд Унгар улсаас VirusTotal вэб сайт руу ~DN9.tmp нэртэй файл илгээгдсэн. Тухайн үед энэ файлыг зөвхөн BitDefender болон AVIRA гэсэн хоёр вирусны эсрэг хөдөлгүүр илрүүлсэн. Дукугийн түүх ингэж эхэлсэн юм. Урагшаа харахад Duqu вирусын гэр бүлийг энэ файлын нэрээр нэрлэсэн гэж хэлэх ёстой. Гэсэн хэдий ч, энэ файл нь keylogger функц бүхий бүрэн бие даасан тагнуулын программ хангамжийн модуль бөгөөд магадгүй хортой татан авагч-дусаагуур ашиглан суулгасан бөгөөд зөвхөн Duqu хортой программыг ажиллуулах явцад ачаалагдсан "ашигтай ачаалал" гэж үзэж болох ба бүрэлдэхүүн хэсэг биш (. модуль) нь Duqu . Duqu бүрэлдэхүүн хэсгүүдийн нэгийг зөвхөн XNUMX-р сарын XNUMX-нд Virustotal үйлчилгээнд илгээсэн. Үүний өвөрмөц онцлог нь C-Media-ийн дижитал гарын үсэг бүхий драйвер юм. Зарим шинжээчид нэн даруй хортой програмын өөр нэг алдартай жишээ болох Stuxnet-тэй аналоги зурж эхэлсэн бөгөөд үүнд гарын үсэг зурсан драйверуудыг ашигладаг. Дэлхий даяар янз бүрийн вирусны эсрэг компаниудын илрүүлсэн Duqu вирусын халдвартай компьютеруудын нийт тоо хэдэн арван байдаг. Олон компаниуд Ираныг дахин гол бай гэж мэдэгдэж байгаа боловч халдварын газарзүйн тархалтаас харахад үүнийг баттай хэлэх боломжгүй юм.
Дуку бол хортой матрешка юм
Энэ тохиолдолд та зөвхөн өөр компаний тухай шинэ үгээр итгэлтэйгээр ярих хэрэгтэй APT (дэвшилтэт байнгын аюул занал).

Системийг хэрэгжүүлэх журам

Унгарын CrySyS (Будапештийн Технологи, Эдийн Засгийн Их Сургуулийн Унгарын Криптограф, Системийн Хамгаалалтын Лаборатори) байгууллагын мэргэжилтнүүдийн хийсэн шалгалтын дүнд системд халдвар авсан суулгагчийг (дусаагуур) илрүүлсэн байна. Энэ нь Win32k.sys драйверын эмзэг байдлын (MS11-087, Microsoft-ын 13 оны 2011-р сарын XNUMX-нд тайлбарласан) мөлжлөг бүхий Microsoft Word файл байсан бөгөөд TTF фонт дүрслэх механизмыг хариуцдаг. Exploit-ийн shellcode нь баримт бичигт суулгасан 'Dexter Regular' нэртэй фонтыг ашигладаг бөгөөд фонтыг бүтээгчээр Showtime Inc. жагсаасан байна. Таны харж байгаагаар Duqu-г бүтээгчид хошин шогийн мэдрэмжинд харь хүмүүс биш юм: Декстер бол Showtime-ын бүтээсэн ижил нэртэй телевизийн цувралын баатар, цуврал алуурчин юм. Декстер зөвхөн (боломжтой бол) гэмт хэрэгтнүүдийг хөнөөдөг, өөрөөр хэлбэл хууль ёсны нэрээр хууль зөрчдөг. Ийм маягаар Duqu хөгжүүлэгчид сайн зорилгын төлөө хууль бус үйл ажиллагаа явуулж байна гэж шоолж байгаа байх. Имэйл илгээх нь зорилготойгоор хийгдсэн. Ачаа нь хяналт тавихад хэцүү болгохын тулд эвдэрсэн (хакердсан) компьютеруудыг зуучлагчаар ашигласан байх магадлалтай.
Word баримт бичиг нь дараах бүрэлдэхүүн хэсгүүдийг агуулна.

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

Амжилттай болсон тохиолдолд exploit shellcode дараах үйлдлүүдийг гүйцэтгэсэн (цөмийн горимд):

  • дахин халдвар авсан эсэхийг шалгасан бөгөөд үүний тулд 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones4' хаягийн бүртгэлд 'CF1D' түлхүүр байгаа эсэхийг шалгасан; хэрэв энэ нь зөв бол бүрхүүлийн кодыг гүйцэтгэсэн;
  • хоёр файлын шифрийг тайлсан - драйвер (sys) ба суулгагч (dll);
  • драйверийг services.exe процесст оруулж, суулгагчийг эхлүүлсэн;
  • Эцэст нь, бүрхүүлийн код нь санах ойд тэгээр өөрийгөө устгасан.

Win32k.sys нь давуу эрхтэй хэрэглэгчийн "Систем" -ийн дагуу ажилладаг тул 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-ийн зарим хувилбаруудад RPC функц байхгүй байсан.

Мэдэгдэж буй "ачаалал"

Symantec нь Duqu хяналтын төвөөс тушаалаар татаж авсан дор хаяж дөрвөн төрлийн ачааг илрүүлжээ.
Түүнээс гадна тэдгээрийн зөвхөн нэг нь оршин суугч байсан бөгөөд гүйцэтгэх боломжтой файл (exe) хэлбэрээр хөрвүүлсэн бөгөөд үүнийг дискэнд хадгалсан. Үлдсэн гурав нь dll номын сан хэлбэрээр хэрэгжсэн. Тэдгээрийг динамикаар ачаалж, дискэнд хадгалалгүйгээр санах ойд гүйцэтгэсэн.

Оршин суугч "ачаалал" нь тагнуулын модуль байсан (мэдээлэл хулгайлагч) keylogger функцтэй. Үүнийг VirusTotal руу илгээснээр Duqu судалгааны ажил эхэлсэн. Тагнуулын гол функц нь нөөцөд байсан бөгөөд эхний 8 килобайт нь NGC 6745 галактикийн зургийн хэсэг (өнгөлөн далдлах зориулалттай) байсан. 2012 оны 1297506-р сард зарим хэвлэл мэдээллийн хэрэгслээр (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=XNUMX) Иран улс "Stars" хэмээх хортой программ хангамжид өртсөн тухай мэдээлэл нийтлэгдсэнийг энд сануулах хэрэгтэй. болсон явдлын талаар тодруулаагүй байна. Магадгүй энэ нь тэр үед Иранд олдсон Duqu "ачааллын" ийм дээж байсан тул "Од" гэж нэрлэжээ.
Тагнуулын модуль нь дараах мэдээллийг цуглуулсан.

  • ажиллаж байгаа процессуудын жагсаалт, одоогийн хэрэглэгч болон домэйны талаарх мэдээлэл;
  • сүлжээний хөтчүүдийг багтаасан логик хөтчүүдийн жагсаалт;
  • дэлгэцийн агшин;
  • сүлжээний интерфейсийн хаягууд, чиглүүлэлтийн хүснэгтүүд;
  • гарын товчлуурын лог файл;
  • нээлттэй програмын цонхны нэрс;
  • боломжтой сүлжээний нөөцийн жагсаалт (нөөцийг хуваалцах);
  • бүх диск дээрх файлуудын бүрэн жагсаалт, түүний дотор зөөврийн файлууд;
  • "сүлжээний орчин" дахь компьютеруудын жагсаалт.

Өөр тагнуулын модуль (мэдээлэл хулгайлагч) нь аль хэдийн тайлбарласан зүйлийн хувилбар байсан боловч dll номын сан болгон эмхэтгэсэн; keylogger, файлуудын жагсаалтыг эмхэтгэх, домэйнд багтсан компьютеруудыг жагсаах функцүүд нь үүнээс хасагдсан.
Дараагийн модуль (Туршилт) цуглуулсан системийн мэдээлэл:

  • компьютер нь домэйны нэг хэсэг эсэх;
  • Windows системийн лавлах замууд;
  • үйлдлийн системийн хувилбар;
  • одоогийн хэрэглэгчийн нэр;
  • сүлжээний адаптеруудын жагсаалт;
  • систем болон орон нутгийн цаг, түүнчлэн цагийн бүс.

Сүүлийн модуль (нас уртасгагч) ажил дуусах хүртэл үлдсэн хоногийн тоог (үндсэн модулийн тохиргооны өгөгдлийн файлд хадгалсан) нэмэгдүүлэх функцийг хэрэгжүүлсэн. Анхдагч байдлаар, энэ утгыг Duqu өөрчлөлтөөс хамааран 30 эсвэл 36 хоног гэж тохируулсан бөгөөд өдөр бүр нэгээр буурсан.

Командын төвүүд

20 оны 2011-р сарын 5.2-нд (олдворын тухай мэдээлэл тараагдсанаас гурав хоногийн дараа) Дуку операторууд командын төвүүдийн үйл ажиллагааны ул мөрийг устгах процедурыг явуулсан. Командын төвүүд Вьетнам, Энэтхэг, Герман, Сингапур, Швейцарь, Их Британи, Голланд, Өмнөд Солонгос зэрэг дэлхийн өнцөг булан бүрт хакердсан серверүүд дээр байрладаг байв. Сонирхолтой нь бүх тодорхойлсон серверүүд CentOS-ийн 5.4, 5.5 эсвэл 32 хувилбаруудыг ажиллуулж байсан. Үйлдлийн системүүд нь 64 ба 4.3 битийн аль аль нь байсан. Хэдийгээр командын төвүүдийн ажиллагаатай холбоотой бүх файл устгагдсан ч Kaspersky Lab-ийн мэргэжилтнүүд LOG файлуудаас зарим мэдээллийг сул зайнаас сэргээж чадсан. Хамгийн сонирхолтой баримт бол сервер дээрх халдагчид анхдагч OpenSSH 5.8 багцыг 4.3 хувилбараар сольж байсан явдал юм. Энэ нь OpenSSH 80-ийн үл мэдэгдэх эмзэг байдлыг серверүүдийг хакердахад ашигласан болохыг харуулж магадгүй юм. Бүх системийг командын төв болгон ашиглаагүй. Зарим нь 443 ба XNUMX портуудын траффикийг дахин чиглүүлэхийг оролдох үед sshd бүртгэлд гарсан алдаанаас харахад эцсийн командын төвүүдтэй холбогдохын тулд прокси сервер болгон ашигласан.

Огноо ба модулиуд

2011 оны 31-р сард тараасан, Касперскийн лабораторид шалгасан Word баримт бичигт 2007 оны 20608-р сарын 5-ний өдөр эмхэтгэсэн суулгагч татаж авах драйвер байсан. CrySys лабораторид олдсон баримт бичигт ижил төстэй драйвер (хэмжээ - 45 байт, MD613 - EEDCA0BD9E9D5A69122007E17C21F2008) 19968 оны 5-р сарын 9-ний өдөр эмхэтгэсэн байна. Нэмж дурдахад Касперскийн лабораторийн мэргэжилтнүүд 6 оны 10-р сарын 5-ны огноотой rndismpc.sys (хэмжээ - 9 байт, MD05 - 93221544AEC783E20C2008EE2009C2007BED28C2008E) автомат ажиллуулдаг драйверийг олжээ. XNUMX гэж тэмдэглэгдсэн бүрэлдэхүүн хэсэг олдсонгүй. Дукугийн бие даасан хэсгүүдийн эмхэтгэлийн цагийн тэмдэг дээр үндэслэн түүний хөгжил XNUMX оны эхэн үеэс эхэлж магадгүй юм. Үүний хамгийн анхны илрэл нь ~DO төрлийн түр зуурын файлуудыг илрүүлэхтэй холбоотой (магадгүй тагнуулын модулиудын аль нэгээр үүсгэгдсэн байж магадгүй), үүсгэсэн огноо нь XNUMX оны XNUMX-р сарын XNUMX (нийтлэл "Duqu & Stuxnet: Сонирхолтой үйл явдлуудын цаг хугацаа"). Duqu-тай холбоотой хамгийн сүүлийн огноо нь 23 оны 2012-р сард Symantec-ийн олж илрүүлсэн суулгагч татаж авах драйверт агуулагдсан 2012 оны XNUMX-р сарын XNUMX-ны өдөр юм.

Ашигласан мэдээллийн эх сурвалжууд:

цуврал нийтлэлүүд Касперскийн лабораторийн Дукугийн тухай;
Symantec аналитик тайлан "W32.Duqu Дараагийн Stuxnet-ийн урьдал", хувилбар 1.4, 2011 оны XNUMX-р сар (pdf).

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх