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

Танилцуулга

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

Системд нэвтрүүлэх журам

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

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

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

  • Дахин халдвар авсан эсэхийг шалгах; Үүний тулд 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones4' хаягийн бүртгэлд 'CF1D' түлхүүр байгаа эсэхийг шалгасан; хэрэв энэ үнэн бол бүрхүүлийн код нь гүйцэтгэлээ зогсоосон;
  • хоёр файлын шифрийг тайлсан - драйвер (sys) ба суулгагч (dll);
  • драйверийг services.exe процесст оруулж, суулгагчийг эхлүүлсэн;
  • Төгсгөлд нь бүрхүүлийн код нь тэгээр өөрийгөө санах ойноос устгасан.

Win32k.sys-г "Систем"-ийн давуу эрхтэй хэрэглэгчээр ажиллуулснаар Duqu-ийн хөгжүүлэгчид зөвшөөрөлгүй эхлүүлэх болон давуу эрхийг нэмэгдүүлэх (хязгаарлагдмал эрхтэй хэрэглэгчийн бүртгэлээс ажиллаж байгаа) асуудлыг гоёмсог байдлаар шийдсэн.
Хяналтыг хүлээн авсны дараа суулгагч нь санах ойд байрлах гурван өгөгдлийн блокыг тайлсан бөгөөд үүнд:

  • гарын үсэгтэй драйвер (sys);
  • үндсэн модуль (dll);
  • суулгагчийн тохиргооны өгөгдөл (pnf).

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

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

Duqu-г автоматаар эхлүүлэхийн тулд бүртгэлд хадгалагдсан түлхүүрүүдийг ашиглан үндсэн модулийн кодыг шууд тайлсан драйвер файлыг ашиглан үйлчилгээг үүсгэсэн. Үндсэн модуль нь өөрийн тохиргооны өгөгдлийн блокыг агуулдаг. Анх ажиллуулсны дараа үүнийг тайлж, суулгасан огноог оруулаад дараа нь дахин шифрлэж үндсэн модулиар хадгалсан. Тиймээс амжилттай суулгасны дараа халдвар авсан системд гурван файл хадгалагдсан: драйвер, үндсэн модуль, түүний тохиргооны өгөгдлийн файл. Сүүлийн хоёр файлыг дискэн дээр шифрлэгдсэн байдлаар хадгалсан. Шифр тайлах бүх процедурыг зөвхөн санах ойд хийсэн. Энэхүү нарийн төвөгтэй суулгах процедурыг вирусны эсрэг программ хангамжийн илрүүлэлтийг багасгах зорилгоор ашигласан.

Үндсэн модуль

Үндсэн модуль (нөөц 302), by мэдээлэл Kaspersky Lab-ийн хортой программыг MSVC 2008 ашиглан цэвэр C хэл дээр бичсэн боловч объект хандалтат хандлагыг ашигласан. Энэ арга нь хортой код боловсруулахад ховор байдаг. Ихэвчлэн ийм кодыг C++-д хамаарах далд дуудлагыг арилгах, хэмжээг багасгах зорилгоор C хэл дээр бичдэг. Энд тодорхой симбиоз ажиглагдаж байна. Цаашилбал, үйл явдалд суурилсан архитектурыг ашигласан. Касперскийн лабораторийн ажилтнууд үндсэн модулийг объект хандалтат хэв маягаар С код бичих боломжийг олгодог урьдчилсан процессорын нэмэлтийг ашиглан бичсэн гэдэгт итгэх хандлагатай байна.
Үндсэн модуль нь операторуудын командыг хүлээн авах үүрэгтэй. Duqu нь хэд хэдэн харилцааны аргуудыг дэмждэг: HTTP болон HTTPS протоколууд, түүнчлэн нэртэй хоолойнууд. HTTP(S)-ийн хувьд командын төвүүдийн домэйн нэрийг зааж өгсөн бөгөөд хэрэглэгчийн нэр, нууц үгийг зааж өгөх замаар прокси серверээр дамжуулан ажиллах боломжтой болсон. IP хаяг болон хоолойн нэрийг хоолойд зааж өгсөн болно. Энэ өгөгдөл нь үндсэн модулийн тохиргооны өгөгдлийн блокт (шифрлэгдсэн хэлбэрээр) хадгалагддаг.
Нэрлэсэн хоолойнуудыг ашиглахын тулд захиалгат RPC серверийн хэрэгжилтийг эхлүүлсэн. Энэ нь дараах долоон функцийг дэмжсэн:

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

Дуку вирусээр халдварласан компьютеруудын хооронд шинэчлэгдсэн модулиуд болон тохиргооны өгөгдлийг түгээхэд нэрлэсэн хоолойг дотоод сүлжээнд ашиглаж болно. Duqu нь бусад халдвар авсан (гарц дээрх галт ханын тохиргооноос болж интернетэд нэвтрэх боломжгүй) компьютеруудад прокси сервер болж чаддаг. Duqu-ийн зарим хувилбаруудад RPC функц байхгүй байсан.

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

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

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

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

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

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

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

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

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

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

2011 оны 4-р сард тараагдсан, Касперскийн лабораторид дүн шинжилгээ хийсэн Word баримт бичигт 2007 оны 8-р сарын 31-ний өдөр эмхэтгэгдсэн огноотой суулгагч татаж авах драйвер байсан. Үүнтэй төстэй драйвер (хэмжээ 20608 байт, MD5 - EEDCA45BD613E0D9A9E5C69122007F17-д CLA-ийн 2-р сарын 2007-ны өдрийн эмхэтгэлээр авсан) 2008 оны 1-р сарын 21. Үүнээс гадна Касперскийн лабораторийн мэргэжилтнүүд 2008 оны 1-р сарын 20-ны огноотой rndismpc.sys (хэмжээ 19968 байт, MD5 - 9AEC6E10C5EE9C05BED93221544C783E) автоматаар ажиллуулдаг драйверийг олжээ. Duqu-ийн бие даасан хэсгүүдийн эмхэтгэлийн цагийн тэмдэг дээр үндэслэн түүний хөгжил нь 2007 оны эхэн үеэс эхэлсэн байж магадгүй юм. Үүний хамгийн анхны илрэл нь ~DO төрлийн түр зуурын файлуудыг (магадгүй тагнуулын модулиудын аль нэгээр үүсгэсэн) нээсэнтэй холбоотой бөгөөд үүсгэсэн огноо нь 2008 оны 11-р сарын 28 (нийтлэл "Duqu & Stuxnet: Сонирхолтой үйл явдлуудын цаг хугацаа"). Duqu-тэй холбоотой хамгийн сүүлийн огноо нь 2012 оны 2-р сарын 23-ны өдөр бөгөөд 2012 оны 3-р сард Symantec-ийн олж илрүүлсэн суулгагч ачаалах драйверт агуулагдаж байсан.

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

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

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