Forwarded from Кавычка (Impact)
#api #params #tool
Помимо брутфорса директорий, на проекте также важно находить и проверять скрытые параметры. Разработчики могли оставить функции для их обработки на сервере, но на клиентской части код удалить.
Также может возникать уязвимость Mass Assignment, где разработчик создал структуру, а злоумышленник может её заполнить, угадав названия полей с помощью перебора.
Первая это плагин для BurpSuite. Вторая — консольная утилита на Python.
Относительно недавно, появилась новая консольная утилита x8
Она написана на языке Rust, разработчиком является багхантер @sh1y0
Около 40% уязвимостей на h1 он нашёл с её использованием
К слову, багхантеры за рубежом не стесняются встраивать её в свои конвейеры для поиска уязвимостей.
На мой взгляд, данная тула наиболее эффективна, и сейчас мы разберёмся почему.
1. Arjun, в отличие от x8, имеет фиксированное значение параметров при брутфорсе (по умолчанию 500).
Это значит, что в запросе из вордлиста будут отсылаться сразу 500 параметров:
2. Ещё одним важным отличием являются функции сравнения ответов на странице.
Arjun сохраняет тело первого ответа и сравнивает с ответом нового запроса. Если есть разница — выводит сообщение о том что параметр влияет на ответ.
Естественно, проблема здесь очевидна, содержимое в ответе может быть всегда динамическим. Например, в теле ответа иногда встроен datetime.
x8 лишён данной проблемы, из-за наличия специальных тестовых запросов, которые нужны для выявления динамических строк — исключая их таким образом из поиска.
3. Arjun поддерживает методы только GET и POST, а Param Miner не умеет искать рекурсивным поиском.
Кроме того, в x8 есть гибкая настройка отправки параметров — концепция шаблонов и injection pointов, которая отсутствует в других инструментах.
Вообще, автор создал табличку, где сравнивает все три решения sh1yo.art/x8stats/
Так можно оценить эффективность работы на реальных сайтах.
Пример использования:
Помимо брутфорса директорий, на проекте также важно находить и проверять скрытые параметры. Разработчики могли оставить функции для их обработки на сервере, но на клиентской части код удалить.
Также может возникать уязвимость Mass Assignment, где разработчик создал структуру, а злоумышленник может её заполнить, угадав названия полей с помощью перебора.
public class User {
private String userid;
private String password;
private String email;
private boolean isAdmin;
}
Чтобы правильно и эффективно находить такие вещи, нам нужен подход или утилита. Самые известные вот эти две: Param Miner и ArjunПервая это плагин для BurpSuite. Вторая — консольная утилита на Python.
Относительно недавно, появилась новая консольная утилита x8
Она написана на языке Rust, разработчиком является багхантер @sh1y0
Около 40% уязвимостей на h1 он нашёл с её использованием
К слову, багхантеры за рубежом не стесняются встраивать её в свои конвейеры для поиска уязвимостей.
На мой взгляд, данная тула наиболее эффективна, и сейчас мы разберёмся почему.
1. Arjun, в отличие от x8, имеет фиксированное значение параметров при брутфорсе (по умолчанию 500).
Это значит, что в запросе из вордлиста будут отсылаться сразу 500 параметров:
/?param1=test¶m2=test&...¶m500=test
Проблема здесь заключается в том, что многие серверы будут отдавать 414 URI Too Long, либо банально игнорировать последние 200 параметров. Таким образом, даже если в вашем текстовом файле есть нужный параметр — он не будет найден.2. Ещё одним важным отличием являются функции сравнения ответов на странице.
Arjun сохраняет тело первого ответа и сравнивает с ответом нового запроса. Если есть разница — выводит сообщение о том что параметр влияет на ответ.
Естественно, проблема здесь очевидна, содержимое в ответе может быть всегда динамическим. Например, в теле ответа иногда встроен datetime.
x8 лишён данной проблемы, из-за наличия специальных тестовых запросов, которые нужны для выявления динамических строк — исключая их таким образом из поиска.
HTTP/1.1 200 OKКак видно из примера, строка которая содержит время, исключена и помечена как динамическая.
Content-Length: 18
<html>
- Time 13:36:23
<id="test">
HTTP/1.1 200 OKЗдесь x8 понимает, что параметр найден из-за изменений в теге id.
Content-Length: 37
<html>
- Time 13:37:48
+ <id="admin_param">
3. Arjun поддерживает методы только GET и POST, а Param Miner не умеет искать рекурсивным поиском.
Кроме того, в x8 есть гибкая настройка отправки параметров — концепция шаблонов и injection pointов, которая отсутствует в других инструментах.
Вообще, автор создал табличку, где сравнивает все три решения sh1yo.art/x8stats/
Так можно оценить эффективность работы на реальных сайтах.
Пример использования:
x8 -u "https://example.com/" -w <wordlist>👍18🔥4🕊1
PDUG.pdf
2 MB
Презентация с конференции PDUG (Positive Development User Group)
Будет интересна тем, кто занимается мобильной безопасностью.
Будет интересна тем, кто занимается мобильной безопасностью.
🔥16👍5🌭2
Интервью в прямом эфире! 25 января
Скоро у нас состоится разговор с @sh1y0 — багхантером и разработчиком x8
О чём будет разговор:
• О брутфорсе параметров.
• О подходе к багхантингу: Автоматизация vs Ручной поиск
• Почему гость решил писать утилиты на rust?
• Как работает x8?
• Какая у него мотивация к ИБ?
• Нужно ли работать на дядю?
Подключайтесь: 18:00 25.01.2023
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥15🥰1
В январе 2023 мне удалось поучаствовать в качестве Багхантера на пилотном выпуске подкаста проводимого #Kaspersky. Несмотря на то, что ребята не определились с тем как будут называться ОБИБЭ или Бинарный Боярышник... ну или еще какой-то вариант, вышло весело, лампово и очень по-дружески. Надеюсь данный пилот положит начало хорошему циклу видео и будет полезен для сообщества.
youtu.be/Z6ioEbaYOdM
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как заработать на #BugBounty компаниям и исследователям | Подкаст ОБИБЭ, выпуск №1
Начинаем новый видеокаст о практической B2B кибербезопасности или, короче говоря, Подкаст ОБИБЭ. В первом выпуске говорим про Bug Bounty программы — что они дают компаниям и багхантерам.
Аудиоверсия на всех подкаст-платформах:
https://podcast.ru/e/3XECMEW1Dp6…
Аудиоверсия на всех подкаст-платформах:
https://podcast.ru/e/3XECMEW1Dp6…
🔥16❤🔥3👍2🤔1🌭1💯1
Многие начинающие багхантеры, смотрят на профили других и на их репутацию. Приходят в недоумение: — Как они нашли баги, я неделями мучаюсь, запускаю acunetix, nuclei и ничего не нахожу.
На самом деле, чтобы найти баги достаточно простого... ротирования Proxy на каждый запрос, например используя mubeng (ip rotator) и закупившись пачкой Socks v5 ваш Acunetix начнёт приносить bounty.
Более того, в зависимости от ip который вам выпадет, можно найти уязвимости, которые не смог найти Acunetix конкурентов баг хантеров. Ведь WAF может блокировать запросы от определённых регионов, а сайт может выдавать другие страницы.
Для достижения лучших практик — также потребуется поменять подход к сканированию, нужно не сканировать одну цель в 10 потоков, а сканировать 10 целей в 10 потоков. Во-первых вы так не нарушаете политику bug bounty программы, когда у вас отсутствует задержка в 1 секунду между запросами. А во-вторых вы дополнительно избавитесь от угрозы блокировки вашей сессии со стороны приложения или WAF. Здесь можно взглянуть на плагин distribute-damage
💴 Из опыта, запуская несколько инстансов с Acunetix на большое количество таргетов можно уже "лутать" 2-3 xss и получать ~800$ в месяц.
В заключении хочу отметить, что сканирование сильно привязано к аномалиям, поэтому вам нужно сканировать одну цель несколько раз. Ваша автоматизация должна превратиться в продуманный pipeline с расписанием.
На самом деле, чтобы найти баги достаточно простого... ротирования Proxy на каждый запрос, например используя mubeng (ip rotator) и закупившись пачкой Socks v5 ваш Acunetix начнёт приносить bounty.
Более того, в зависимости от ip который вам выпадет, можно найти уязвимости, которые не смог найти Acunetix конкурентов баг хантеров. Ведь WAF может блокировать запросы от определённых регионов, а сайт может выдавать другие страницы.
Для достижения лучших практик — также потребуется поменять подход к сканированию, нужно не сканировать одну цель в 10 потоков, а сканировать 10 целей в 10 потоков. Во-первых вы так не нарушаете политику bug bounty программы, когда у вас отсутствует задержка в 1 секунду между запросами. А во-вторых вы дополнительно избавитесь от угрозы блокировки вашей сессии со стороны приложения или WAF. Здесь можно взглянуть на плагин distribute-damage
💴 Из опыта, запуская несколько инстансов с Acunetix на большое количество таргетов можно уже "лутать" 2-3 xss и получать ~800$ в месяц.
В заключении хочу отметить, что сканирование сильно привязано к аномалиям, поэтому вам нужно сканировать одну цель несколько раз. Ваша автоматизация должна превратиться в продуманный pipeline с расписанием.
GitHub
GitHub - mubeng/mubeng: An incredibly fast proxy checker & IP rotator with ease.
An incredibly fast proxy checker & IP rotator with ease. - mubeng/mubeng
🔥21👍11🥰2❤1
Прислушайтесь к себе, послушайте своё дыхание, тяжело ли вашим лёгким? Сосуды и артерии, спазмированы и изношены? Полгода мне удавалось не курить, но затем снова начал.
Если есть в кармане пачка сигарет, Значит все не так уж плохо на сегодняшний день.
Cегодня мне придётся прекратить курить, ведь не зря же делал данный пост. Да и коллеги будут смеяться, что я не умею держать обещания. Дорогие подписчики дело конечно ваше, но призываю вас тоже задуматься, так ли вам нужны эти... сигареты.
#бросаем_курить
Если есть в кармане пачка сигарет, Значит все не так уж плохо на сегодняшний день.
Cегодня мне придётся прекратить курить, ведь не зря же делал данный пост. Да и коллеги будут смеяться, что я не умею держать обещания. Дорогие подписчики дело конечно ваше, но призываю вас тоже задуматься, так ли вам нужны эти... сигареты.
#бросаем_курить
👍38❤8🌚4🔥3💯2❤🔥1🥰1😁1🌭1
Forwarded from pwned
Patch Diffing
Это метод, используемый исследователями безопасности для анализа изменений между различными версиями программного обеспечения. Сравнивая код двух версий одного и того же программного обеспечения, исследователь может выявить изменения в функциях, переменных и потоке управления.
Обычно для анализа берется 2 версии одного ПО - уязвимая версия и версия с исправлениями, с целью поиска изменений, внесенных в программу, которые, возможно, были внесены для устранения уязвимости. Анализируя эти изменения, исследователь может определить точное местоположение и тип уязвимости, что в результате поможет сделать PoC.
Существует целый гайд, включающий в себя полный цикл исследования уязвимости на примере уязвимостей в сервисе Windows -
Если для большей части систем нам подойдет IDA Pro + BinDiff, то как обстоят дела с Android? Пустившись в поиски хорошего инструмента, наткнулся на кучу научных и не очень работ от 中国同事, в которых рассказывается о данной проблеме и попытках ее решения, но ни в одной работе результатом не стал готовый инструмент с открытым исходным кодом. Вследствие чего,пора пилить свой, решил взглянуть на обычные code-diff инструменты. Взгляд упал на Gumtree. На вход требуется подать вывод от
Для анализа нужно получить несколько версий приложения. С этой задачей поможет справиться apkeep, чтобы указать определенную версию используется следующий синтаксис
#windows #android
Это метод, используемый исследователями безопасности для анализа изменений между различными версиями программного обеспечения. Сравнивая код двух версий одного и того же программного обеспечения, исследователь может выявить изменения в функциях, переменных и потоке управления.
Обычно для анализа берется 2 версии одного ПО - уязвимая версия и версия с исправлениями, с целью поиска изменений, внесенных в программу, которые, возможно, были внесены для устранения уязвимости. Анализируя эти изменения, исследователь может определить точное местоположение и тип уязвимости, что в результате поможет сделать PoC.
Существует целый гайд, включающий в себя полный цикл исследования уязвимости на примере уязвимостей в сервисе Windows -
Print Spooler. Помимо этого, многоуважаемый Никита Aligner проводит стримы, на которых занимается анализом уязвимостей. Записи можно найти на канале Reverse Dungeon.Если для большей части систем нам подойдет IDA Pro + BinDiff, то как обстоят дела с Android? Пустившись в поиски хорошего инструмента, наткнулся на кучу научных и не очень работ от 中国同事, в которых рассказывается о данной проблеме и попытках ее решения, но ни в одной работе результатом не стал готовый инструмент с открытым исходным кодом. Вследствие чего,
apktool d, а результатом анализа будет красивый вывод в нескольких форматах об удаленных, добавленных, измененных файлах и измененном коде.Для анализа нужно получить несколько версий приложения. С этой задачей поможет справиться apkeep, чтобы указать определенную версию используется следующий синтаксис
com.app.android@1.3.7. Помимо этого, у меня есть форк данного инструмента, который немного расширяет функционал, например, использовав флаг --all, можно выгрузить все доступные версии через apkpure, а с флагом --extract результатом являются готовые для анализа директории распакованных APK.#windows #android
❤19👍5
Недавно выпустили плагин BurpSuite, который использует технологии искусственного интеллекта. И нет, это не шутка.
Плагин генерирует имена для директорий, параметров и возможных файлов на основе запросов. Для генерации BruteForce листа используется OpenAI. Насколько это эффективно предстоит ещё проверить, но в целом — когда идей больше нет, можно обратиться к ней, чтобы получить "креатива".
На скрине показан пример как нейросеть может описать параметры, для отдельно взятого запроса и результат получается довольно достойным.
github.com/hisxo/ReconAIzer
Плагин генерирует имена для директорий, параметров и возможных файлов на основе запросов. Для генерации BruteForce листа используется OpenAI. Насколько это эффективно предстоит ещё проверить, но в целом — когда идей больше нет, можно обратиться к ней, чтобы получить "креатива".
На скрине показан пример как нейросеть может описать параметры, для отдельно взятого запроса и результат получается довольно достойным.
github.com/hisxo/ReconAIzer
🔥27👍5❤3
Два месяца назад меня пригласили на закрытое багбаунти мероприятие Standoff Hacks. Об этом мероприятии сейчас расскажу подробнее.
Скоуп
Для мероприятия были успешно приглашены две программы от двух компаний:🌐 VK и 🛒 Wildberries.
1. VK HR TEK — сервис для HR, состоящий из нескольких доменов, не очень большая цель. Она доступна публично здесь bb.standoff365.com/programs/hrtek_vk
Но VK дал специальные учётки с ролью Админ, что позволило проверить все конечные точки на уязвимости. Минусом было то, что если вы хотите получить учётки, то вам нужны реальные паспортные данные. Некоторых людей демотивировало проверять данный сервис, учитывая, что вторая цель была больше и не требовала паспортных данных.
2. Wildberries — маркетплейс различных товаров, состоял из двух wildcard включая *.wb.ru , *.wildberries.ru
Идеальный скоуп для охотников в формате ивента, для вас будет сюрпризом наверное, но у компании есть мобильные приложения такие как WB Job, WB Travel, WB Stream (свой Zoom - stream.wb.ru)
Контингент
Всего в мероприятии участвовало 50 человек.
35 охотников (AppSec специалисты, FullTime багхантеры, Разработчики). 5 — организаторов от Standoff (скорее всего больше).
9+ человек от компаний WB и VK.
Мотивация
Изначально я был скептически настроен, на то что хакеры будут активно искать уязвимости во время ивента. Но большинство людей действительно самоорганизовались, некоторые взяли отпуск, кто-то сидел все выходные. Видимо, спортивное настроение и отличный скоуп воодушевил всех.
Также в конце мероприятия был оффлайн день, где арендовали помещение и наготовили "хакерам" еды, многие действительно приехали в этот день из разных городов.
Уязвимостей нашли столько, что обработка отчётов продолжалась непрерывно, даже в последний день. Компании получили, что они желали — большое количество репортов, причём довольно качественных, так как выборка "Хакеров" была довольно достойной.
Уязвимости
Поскольку регистрация на VK HR TEK была проблематичной, а основные сервисы Wildberries наверняка уже проверил кто-то ещё. Я начал искать интересные конечные точки в JS-файлах и мобильных приложениях.
Мне удалось найти конечную точку для администраторов в мобильном приложении WB Курьеры, которая была доступна всем курьерам в системе
В дальнейшем похожие уязвимости в том числе с Различным уровнем серьёзности были найдены в приложении для Водителей и на веб-сайтах. Всё потому что многие интересные конечные точки не были ограничены разрешениями.
Были также найдены уязвимости типа XSS и SQL Injection.
Заключение
Формат мероприятия оказался крутым, Багхантеры получили приватный нетронутый Скоуп, познакомились вживую, организовались в команды, а программы проверили Защищённость своих приложений и процессов AppSec.
Думаю в скором времени мы увидим больше подобных ивентов, и не только от Standoff.
Скоуп
Для мероприятия были успешно приглашены две программы от двух компаний:
1. VK HR TEK — сервис для HR, состоящий из нескольких доменов, не очень большая цель. Она доступна публично здесь bb.standoff365.com/programs/hrtek_vk
Но VK дал специальные учётки с ролью Админ, что позволило проверить все конечные точки на уязвимости. Минусом было то, что если вы хотите получить учётки, то вам нужны реальные паспортные данные. Некоторых людей демотивировало проверять данный сервис, учитывая, что вторая цель была больше и не требовала паспортных данных.
2. Wildberries — маркетплейс различных товаров, состоял из двух wildcard включая *.wb.ru , *.wildberries.ru
Идеальный скоуп для охотников в формате ивента, для вас будет сюрпризом наверное, но у компании есть мобильные приложения такие как WB Job, WB Travel, WB Stream (свой Zoom - stream.wb.ru)
Контингент
Всего в мероприятии участвовало 50 человек.
35 охотников (AppSec специалисты, FullTime багхантеры, Разработчики). 5 — организаторов от Standoff (скорее всего больше).
9+ человек от компаний WB и VK.
Мотивация
Изначально я был скептически настроен, на то что хакеры будут активно искать уязвимости во время ивента. Но большинство людей действительно самоорганизовались, некоторые взяли отпуск, кто-то сидел все выходные. Видимо, спортивное настроение и отличный скоуп воодушевил всех.
Также в конце мероприятия был оффлайн день, где арендовали помещение и наготовили "хакерам" еды, многие действительно приехали в этот день из разных городов.
Уязвимостей нашли столько, что обработка отчётов продолжалась непрерывно, даже в последний день. Компании получили, что они желали — большое количество репортов, причём довольно качественных, так как выборка "Хакеров" была довольно достойной.
Уязвимости
Поскольку регистрация на VK HR TEK была проблематичной, а основные сервисы Wildberries наверняка уже проверил кто-то ещё. Я начал искать интересные конечные точки в JS-файлах и мобильных приложениях.
Мне удалось найти конечную точку для администраторов в мобильном приложении WB Курьеры, которая была доступна всем курьерам в системе
x-courier-api.wildberries.ru/api/v1/admin/courier/reviews?wb_courier_id=<id любого курьера>
Данная конечная точка уязвима к IDOR поскольку wb_courier_id принимает обычное целочисленное значение, которое легко перебирается. В дальнейшем похожие уязвимости в том числе с Различным уровнем серьёзности были найдены в приложении для Водителей и на веб-сайтах. Всё потому что многие интересные конечные точки не были ограничены разрешениями.
Были также найдены уязвимости типа XSS и SQL Injection.
Заключение
Формат мероприятия оказался крутым, Багхантеры получили приватный нетронутый Скоуп, познакомились вживую, организовались в команды, а программы проверили Защищённость своих приложений и процессов AppSec.
Думаю в скором времени мы увидим больше подобных ивентов, и не только от Standoff.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍13🥴5❤4🌭2👎1
Что сдать на ББ чтобы не отправили в спам
Недавно меня пригласили поговорить по мужски за Багбаунти и уязвимости в мобильных приложениях, в целом вышло познавательно
ИБ: @OxFi5t @luigivampa92 @impact_l Разработчик: @osipxd
P.S. первые 5 минут были проблемы со связью
youtube.com/live/DAHdYrSIhp8
Недавно меня пригласили поговорить по мужски за Багбаунти и уязвимости в мобильных приложениях, в целом вышло познавательно
ИБ: @OxFi5t @luigivampa92 @impact_l Разработчик: @osipxd
P.S. первые 5 минут были проблемы со связью
youtube.com/live/DAHdYrSIhp8
YouTube
Что сдать на ББ чтобы не отправили в спам 😎
Внезапная, общеобразовательная активность на канале!
Цель - покрыть вот эти топики:
- какие вообще бывают уязвимости
- что можно считать валидной уязвимостью, а что нет
- как повышать импакт от пустяковых с виду уязвимостей
- почему некоторые вендоры так…
Цель - покрыть вот эти топики:
- какие вообще бывают уязвимости
- что можно считать валидной уязвимостью, а что нет
- как повышать импакт от пустяковых с виду уязвимостей
- почему некоторые вендоры так…
🔥12❤2👍2
swagger.txt
1.3 KB
Для того чтобы найти дополнительные директории в веб-приложении.
1. Можно попытаться найти swagger-файлы, используя брутфорс
💬 Прикреплён словарь в файле swagger.txt
2. Извлечь их из apk
💬 Используем jadx или apktool + grep скачиваем, используя загрузчики
— чем больше тем лучше из-за DMCA:
apkcombo.com/downloader/
apk.support/apk-downloader
apps.evozi.com/apk-downloader/
apkmirror.com
apkpure.com
apkeep
3. Поискать в js на сайте
jsluice
linkfinder (BApp)
4. Извлечь из архива
web.archive.org/cdx/search/cdx?url=evil.com*
gau
5. Открыть WebArchive и поискать в js
web.archive.org/web/20170102091031js_/https://hackerone.com/assets/frontend.09051386.js
1. Можно попытаться найти swagger-файлы, используя брутфорс
💬 Прикреплён словарь в файле swagger.txt
2. Извлечь их из apk
💬 Используем jadx или apktool + grep скачиваем, используя загрузчики
— чем больше тем лучше из-за DMCA:
apkcombo.com/downloader/
apk.support/apk-downloader
apps.evozi.com/apk-downloader/
apkmirror.com
apkpure.com
apkeep
3. Поискать в js на сайте
jsluice
linkfinder (BApp)
4. Извлечь из архива
web.archive.org/cdx/search/cdx?url=evil.com*
gau
5. Открыть WebArchive и поискать в js
web.archive.org/web/20170102091031js_/https://hackerone.com/assets/frontend.09051386.js
🔥24👍10❤🔥2❤1