GigaHackers
2.53K subscribers
77 photos
3 videos
10 files
72 links
Информация предоставлена исключительно в образовательных или исследовательских целях. Противоправные деяния преследуются по закону.
Авторы: @WILD_41, @Oki4_Doki и @VlaDriev
Download Telegram
Быстро расширяем скоуп за счёт Passive DNS

При проведении разведки на внешнем периметре важно быстро обнаружить доменные имена, чтобы затем провести сбор фруктов. Одним из таких методов является Passive DNS.
По сути это "телефонная книга" Интернета, где хранятся все записи о доменных именах, из которых резолвились IP.
Это позволит нам найти все доменные имена, которые были "забыты" на исследуемом нами скоупе.
На сегодняшний день есть несколько ресурсов, предоставляющих доступ к Passive DNS, которые я использую:
1. Virus Total - Имеет ограничение на 500 запросов, не так много, но для небольших подсетей подойдет. Имеет API, что позволяет легко автоматизировать поиск
2. RiskQ - 3к запросов по API в месяц без ограничений, но сейчас зарегистрироваться не получится, так как Microsoft купила платформу, поэтому, если есть возможность достать ключ, то отлично
3. RapidDNS - удобная вещь, хороший ресурс, но не имеет своего API, поэтому придется помучаться с парсингом HTML.
После получения доменных имен следует проверить их на доступность, так как очень часто из 100 доменных имен в лучшем случае будут отвечать 30.
Можно использовать следующую связку bash для быстрого чека результатов:
cat subdomain.txt | httpx -status-code -silent -proxy | anew avaliableHost.txt

В результате в интерактивном режиме вы сможете увидеть доступные сайты, а также с каким кодом ответа они возвращают ответ, что позволит наметить вектора дальнейших атак.
Кроме того, завернув в прокси запросы, вы сможете собрать в target все доступные хосты для краулинга, перебора директорий и тд.
Доброй охоты!!
Автор: @WILD_41
#WEB
👍8🔥42
[ Форма восстановления пароля как вектор атаки ]

Стоит отметить, что чаще всего описанное ниже относится к багбаунти или пентесту веба, чем к пентесту внешки.

Что же мы можем вытянуть из этой функциональности?

1️⃣ Захват аккаунта
Векторами для захвата аккаунта как правило являются:

Инъекция в заголовок Host - это достаточно старая уязвимость, но тем не менее ее до сих пор можно встретить при проведении пентеста. Чаще всего ее можно увидеть, если приложение или сервер отражают заголовок Host, переданный в HTTP-запросе, в формах и ссылках веб-приложения. Таким образом, если мы отправим запрос на восстановление пароля с подменённым Host заголовком, то есть шанс, что он отразится на итоговой ссылке на сброс пароля, которая придет на почту. При переходе по ссылке мы сможем получить токен смены пароля;

Брут id - на проектах я встречал случаи, когда URL для сброса пароля включал в себя id пользователя, при переборе которого менялся пароль у другого пользователя;

Доступность функциональности - иногда при прохождении процедуры восстановления пароля основные ручки уже могут быть вам доступны, это стоит проверить;

Слабые токены - я всегда проверяю, не являются ли токены просто хешированными названиями почты. Также стоит проверить как вообще ведется работа с токенами, то есть:
✳️ Можно ли пользоваться истекающим токеном;
✳️ Используется ли общий пул токенов - взять пул и попробовать восстановить у второй тестовой учетной записи;
✳️ Используется ли GUID в качестве токена - если да, то меняем на GUID от второй учетки;

Утечка токена через заголовок Referer - в целом тоже неплохая low бага, особенно в сочетании с open-rediect, если такая возможность есть.


2️⃣ Инъекции в структуру email-адреса - существуют также вариации, когда приложение некорректно обрабатывает название почты, что позволит нам отправить другой адрес, интерпретированный как легитимный. Через использование таких символов как {} . + - + можно поиграться с сокращениями домена @gmail = @googlemail
[email protected][email protected]
john.doe(intigriti)@example.com → [email protected]
[email protected] = [email protected] = [email protected]
[email protected] = [email protected] = [email protected]
[email protected] = [email protected]


3️⃣ Обход 2FA - после смены пароля приложение зачастую либо перенаправляет нас на страницу авторизации, либо сразу авторизует нас. Если перенаправляет сразу во внутрь приложения и не спрашивает второй фактор, то мы получаем 2FA bypass

4️⃣ Раскрытие информации (токены,id) - иногда при попытке восстановления почты, которая уже существует в системе, могут раскрываться различные идентификаторы пользователя

#WEB
🔥15👍3❤‍🔥1
PassiveReconSubdomains.pdf
2.1 MB
[ Passive Recon: Subdomains]

Всем привет!

Вчера наш коллега Иван Клоченко @iank13 выступил с докладом на тему пассивного поиска поддоменов. Посмотреть выступление можно здесь.

Ключевые моменты доклада:
💬 Что такое DNS
💬 Разница между DNS и Vhost
💬 Работа с passive DNS
💬 Популярные словари для поиска
💬 Утилиты для поиска

Будет интересно всем, кто занимается Bug Bounty и пентестами веб-приложений


#DNS #UCS #WEB #learn
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥162👍2❤‍🔥1
[Кросс-доменные запросы (CORS): защита от кражи данных в сети.]

Всем привет!

Вышел мой комментарий на тему Кросс-доменные запросы (CORS): защита от кражи данных в сети. Совместно с коллегами раскрыли все аспекты CORS:

📌 Что такое CORS и как он работает
📌 Зачем нужен механизм CORS и как он помогает избежать кражи данных
📌 Безопасное использование CORS

#WEB #publication
👍8🔥3❤‍🔥1
[ Bitrix — поговорим о наболевшем ]

Всем привет!👋

Многие неоднократно слышали о CMS Bitrix — весьма удобная система для управления сайтом. Однако сильно уязвимая из "коробки". Об эксплуатации многих нюансов и уязвимостей было не раз сказано в комьюнити этичных хакеров.

Сейчас я хочу внести свой скромный вклад и рассказать о замеченных мною недостатках и особенностях этой CMS.

Данные мелочи не раз помогали мне как на Bug Bounty, так и на проектах по внешнему пентесту.

Надеюсь, что эти маленькие нюансы в сумме смогут помочь вам и вашей команде на проектах.

Приятного чтения:)

#bitrix24 #web #bug_bounty
🔥16👍113🦄1
[Обход фильтров в SSTI в Jinja2]

Не так давно в рамках подготовки к OSWE столкнулся с необходимостью обходить фильтры SSTI, проверяющие непосредственный темплейт.
Уязвимое приложение проверяло наличие .__ в строке передаваемого темплейта, что не давало просто использовать пейлоад из HackTricks и наслаждаться RCE на уязвимой машине.
Поэтому ловите несколько способов модификации пейлоада, чтобы обойти подобные фильтры или даже WAF целиком:

🔸 Для обхода фильтра по .__ можно использовать |attr()
{{ ''|attr('__class__’)}}

🔸 Можно использовать сложение строк или закодировать
{{request|attr("__"+"class"+"__")}}
{{''['\x5f\x5fclass\x5f\x5f']}}

🔸 Также можно обратиться к атрибутам по индексу
request["__class__"]

🔸 Кроме того, можно использовать Statements для определения переменных в темплейте
{% set string = "ssti" %}

{% set class = "__class__" %}

{{ string|attr(class)}}

{% with a = config.__class__.mro()[-1].__subclasses__() %} {{ a }} {% endwith %}

🔸 Для обхода фильтра по __ можно использовать requests.args для передачи частей полезной нагрузки в параметрах запроса и |join для соединения элементов в одну строку
{{request|attr([request.args.usc*2,request.args.class,request.args.usc*2]|join)}}&class=class&usc=_

🔸 Для обхода фильтра по [] можно использовать |getlist(). Данный метод возвращает всех значения, связанные с определенным ключом в запросе
{{request|attr(request.args.getlist(request.args.l)|join)}}&l=a&a=_&a=_&a=class&a=_&a=_


🔸 В случае, если встретился фильтр по |join, можно использовать |format для форматирования строк по переданным значениями
{{request|attr(request.args.f|format(request.args.a,request.args.a,request.args.a,request.args.a))}}&f=%s%sclass%s%s&a=_


Конечно количество фильтров может быть разнообразным, но тут уже скорее встает вопрос комбинации предложенных выше методов. 👆


Для закрепления я разработал небольшой стенд 🔥. Кому будет интересно, то можете проверить знания и навыки в деле!

@GigaHack

#web #stand #SSTI #learn #OSWE
👍19🔥61👌1🦄1
[Полезный читшит для SSRF, CORS и open-redirect]

В последнее время у portswigger-а активно пополняются заметки по различным темам. Эта шпаргалка содержит полезные нагрузки для обхода проверки URL. Приведенные списки слов полезны для реализации следующих типов атак: SSRF, неправильные конфигурации CORS и open-redirect. Очень полезно, если кончились идеи, а ошибку с кодом 403 обходить надо. Также будет полезно и тем, кто только погружается историю с данными веб-уязвимостями.

https://portswigger.net/web-security/ssrf/url-validation-bypass-cheat-sheet


#web #bypass #cheet_sheet
🔥14👍3👌3🦄1
Всем привет! Сегодня выступаю на вебинаре у УЦ Маском (@mascom_uc). Расскажу о том как проводить разведку при пентесте внешнего периметра и веб-приложения и какие инструменты можно для этого использовать.

Ждём всех сегодня в 19.00 по МСК 😎
Кто ещё не записался, сделать это можно по 👉 ссылке

👉Презентация

#web #conference
🔥21👍54🦄1
[Как некорректная разработка API может привести к удалению пользователей]

Всем привет!👋
Пора снова делиться интересным профильным контентом

Летом @WILD_41 стал номинантом премии Pentest Award. Его кейс решили подробно разобрать и осветить на habr-е. ⚙️

При анализе веб-приложения была обнаружена связка уязвимостей, позволявшая удалить любого зарегистрированного пользователя из системы. Основано на реальных событиях😒

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥144👍4🦄1
[Сдача OSWE]

Всем привет! 👋

Совсем недавно совершил для себя важный шаг в своей карьере — получил сертификат OSWE. Стоит отметить, что для меня это оказалось не совсем простой историей.

Моя первая попытка не увенчалась успехом. Уже сейчас я понимаю, что причинами моего поражения были волнение и излишняя торопливость, так как тренировочные лаборатории я решал буквально за 2-3 часа на машину вместе с автоматизацией. Это дало мне ложное представление, что экзамен будет таким же.
В результате первой попытки сдачи я пару раз провалился в rabbit hole и потратил кучу времени в попытках раскрутить уязвимости, которые ни к чему не вели. Как итог — потеря настроения, сил и концентрации.
После того как доступ к машинам протух, я написал отчет из того, что смог сделать, и изложил там свои мысли, которые у меня были касаемо двух нераскрученных уязвимостей. После этого отправил отчет и стал отсыпаться. Сил и настроения не было от слова совсем.

Вторая моя попытка была уже в 2025 году. Я ворвался на пересдачу сразу после начала рабочих будней. В результате мне удалось набрать необходимое количество флагов и написать отчет. Я бы не сказал, что мне было просто, но предыдущий опыт поставил мозги "на место". Я уже не закапывался в дебри, а старался смотреть на уязвимости более шаблонно и внимательнее читать различные cheet sheet и статьи. Как итог — все получилось... Ответ я получил очень быстро, буквально через пару дней. Когда увидел, что сдал, у меня было только одно чувство — облегчение.


P.S В следующих статьях я рассмотрю ресурсы и методологию, которую использовал при подготовке

@GigaHack

#OSWE #WEB
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥32👍143👏1🦄1
[ Сдача OSWE часть 2]

Всем привет! 👋

В продолжении истории о сдаче OSWE я хочу поговорить о том, как проходила моя подготовка к экзамену.
Для начала я отметил для себя, что моя главная цель при подготовке к экзамену — это научиться разбираться в исходном коде, написанном на различных стеках и с использованием определенных паттернов. На словах это звучит просто, но на деле это оказалось довольно обширной задачей, которую не получилось бы уместить в трех месячный курс (материалы к экзамену OSWE можно купить сроком на 3 мес. или на 1 год).

В моей компании пошли ко мне на встречу, за что я ей благодарен. В итоге мне купили курс на 1 год. Это позволило мне без спешки проходить все разделы с максимальным погружением.

Процесс обучения я построил по принципу главное разобраться, не спеши. Обучение было построено на сочетании: программа OSWE + чтение ресурсов с перечнем статей для подготовки. Это позволило увеличить покрытие.

В целом главными моими талмудами были:
➡️ Агрегированный материал от Z-r0crypt
➡️ Полезный github
➡️ Материал от Hack The Box по OSWE

Количество ресурсов, что я пропылесосил конечно больше, но в целом эти 3 в качестве старта вполне хороши.
Для практики пользовался:
➡️ Список машин с HTB для OffSec-экзаменов
➡️ Гугл-документ со списком полезных машин к решению — OSWE like машины на HTB
➡️ TUDO — уязвимое приложение на PHP
➡️ Vulnerable Node — уязвимое приложение на NodeJS

Самое главная отличительная особенность OSWE — это необходимость автоматизации. Для меня это не было особой проблемой, но стряхнуть пыль с python нужно было. Единственной сложностью пожалуй было - это "распоточить" выполнение таких процессов как запуск HTTP-сервера, открытие порта для реверса.

На Github множество ресурсов, где делятся сниппетами кода из которых как из кубиков вы потенциально сможете собрать свой собственный эксплоит. Я не сторонник данного метода и вам не советую.

В итоге процесс обучения состоял из следующих шагов:

1️⃣ При чтении разделов, как только речь заходила о том, что меня как читателя вели за ручку до уязвимости (все лабораторные в методичках содержат пошаговые write-up-ы), я начинал самостоятельно искать уязвимость. Единственное, что для меня оставалось подсказкой — это ее название. Остальное же было моей задачей. С высоты прошедшего пути могу сказать, что такой подход дал свои плоды, но времени на это уходило очень много.
2️⃣ После обнаружения уязвимости и ее эксплуатации, я писал автоматизацию всего процесса в качестве тренировки.
3️⃣ Далее я решал HTB с похожими уязвимостями, чтобы закрепить пройденный материал.

Примерно из таких 3 циклически-повторяющихся шагов и состояло все мое обучение. Таким образом, я в сентябре вплотную подошел к лабораторным, которых я не делал. Я хотел сделать себе тестовый экзамен по всем канонам. Лично мне это было необходимо для того, чтобы отработать написание отчета и посмотреть сколько вообще на это необходимо времени.
Примерно из этого состояла моя подготовка. Сейчас могу сказать, что если бы я сдавал снова, то сделал примерно также.

Всем кто сдает OSWE или что-то ещё, удачи!!! Помните, что это просто экзамен 💼

P.S Я бы не рассматривал свой метод как ультимативный гайд, но надеюсь, что вы найдете для себя что-то полезное в моих словах.

@GigaHack

#OSWE #web
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍94👏1🦄1
[ Итоги Bug Bounty за Q2 2025 ]

Всем привет! 👋

Недавно подвели топ Исследователей за прошедший квартал на BI.ZONE Bug Bounty.
Мне по итогам 2-го квартала 2025 г. удалось залететь в топ-3 по количеству принятых отчетов, а также в топ-5 по начисленному рейтингу (по выплатам я далеко не в топе, но всё впереди 🔝)

Впечатления мега-приятные, результатом я более чем доволен, ведь ещё относительно недавно я делился первыми успехами тут и тут, а сейчас разделил топ с сильнейшими и именитыми хантерами платформы @bizone_bb.


Далее напишу несколько тезисов и некоторую статистику по итогам этих результатов:

➡️ Стал ли я считать себя крутым web-ером?
Скорее нет, но однозначно у меня повысилась насмотренность, я стал узнавать некоторые технические решения/используемые паттерны с полувзгляда и подбирать проверки, специфичные для конкретного стека на лету. Также в целом прокачался и выстроил некий план проверок под себя, потому что удалось пощупать веб-сервисы разных вендоров после многих крутых Исследователей, где нужно иногда мыслить шире, а не обкладываться в лоб условным dirsearch-ем и иным fuzzing-ом вслепую


➡️Теперь статистика:
Активно хантил я с 9 мая и до 26 июня, за это время сдал 22 подтвержденных репорта (1 из репортов зачелся в Q2 будучи отправленным ещё в марте). Программы 50/50 были приватными/публичными

Хантил я преимущественно черным ящиком (не использовал симку с номером тел. и практически нигде не регистрировал личный кабинет через почту). Тут могу отметить, что даже на поверхности находятся баги и весьма неплохие. Да, в среднем это low-medium находки, но свой кусочек пирога можно урвать, если внимательно исследовать и то, что лежит на поверхности функциональности до авторизации даже после десятков сданных отчетов от других багхантеров

Заметил интересный факт, о котором говорили многие хантеры независимо друг от друга: для 80% моих багов я даже не открывал Burp 😈.
Очень "прокачался" в связке DevTools Mozilla 🖼️ + Google-Dorking🔎 + curl = валидная бага 🪙. Для многих задач этого было более чем достаточно

Был приятно удивлен триажем как от самих вендоров, так и от первичного триажа @bizone_bb. Порадовала и скорость, и фактура (были информы, куда без них, но с адекватным обоснованием), за всё время только по одному репорту встретил на мой взгляд непонимание статуса info, так как буквально в соседней программе на том же стеке этой же баге был присвоен статус low/medium, и триажил это вроде бы один человек. Но меня это не напрягало, бага в любом случае была минорной.
Также было приятно быстро получать фидбэк по нескольким возникшим вопросам по работе самой платформы от Руководителя продукта, это здорово

В процессе этого хантинга наткнулся на 2-3 необычных уязвимости бизнес-логики, но словил дубликат, причем они меня не расстроили, а наоборот добавили мотивации. Их я воспринял как мысль:"О, круто, я смотрю в нужном направлении, работаем дальше".

А info отчеты я перестал воспринимать близко к сердцу — просто решил, что нужно продолжать хантить и прокачивать навыки.
Важно грамотно и лаконично описывать импакт — на мой взгляд это показывает и Ваш уровень как специалиста, так и уважение к Вендору/Триажеру, ведь всегда приятно читать понятный, структурированный и аккуратно оформленный отчет.
У меня иногда на формирование отчета уходило достаточно много времени, однако 1 раз это явно принесло свои плоды — первичный info превратился в medium, так как я предложил рассмотреть вектор под другим углом и сам докрутил багу (показал альтернативную возможность эксплуатации)

Пост получается большим, поэтому если у Вас есть вопросы по хантингу — пишите в комментариях, с удовольствием отвечу!
В будущих постах планирую рассказать больше о технике, используемых инструментах и методологии поисков багов с моей стороны. Плюсом продолжим делиться интересными кейсами, которые выстреливают на BB, оставайтесь с нами👨‍💻

@GigaHack

#web #bug_bounty
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥122