Атакуващата група, известна като HoneyMyte (известна още като Mustang Panda), е забелязана да разпространява обновена версия на задната вратичка (backdoor) CoolClient с подписан Windows rootkit в режим на ядрото (kernel-mode). Този rootkit може да укрива и защитава зловредни процеси, файлове, системни обекти в системния регистър (registry) и мрежова информация за сървърите за управление и контрол (C2).

Руската компания за киберсигурност Kaspersky съобщи, че е идентифицирала жертви в Мианмар, Монголия, Пакистан и Русия, включително потвърдени държавни институции, като CoolClient систематично се внедрява като вторична задна вратичка след заразяване с PlugX.

Компонентът на ниво ядро се внедрява, когато CoolClient разполага с пълен достъп до Service Control Manager (SCM) и привилегията SeTcbPrivilege. Ако тези условия не са изпълнени, зловредният софтуер пропуска инсталирането на драйвера и преминава директно към последния етап на импланта.

Kaspersky публикува и хешове на файлове, файлови пътища и C2 домейни като индикатори за компрометиране (IoCs).

„Нашият анализ потвърждава, че разследваният зловреден софтуер е нов вариант на CoolClient, свързан с киберпрестъпната група HoneyMyte. Въпреки че общият поток на изпълнение остава идентичен с предишно документираните варианти на CoolClient, този образец въвежда недокументиран досега драйвер за режим на ядрото, който значително разширява възможностите на зловредния код за прикритост“, заявяват от Kaspersky.

Според новия анализ на Kaspersky най-новият вариант на CoolClient може да инсталира драйвера като Windows услуга и да го управлява от задната вратичка в потребителски режим чрез заявки за входно-изходен контрол (IOCTL).

CoolClient поддържа функции за прихващане на натиснатите клавиши (keylogging), кражба на съдържанието на клипборда, събиране на компрометирани пароли и идентификационни данни, управление на файлове, разузнаване на системата и допълнителни функционалности, предоставени чрез плъгини.

PlugX внедрява компонентите на CoolClient

В една от кампаниите, насочена към Мианмар, Kaspersky отбелязва, че HoneyMyte използва PlugX като първоначален имплант след компрометирането, за да внедри CoolClient. Атакуващите са добавили изключения в Microsoft Defender за фалшива директория на Windows Defender и са преименували изпълним файл за зареждане на странични библиотеки (DLL sideloading).

Злонамереният субект е копирал компонентите на зловредния софтуер в директорията, преименувал е легитимен изпълним файл на Sangfor на defender.exe за странично зареждане на DLL и е осигурил персистентност (продължително присъствие) чрез планирана задача (scheduled task), която стартира бинарния файл с привилегии SYSTEM при зареждане на системата.

Изпълнението започва, когато легитимното приложение на Sangfor зареди зловреден файл libngs.dll, който декриптира и изпълнява компонента от втория етап loadcert.ini. Последният се грижи за осигуряване на персистентност, промени в регистъра, заобикаляне на контрола на потребителските профили (UAC bypass), инжектиране в процеси, инсталиране на драйвери и зареждане на крайния имплант cert.ini, отговорен за C2 комуникациите и функциите на задната вратичка.

Зловредният код от втория етап създава запис в системния регистър за автоматично стартиране (AutoRun), наименуван goopdate, и може да инсталира Windows услуга с име media_updaten. Той също така прилага техника за създаване на процеси въз основа на отдалечено извикване на процедури (RPC), комбинирана с фалшифициране на идентификатора на родителския процес (PPID spoofing), за да се рестартира с повишени привилегии, преди да инжектира зловреден код в процес с име synchost.exe.

Подписаният драйвер msagent.sys добавя прикритост на ниво ядро

Когато необходимите привилегии са налични, loadcert.ini извлича вграден LZMA-компресиран драйвер за ядрото, записва го на диска като msagent.sys и създава и стартира услуга за драйвера с име msagent.

Kaspersky посочва, че драйверът е цифрово подписан със сертификат, издаден на Nanjing Ranyi Technology Co., Ltd., който е бил валиден от август 2013 г. до септември 2014 г.

Компанията за сигурност заяви, че е идентифицирала няколко по-стари зловредни драйвера, подписани със същия сертификат и компилирани около 2013 г., въпреки че не са намерени преки доказателства, свързващи тези образци с активността на CoolClient.

След като се зареди, драйверът получава конфигурация от потребителския компонент на CoolClient чрез IOCTL заявки. Трите заявки, използвани от анализирания образец по време на нормално изпълнение, са:

  • 0x222120 – регистрира текущия процес на CoolClient като доверен процес пред драйвера.
  • 0x2221E0 – предава конфигурирания C2 IPv4 адрес на драйвера.
  • 0x2220F0 – регистрира пътищата във файловата система и системния регистър, които трябва да бъдат защитени.

Първата заявка позволява на регистрирания процес на CoolClient достъп до защитени файлове, ключове в регистъра и процеси, докато третата регистрира неговата директория за инсталация и пътя в регистъра на услугата, така че тези обекти да бъдат защитени от проверка, промяна и изтриване.

Rootkit софтуерът зарежда своята конфигурация за маскиране от \REGISTRY\MACHINE\SYSTEM\RNG и използва отделни конфигурационни записи за директории, файлове, ключове и стойности в регистъра, както и процеси, които трябва да бъдат скрити, защитени или пренебрегнати.

Той регистрира функции за обратна връзка (callbacks) за файловата система, регистъра, процесите, обектите и зареждането на изображения, които използват тези записи при обработка на активността в инфектираната Windows система.

За защита на процесите драйверът може да намали предоставените права за достъп, когато друг процес се опита да отвори дескриптор (handle) към защитен процес, предотвратявайки операции като прекратяване на процеса и инжектиране на код. В анализирания образец Kaspersky отбелязва, че защитеният процес съдържа код на CoolClient, инжектиран в synchost.exe.