Учимся восстанавливать импорты 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
🔥15👍9❤5
Повторите, плохо видно 😳
Недавно группа киберразведки PT ESC обнаружила пример многоступенчатой фишинговой атаки, в которой хакеры сначала пытались завоевать доверие жертвы, а затем заставить запустить полезную нагрузку.
Следите за руками👐
1️⃣ В конце октября нам попалось письмо, отправленное от имени управления ФСТЭК по СЗФО (скриншот 1).
Во вложении находился скан информационного письма ФСТЭК «О продлении срока действия уровня опасности». Вредоносного содержимого и каких-либо ссылок в нем не было, сам PDF-файл не являлся опасным. А вот качество скана документа оставляло желать лучшего и для визуального ознакомления с требованиями точно не подходило (скриншот 2).
Для отправки письма использовался домен
2️⃣ Отложив находку с
Этот исполняемый файл запускает сервер
Скорее всего, злоумышленники используют многоступенчатую технику социальной инженерии: сначала присылают безопасный и трудночитаемый документ, побуждая жертву завязать с ними диалог. А получив кредит доверия, отправляют ей полезную нагрузку.
🤔 Тактики, техники и процедуры этой атаки схожи с теми, что использует группировка PseudoGamaredon (Core Werewolf), но подтверждение требует дальнейших наблюдений.
IOCs
#TI #phishing #ioc
@ptescalator
Недавно группа киберразведки PT ESC обнаружила пример многоступенчатой фишинговой атаки, в которой хакеры сначала пытались завоевать доверие жертвы, а затем заставить запустить полезную нагрузку.
Следите за руками
1️⃣ В конце октября нам попалось письмо, отправленное от имени управления ФСТЭК по СЗФО (скриншот 1).
Во вложении находился скан информационного письма ФСТЭК «О продлении срока действия уровня опасности». Вредоносного содержимого и каких-либо ссылок в нем не было, сам PDF-файл не являлся опасным. А вот качество скана документа оставляло желать лучшего и для визуального ознакомления с требованиями точно не подходило (скриншот 2).
Для отправки письма использовался домен
fstec.info, который не является официальным доменом ФСТЭК и зарегистрирован 16 октября 2024 года.2️⃣ Отложив находку с
fstec.info в бэклог для тщательного анализа, через несколько дней мы обнаружили более качественный скан того же документа (скриншот 3), который при ближайшем рассмотрении оказался исполняемым файлом с иконкой PDF.Этот исполняемый файл запускает сервер
UltraVNC с коннектом к узлу toproducts.ru:80, в результате чего создается сессия удаленного управления, к которой может подключится злоумышленник. А для отвлечения внимания запускается тот самый легитимный документ, но уже в улучшенном качестве (скриншот 3).Скорее всего, злоумышленники используют многоступенчатую технику социальной инженерии: сначала присылают безопасный и трудночитаемый документ, побуждая жертву завязать с ними диалог. А получив кредит доверия, отправляют ей полезную нагрузку.
🤔 Тактики, техники и процедуры этой атаки схожи с теми, что использует группировка PseudoGamaredon (Core Werewolf), но подтверждение требует дальнейших наблюдений.
IOCs
Sender:
szfo@fstec.info
Scan.pdf
3b6010acae660c9455154b9b847c5b12
0f37bf48736fa806112d0413f42840bbdb75e378
d4878ba0cad42eb7ec012b9f71faa49e0ef2ac48665dbaaec627b603639fc2e7
исх 1-2090 от 15-10-2024_О продлении.exe
e77ab4faa8632a184a1d9e6ea9e6459d
65a538ee9f0e59495281661ee4c68dd08f339d5f
66a3a8cab5d3a88fb1e854f69178b9468cfa4ec49d1b6ba3d4f6d190e57c85a5
Domains:
toproducts.ru:80
fstec.info
#TI #phishing #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍15🙈6❤3👾3👏1😁1
Сколько дней вы пили на этой неделе? 😧
Anonymous Poll
14%
Только начал ✌️
16%
Весь SOC FORUM 🍺
4%
2/2 🕺
6%
5/7 🤗
9%
Восемь 🆘
3%
rotalaCSE 🤟
19%
Смотрю в SIEM, не травите душу 😢
29%
Бросил, больше не могу 🤷♂️
😁12👍6🔥4👏3❤1
Ngrok. Находим и разбираемся 🔍
В процессе расследования множества инцидентов мы неоднократно встречаем такой инструмент, как ngrok. Это удобный легитимный инструмент для прокидывания сетевых туннелей для администраторов.
Он стал очень популярен у злоумышленников, которые, как правило, устанавливают RDP-соединения, и мы настоятельно рекомендуем поискать ngrok у себя в инфраструктуре.
Несколько рекомендаций по поиску признаков использования ngrok на узлах:
1️⃣ Наличие файла с именем ngrok.yml или директорий
2️⃣ Наличие файла
Пример (
3️⃣ Наличие строки
4️⃣ Наличие файла планировщика заданий Windows, через который осуществляется закрепление на узле и в котором могут встречаться строки по следующим паттернам:
Пример 1 (
Пример 2 (
📌 Чтобы обнаружить признаки наличия инструмента на периметре, можно поискать узлы, взаимодействующие со следующими серверами:
#tip #detect #hacktool #dfir
@ptescalator
В процессе расследования множества инцидентов мы неоднократно встречаем такой инструмент, как ngrok. Это удобный легитимный инструмент для прокидывания сетевых туннелей для администраторов.
Он стал очень популярен у злоумышленников, которые, как правило, устанавливают RDP-соединения, и мы настоятельно рекомендуем поискать ngrok у себя в инфраструктуре.
Несколько рекомендаций по поиску признаков использования ngrok на узлах:
1️⃣ Наличие файла с именем ngrok.yml или директорий
ngrok, .ngrok2, которые, как правило, имеют следующие файловые пути:
C:\Users\<username>\.ngrok2\ngrok.yml
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\ngrok\ngrok.yml
C:\Windows\SysWOW64\config\systemprofile\.ngrok2\ngrok.yml
2️⃣ Наличие файла
*.yml, в котором встречаются строки по следующим паттернам:
'version\: \"[0-9]+\"'
'authtoken\: [a-z0-9_]{49}'
Пример (
ngrok.yml):
version: "2"
authtoken: 5U87lkcqEFeZ0sJ7Hg66aXkkrO4_K9EpjQHkJMkTg0R96pu64
3️⃣ Наличие строки
::%16777216 в качестве адреса сети источника в журналах сетевых подключений:
C:\Windows\System32\winevt\logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx
C:\Windows\System32\winevt\logs\Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx
4️⃣ Наличие файла планировщика заданий Windows, через который осуществляется закрепление на узле и в котором могут встречаться строки по следующим паттернам:
'<Arguments>tcp [0-9]+</Arguments>'
'<Arguments>tcp [^ ]+\:[0-9]+ \-\-authtoken [a-z0-9_]{49}</Arguments>'
Пример 1 (
C:\Windows\System32\Tasks\Microsoft\Windows\Microsoft\Monitor):
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
...
<Actions Context="Author">
<Exec>
<Command>C:\Windows\System32\Microsoft\1.exe</Command>
<Arguments>tcp 3389</Arguments>
</Exec>
</Actions>
</Task>
Пример 2 (
C:\Windows\System32\Tasks\updater):
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
...
<Actions Context="Author">
<Exec>
<Command>C:\ProgramData\1.exe</Command>
<Arguments>tcp poc.opi.rtyo.ru:22 --authtoken qr7pKMAgTp5nfT0HTwh21sb9VsF_FwX3xkNuQqJE7MBh0gUj8</Arguments>
<WorkingDirectory>C:\ProgramData</WorkingDirectory>
</Exec>
</Actions>
</Task>
📌 Чтобы обнаружить признаки наличия инструмента на периметре, можно поискать узлы, взаимодействующие со следующими серверами:
ngrok.com
ngrok-agent.com
ngrok.io
*.equinox.io
#tip #detect #hacktool #dfir
@ptescalator
👍23🔥11👏5
Стилерная инфекция: новый 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
🔥20👍11❤5
Уязвимость находилась в библиотеке
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👍10☃5👏5❤2🤗1
💿 Мы как-то рассказывали про использование 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 и в посте.
📝 В качестве исходного вектора в своих атаках злоумышленники традиционно используют фишинговые письма с вредоносным вложением «
Примечательно, что атакующие не изменяют себе и с 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
🔥17⚡5❤4💯2👍1😁1
Какие еще легитимные тулы по типу ngrok будут использовать хакеры в будущем? ☹️
Anonymous Poll
3%
3%
23%
calc.exe
1%
23%
ssh.exe
1%
25%
notepad.exe
11%
cloudflared
😁14🍌6😱4❤2🌭1