Лаборатория Seqrite обнаружила целенаправленную кампанию под кодовым названием Operation Silk Lure, в рамках которой киберпреступники атакуют китайских специалистов через фишинговые письма с поддельными резюме. Особенностью атаки стало использование заданий планировщика Windows для обеспечения устойчивости вредоносной программы и техники подгрузки DLL для скрытного выполнения кода.
Описание
Кампания ориентирована на китайских граждан, ищущих работу в сфере финансовых технологий, криптовалютных бирж и торговых платформ, особенно на инженерные и технические должности. Злоумышленники рассылают целевые письма, выдавая себя за соискателей, и направляют их в отделы кадров и технические подразделения китайских компаний.
В письмах содержатся вредоносные файлы формата LNK (ярлыки Windows), замаскированные под резюме или портфолио. При выполнении эти файлы действуют как дропперы, инициируя выполнение полезной нагрузки для первоначального compromise (компрометации) системы. В рамках кампании используется фиктивное резюме на китайском языке для Ли Ханьбина, старшего инженера по бэкенду и блокчейну, что повышает достоверность атаки.
При детальном анализе кампании было установлено, что развернутое вредоносное ПО обеспечивает устойчивое присутствие в compromise (скомпрометированной) системе и выполняет различные разведывательные операции. Эти операции включают захват снимков экрана, сбор содержимого буфера обмена и извлечение критических метаданных системы. Собранные данные скрытно передаются на удаленный сервер управления и контроля (Command and Control, C2), находящийся под контролем злоумышленников. Эта извлеченная информация значительно повышает риски продвинутой киберразведки, кражи личных данных и компрометации учетных данных, создавая серьезную угрозу как для организационной инфраструктуры, так и для конфиденциальности отдельных лиц.
Технический анализ выявил сложную цепочку заражения. Вначале LNK-файл содержит более 260 символов, соответствующих полезной нагрузке командной строки PowerShell. Команда ссылается на путь к целевому файлу, что указывает на то, что LNK действует как вектор выполнения для последующего этапа на основе PowerShell. Образец подключается к pan.tenire.com и загружает дополнительные артефакты, включая документ-приманку с резюме, keytool.exe, CreateHiddenTask.vbs и jli.dll.
При выполнении образца LNK в защищенной среде он загружает полезную нагрузку второго этапа в C:\Users\<пользователь>\AppData\Roaming\Security и запускает ее. Кроме того, вредоносное ПО развертывает задание планировщика через скрипт CreateHiddenTask.vbs. Это задание предназначено для выполнения keytool.exe каждый день в 8:00 утра, обеспечивая устойчивость и регулярное выполнение вредоносной полезной нагрузки.
Скрипт VBScript создает COM-объекты, подключается к планировщику заданий и программно создает ежедневное запланированное задание с именем "Security", действие которого выполняет %APPDATA%\Security\keytool.exe. Он также устанавливает метаданные регистрации задачи, где в качестве автора указана "Microsoft Corporation" - вероятно, для маскировки под легитимного разработчика. После регистрации задачи в корневой папке скрипт VBScript удаляет сам себя, чтобы уменьшить следы в forensic (криминалистическом) анализе, эффективно обеспечивая постоянное выполнение сброшенной полезной нагрузки по расписанию.
Анализ Keytool и Jli.dll показал, что keytool.exe вызывает различные экспортируемые функции Jli.dll, такие как JLI_CmdToArgs, JLI_GetStdArgc, JLI_GetStdArgs и другие. При анализе загрузчика Jli.dll было обнаружено, что этот загрузчик тихо открывает свой собственный исполняемый файл (keytool.exe), читает определенную область, полученную из заголовков PE, и сканирует эту область в поисках определенной 8-байтовой последовательности-маркера. Как только он находит маркер, все, что следует после него, копируется в буфер и рассматривается как зашифрованная полезная нагрузка.
Функция затем создает 256-байтовую S-бокс и запускает стандартную процедуру RC4: KSA (планирование ключей), заполненное ASCII-ключом "123cba", с последующей PRGA (генерацией keystream (потока ключей)), который XOR-ит keystream (поток ключей) со скопированными байтами для получения расшифрованной полезной нагрузки. Внутри Keytool.exe находится зашифрованная полезная нагрузка shellcode (шелл-код) - то есть вредоносный код скрыт и перемешан так, чтобы статический анализ не обнаружил его немедленно.
После расшифровки шелл-кода (во время выполнения, в памяти) обнаруживается встроенный адрес сервера управления и контроля (C2): 206.119.175[.]16. После расшифровки процедура вызывает набор вспомогательных функций, которые, по-видимому, подготавливают и запускают полезную нагрузку, выполняет несколько вызовов, связанных с обслуживанием процессов, и, наконец, ожидает обработку для синхронизации выполнения. Короче говоря, это компактный самовыполняющийся загрузчик - извлечение на основе маркера + расшифровка RC4 с использованием фиксированного ключа - который помещает полезную нагрузку в память, а затем запускает ее выполнение, ожидая завершения.
Анализ полезной нагрузки второго этапа (ValleyRAT) показал, что второй файл полезной нагрузки содержит код ValleyRAT. Он выполняет снятие цифровых отпечатков системы, собирая информацию о CPU (центральном процессоре), имени пользователя, разрешении экрана, номере порта, времени работы, деталях NIC (сетевого интерфейса), MAC-адресе, локали, проверке на виртуальную машину, значениях реестра и других идентификаторах.
ValleyRAT проверяет виртуализацию, ища процессы VirtualBox/VMware или ключ реестра VMware. Для обхода антивируса он использует COM/WMI для запроса ROOT\SecurityCenter2 к AntiVirusProduct, выполняет SELECT * FROM AntiVirusProduct, извлекает каждое displayName, а затем преобразует/нормализует результаты. После этого он вызывает функцию для поиска и удаления обнаруженных продуктов антивируса.
Функция обрыва сетевых соединений антивируса неоднократно запрашивает таблицу TCP-соединений системы, используя динамически разрешаемые API. Она идентифицирует процессы, связанные с "360Safe", "kingsoft" или "Huorong", проверяя путь к владеющему процессу. При обнаружении совпадения она принудительно завершает их TCP-соединения, устанавливая состояние в DELETE_TCB. В целом, это процедура против антивируса, предназначенная для нарушения сетевой активности программ безопасности.
ValleyRAT способен захватывать визуальную активность пользователя и доставлять/устанавливать плагины или другие вредоносные полезные нагрузки на машину жертвы. Он также обладает возможностями кейлоггинга (перехвата нажатий клавиш), подготавливая среду ведения журнала путем создания специального каталога и файла журнала под ProgramData, выполняя простую ротацию журналов, если файл становится слишком большим, и инициализируя устройство клавиатуры DirectInput для захвата нажатий клавиш с моделью буферизованного ввода. Он также записывает состояние Caps Lock при запуске для обеспечения точной интерпретации клавиш.
ValleyRAT имеет процедуру обследования системного окружения, которая собирает информацию о хосте путем опроса ключей реестра, параметров безопасности, путей к файлам и пользовательских handles (дескрипторов) драйверов. Он устанавливает серию флагов функций, указывающих на такие вещи, как режим UAC, наличие антивируса/драйвера, переключатели кейлоггера/буфера обмена/снимка экрана и статус мьютекса с одним экземпляром. Это помогает вредоносному ПО решить, какие функции включать, какие защиты существуют и запущено ли оно уже.
Анализ инфраструктуры C2 показал, что она размещена у SONDERCLOUDLIMITED. Кроме того, несколько связанных доменов разрешаются в IP-адреса, находящиеся в Гонконге. Все идентифицированные домены используют TLD .work и активно используются злоумышленниками. Помимо домена pan.tenire.com, используемого для доставки приманки с резюме и вредоносных полезных нагрузок, был идентифицирован более широкий кластер инфраструктуры на 206.119.175.162. Более 20+ родственных доменов указывали на тот же IP-адрес. Последовательное соглашение об именах и использование TLD .work strongly suggest (сильно предполагают), что они предназначались для имитации job portals (порталов по трудоустройству) или рабочих приложений, что хорошо сочетается с тематикой приманки в виде резюме. Это указывает на преднамеренные усилия по созданию тематического, устойчивого набора инфраструктуры, поддерживающего Operation Silk Lure.
Название кампании Operation Silk Lure было дано потому, что "Silk" означает связь с Китаем, а "Lure" - это приманка в виде резюме, используемая для заманивания жертв. Каждый элемент названия напрямую соответствует наблюдаемым, подтвержденным доказательствами тактикам, методам и процедурам. Это название намеренно описательное и не спекулятивное - каждый компонент соответствует наблюдаемому артефакту или поведению - и поэтому оно немедленно пригодно для действий защитников, осуществляющих поиск DNS-запросов к pan.tenire.com, командных строк PowerShell с параметрами -NoP -ep Bypass, артефактов в %APPDATA%\Security\, запланированного задания Security и аномальных событий ImageLoad, связанных с keytool.exe.
Индикаторы компрометации
IPv4
- 206.119.175.162
Domains
- app.jiangsuzhaochu.work
- app.maitangou.work
- app.owps.work
- app.rongxingu.work
- app.xinrendu.work
- pan.tenire.com
MD5
- 3ca440a3f4800090ee691e037a9ce501
- 6ea9555f1874d13246726579263161e8
- 83b341a1caab40ad1e7adb9fb4a8b911
- e94e7b953e67cc7f080b83d3a1cdcb1f
- f5b9ad341ccfe06352b8818b90b2413e