Duqu - kweade nêstpop

Ynlieding

Op 1 septimber 2011 waard in bestân mei de namme ~DN1.tmp stjoerd nei de webside VirusTotal út Hongarije. Op dat stuit waard it bestân as kwea-aardich ûntdutsen troch mar twa antivirusmotoren - BitDefender en AVIRA. Dit is hoe't it ferhaal fan Duqu begon. Foarútsjen moat sein wurde dat de Duqu malware-famylje waard neamd nei de namme fan dit bestân. Dit bestân is lykwols in folslein ûnôfhinklike spyware-module mei keylogger-funksjes, ynstalleare, wierskynlik mei in kweade downloader-dropper, en kin allinich beskôge wurde as in "sinjaal" laden troch de Duqu-malware tidens syn operaasje, en net as in komponint ( module) fan Duqu. Ien fan 'e Duqu-komponinten waard allinich op 9 septimber nei de Virustotal-tsjinst stjoerd. It ûnderskiedende skaaimerk is in stjoerprogramma digitaal tekene troch C-Media. Guon saakkundigen begûnen fuortendaliks analogyen te tekenjen mei in oar ferneamde foarbyld fan malware - Stuxnet, dy't ek ûndertekene bestjoerders brûkte. It totale oantal Duqu-ynfekteare kompjûters ûntdutsen troch ferskate antyvirusbedriuwen rûn de wrâld is yn 'e tsientallen. In protte bedriuwen beweare dat Iran wer it haaddoel is, mar beoardielje troch de geografyske ferdieling fan ynfeksjes kin dit net mei wissichheid sein wurde.
Duqu - kweade nêstpop
Yn dit gefal moatte jo mei fertrouwen allinich prate oer in oar bedriuw mei in nijmoadrich wurd APT (avansearre oanhâldende bedriging).

Systeem ymplemintaasje proseduere

In ûndersyk útfierd troch spesjalisten fan 'e Hongaarske organisaasje CrySyS (Hongaarsk Laboratorium foar Kryptografy en Systeemfeiligens oan' e Budapest University of Technology and Economics) late ta de ûntdekking fan 'e ynstallearder (dropper) wêrmei't it systeem ynfektearre waard. It wie in Microsoft Word-bestân mei in eksploitaasje foar de kwetsberens fan 'e win32k.sys-bestjoerder (MS11-087, beskreaun troch Microsoft op novimber 13, 2011), dy't ferantwurdlik is foar it TTF-lettertype-rendering-meganisme. De shellcode fan 'e eksploitaasje brûkt in lettertype neamd 'Dexter Regular' ynbêde yn it dokumint, mei Showtime Inc. neamd as de skepper fan it lettertype. Sa't jo sjen kinne, binne de makkers fan Duqu gjin frjemden foar in gefoel foar humor: Dexter is in serial killer, de held fan 'e televyzjerige mei deselde namme, produsearre troch Showtime. Dexter deadet allinnich (as it kin) kriminelen, dat is, hy brekt de wet yn 'e namme fan wettichheid. Wierskynlik, op dizze manier, binne de Duqu-ûntwikkelders iroanysk dat se dwaande binne mei yllegale aktiviteiten foar goede doelen. It ferstjoeren fan e-mails waard doelbewust dien. De ferstjoering brûkte wierskynlik kompromitteare (hackte) kompjûters as tuskenpersoan om tracking lestich te meitsjen.
It Word-dokumint befette dus de folgjende komponinten:

  • tekst ynhâld;
  • ynboude lettertype;
  • eksploitearje shellcode;
  • sjauffeur;
  • ynstallearder (DLL-biblioteek).

As suksesfol, de eksploitaasje shellcode útfierd de folgjende operaasjes (yn kernel modus):

  • in kontrôle waard makke foar opnij ynfeksje; hjirfoar waard de oanwêzigens fan 'e 'CF4D'-kaai kontrolearre yn it register op it adres 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1'; as dit goed wie, foltôge de shellcode syn útfiering;
  • twa bestannen waarden ûntsifere - de bestjoerder (sys) en de ynstallearder (dll);
  • de bestjoerder waard ynjeksje yn it services.exe-proses en lansearre it ynstallearder;
  • Uteinlik wist de shellcode himsels mei nullen yn it ûnthâld.

Troch it feit dat win32k.sys wurdt útfierd ûnder de privilegearre brûker 'Systeem', hawwe de Duqu-ûntwikkelders it probleem elegant oplost fan sawol unautorisearre lansearring en eskalaasje fan rjochten (rinnend ûnder in brûkersaccount mei beheinde rjochten).
Nei ûntfangst fan kontrôle ûntsifere de ynstallearder trije blokken mei gegevens dy't deryn yn it ûnthâld binne, mei:

  • ûndertekene bestjoerder (sys);
  • haadmodule (dll);
  • ynstallearderkonfiguraasjegegevens (pnf).

In datumberik waard opjûn yn 'e konfiguraasjegegevens fan' e ynstallearder (yn 'e foarm fan twa tiidstempels - begjin en ein). De ynstallearder kontrolearre oft de aktuele datum deryn wie opnaam, en sa net, foltôge it de útfiering. Ek yn 'e konfiguraasjegegevens fan' e ynstallearder wiene de nammen wêrunder de bestjoerder en haadmodule waarden bewarre. Yn dit gefal waard de haadmodule op skiif bewarre yn fersifere foarm.

Duqu - kweade nêstpop

Om Duqu autostart te meitsjen, waard in tsjinst makke mei in bestjoerderbestân dat de haadmodule op 'e flecht ûntsifere mei kaaien opslein yn it register. De haadmodule befettet in eigen konfiguraasjegegevensblok. Doe't it earst lansearre waard, waard it ûntsifere, de ynstallaasjedatum waard dêryn ynfierd, wêrnei't it wer fersifere waard en bewarre troch de haadmodule. Sa waarden yn it troffen systeem, nei suksesfolle ynstallaasje, trije bestannen bewarre - de bestjoerder, de haadmodule en syn konfiguraasjegegevensbestân, wylst de lêste twa bestannen yn fersifere foarm op skiif waarden opslein. Alle dekodearjen prosedueres waarden útfierd allinnich yn it ûnthâld. Dizze komplekse ynstallaasjeproseduere waard brûkt om de mooglikheid fan deteksje troch antivirussoftware te minimalisearjen.

De wichtichste module

Main module (boarne 302), neffens ynformaasje bedriuw Kaspersky Lab, skreaun mei MSVC 2008 yn suver C, mar mei in objekt-rjochte oanpak. Dizze oanpak is net karakteristyk by it ûntwikkeljen fan kweade koade. As regel wurdt sa'n koade skreaun yn C om de grutte te ferminderjen en de ymplisite oanroppen dy't yn C++ binne, kwyt te reitsjen. Hjir is in bepaalde symbioaze. Plus, in evenemint-oandreaune arsjitektuer waard brûkt. Meiwurkers fan Kaspersky Lab binne oanstriid foar de teory dat de haadmodule is skreaun mei in add-on foar pre-prosessor wêrmei jo C-koade kinne skriuwe yn in objektstyl.
De haadmodule is ferantwurdlik foar de proseduere foar it ûntfangen fan kommando's fan operators. Duqu biedt ferskate metoaden fan ynteraksje: it brûken fan de HTTP- en HTTPS-protokollen, en ek it brûken fan neamde pipes. Foar HTTP(S) waarden domeinnammen fan kommando-sintra spesifisearre, en de mooglikheid om te wurkjen fia in proxy-tsjinner waard levere - in brûkersnamme en wachtwurd waarden foar har opjûn. It IP-adres en syn namme wurde opjûn foar it kanaal. De oantsjutte gegevens wurde opslein yn de haadmodule konfiguraasje gegevens blok (yn fersifere foarm).
Om neamde pipes te brûken, lansearren wy ús eigen RPC-tsjinner ymplemintaasje. It stipe de folgjende sân funksjes:

  • werom de ynstallearre ferzje;
  • ynjeksje in dll yn it oantsjutte proses en rop de opjûne funksje op;
  • load dll;
  • begjinne in proses troch in oprop CreateProcess ();
  • lês de ynhâld fan in opjûne triem;
  • skriuw gegevens nei de oantsjutte triem;
  • wiskje de oantsjutte triem.

Neamde pipes koenen wurde brûkt binnen in lokaal netwurk om bywurke modules en konfiguraasjegegevens te fersprieden tusken Duqu-ynfekteare kompjûters. Dêrnjonken koe Duqu as proxy-tsjinner fungearje foar oare ynfekteare kompjûters (dy't gjin tagong hawwe ta it ynternet troch de firewall-ynstellingen op 'e poarte). Guon ferzjes fan Duqu hie gjin RPC-funksjonaliteit.

Bekende "ladings"

Symantec ûntduts op syn minst fjouwer soarten ladingen dy't ûnder kommando ynladen binne fan it Duqu-kontrôlesintrum.
Boppedat, mar ien fan harren wie resident en kompilearre as in útfierbere triem (exe), dat waard bewarre op skiif. De oerbleaune trije waarden ymplementearre as dll-biblioteken. Se waarden dynamysk laden en útfierd yn it ûnthâld sûnder opslein op skiif.

De ynwenner "lading" wie in spion module (infostealer) mei keylogger funksjes. It wie troch it nei VirusTotal te stjoeren dat it wurk oan Duqu-ûndersyk begon. De wichtichste spionfunksjonaliteit wie yn 'e boarne, wêrfan de earste 8 kilobytes in diel fan in foto fan' e galaxy NGC 6745 (foar camouflage) befette. It moat hjir opmurken wurde dat yn april 2012, guon media publisearre ynformaasje (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506) dat Iran waard bleatsteld oan guon kweade software "Stars", wylst details fan it ynsidint waarden net bekend makke. Miskien wie it krekt sa'n stekproef fan 'e Duqu "lading" dy't doe yn Iran ûntdutsen waard, fandêr de namme "Stars".
De spionmodule sammele de folgjende ynformaasje:

  • list mei rinnende prosessen, ynformaasje oer de aktuele brûker en domein;
  • list fan logyske driuwfearren, ynklusyf netwurk driuwfearren;
  • skermôfbyldings;
  • netwurk ynterface adressen, routing tabellen;
  • log triem fan toetseboerd toetsoanslagen;
  • nammen fan iepen applikaasjefinsters;
  • list mei beskikbere netwurkboarnen (diele boarnen);
  • in folsleine list mei bestannen op alle skiven, ynklusyf útnimbere;
  • in list mei kompjûters yn 'e "netwurkomjouwing".

In oare spionmodule (infostealer) wie in fariaasje fan wat al beskreaun wie, mar gearstald as in dll-bibleteek; de funksjes fan in keylogger, it kompilearjen fan in list mei bestannen en list fan kompjûters opnommen yn it domein waarden derút fuortsmiten.
Folgjende module (erkenning) sammele systeemynformaasje:

  • oft de kompjûter diel útmakket fan in domein;
  • paden nei Windows systeem mappen;
  • bestjoeringssysteem ferzje;
  • aktuele brûkersnamme;
  • list fan netwurk adapters;
  • systeem en lokale tiid, lykas tiidsône.

Lêste module (lifespan extender) ymplemintearre in funksje te fergrutsjen de wearde (opslein yn de wichtichste module konfiguraasje gegevens triem) fan it oantal dagen oerbleaun oant de baan is foltôge. Standert waard dizze wearde ynsteld op 30 of 36 dagen ôfhinklik fan de Duqu-modifikaasje, en elke dei mei ien fermindere.

Kommando sintra

Op 20 oktober 2011 (trije dagen neidat ynformaasje oer de ûntdekking waard ferspraat), hawwe Duqu-operators in proseduere útfierd om spoaren fan it funksjonearjen fan 'e kommando-sintra te ferneatigjen. Kommando-sintra wiene te finen op hackte servers oer de hiele wrâld - yn Fietnam, Yndia, Dútslân, Singapore, Switserlân, Grut-Brittanje, Hollân en Súd-Korea. Ynteressant wiene alle identifisearre servers CentOS ferzjes 5.2, 5.4 of 5.5. De OS's wiene sawol 32-bit as 64-bit. Nettsjinsteande it feit dat alle bestannen yn ferbân mei de wurking fan kommando-sintra waarden wiske, koene Kaspersky Lab-spesjalisten wat fan 'e ynformaasje weromhelje fan LOG-bestannen fan lege romte. It meast nijsgjirrige feit is dat oanfallers op servers it standert OpenSSH 4.3-pakket altyd ferfongen hawwe mei ferzje 5.8. Dit kin oanjaan dat in ûnbekende kwetsberens yn OpenSSH 4.3 waard brûkt om tsjinners te hacken. Net alle systemen waarden brûkt as kommando-sintra. Guon, te beoardieljen troch de flaters yn 'e sshd-logs by it besykjen fan ferkear foar havens 80 en 443, waarden brûkt as proxy-tsjinner om te ferbinen mei de einkommando-sintra.

Datums en modules

In Word-dokumint ferspraat yn april 2011, dat waard ûndersocht troch Kaspersky Lab, befette in ynstallearder download driver mei in kompilaasjedatum fan 31 augustus 2007. In ferlykbere stjoerprogramma (grutte - 20608 bytes, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) yn in dokumint fûn yn CrySys laboratoaria hie in kompilaasjedatum fan 21 febrewaris 2008. Derneist fûnen saakkundigen fan Kaspersky Lab de autorun-bestjoerder rndismpc.sys (grutte - 19968 bytes, MD5 - 9AEC6E10C5EE9C05BED93221544C783E) mei de datum 20 jannewaris 2008. Gjin komponinten markearre 2009 waarden fûn. Op grûn fan 'e tiidstempels fan' e kompilaasje fan yndividuele dielen fan Duqu, koe syn ûntwikkeling datearje oant begjin 2007. De ierste manifestaasje is ferbûn mei it opspoaren fan tydlike bestannen fan it type ~DO (wierskynlik makke troch ien fan 'e spyware-modules), wêrfan de skeppingsdatum 28 novimber 2008 is (artikel "Duqu & Stuxnet: In tiidline fan ynteressante barrens"). De meast resinte datum ferbûn mei Duqu wie 23 febrewaris 2012, befette yn in ynstallearder download stjoerprogramma ûntdutsen troch Symantec yn maart 2012.

Boarnen fan brûkte ynformaasje:

rige fan artikels oer Duqu út Kaspersky Lab;
Symantec analytysk rapport "W32.Duqu De foarrinner fan it folgjende Stuxnet", ferzje 1.4, novimber 2011 (pdf).

Boarne: www.habr.com

Add a comment