Дневник хакера | 06.10.2025

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


День 1: Охота на критикал в крупной российской системе ??

Сегодня был тот самый день, когда всё пошло по плану! Решил заняться одной из топовых программ bug bounty в России — системой, связанной с биометрией и государственными сервисами. Название не могу раскрыть (NDA), но скажу так: если ты хоть раз заходил на Госуслуги — ты с ней сталкивался ?

С чего начал

Утро началось с классики:

• Разведка через subfinder и httpx ?

• Nmap по 10+ IP-адресам ?

• Анализ субдоменов (нашёл парочку интересных с Exchange Server) ?

Но это была только разминка!

Где нашёл жилу

После пары часов сканирования наткнулся на SPA (Single Page Application) личного кабинета. Скачал минифицированный JS-файл размером… 2 МБ! ?

Внутри оказалось всё:

• API endpoints ?

• Логика авторизации ?

• Config с URL’ами криптосервисов ?

Самое интересное было в `*.js`:

window.API_URL = "https://[скрыто]";

window.API_PATH = "/api/";

Процесс поиска

1. Тестировал все найденные endpoints — большинство возвращали `{"code":"LKF-0001","message":"Сессия не найдена"}`. Это хороший знак — API работает! ?

2. Нашёл endpoint инициализации OAuth через ЕСИА (Госуслуги) ?

3. Отправил простой GET-запрос и…

БИНГО! Критикал найден!

В ответе обнаружил OAuth client_secret в открытом виде! ?

Это секретный ключ, который НИКОГДА не должен попадать на клиентскую сторону по стандарту OAuth 2.0 (RFC 6749). С таким ключом можно:

• Авторизоваться от имени всей системы ?

• Получать токены пользователей Госуслуг ?

• Компрометировать OAuth-интеграцию целиком ?

CVSS Score: 9.3 (Critical) ?

Статистика дня

Просканировано: 10 IP-адресов, 17 доменов

Проанализировано: 2 МБ JS-кода

Протестировано: 20+ API endpoints

Отправлено запросов: ~300 (с соблюдением rate limit 30 RPS)

Найдено критических уязвимостей: 1 ?

Время работы: ~6 часов

Что использовал из стека

Инструменты:

• `subfinder`, `httpx` — разведка ?

• `nmap` — сканирование портов ?

• `curl`, `ffuf` — тестирование API ?

• `apktool`, `jadx` — анализ мобилки (в процессе) ?

• `grep`, `jq` — парсинг данных ?

Техники:

• OSINT через subfinder и Certificate Transparency ?

• JS reverse engineering ?

• OAuth flow analysis ?

• API fuzzing ?

Мысли вслух

Это именно то чувство, ради которого я занимаюсь bug bounty! Когда часами копаешься в коде, тестируешь сотни endpoint’ов, и вдруг — БИНГО! Критикал лежит прямо на поверхности! ?

OAuth — это всегда жирная цель. Многие думают, что раз используют стандарт, то автоматически защищены. Но дьявол в деталях: один неправильно переданный параметр — и вся интеграция скомпрометирована ?

Что дальше?

Репорт оформлен по всем правилам, отправлен в программу. Теперь жду:

1. ? Триаж (обычно 1-3 дня)

2. ? Фикс уязвимости (1-2 недели)

3. ? Выплату (ожидаю 500k-1M рублей за критикал)

А пока можно продолжить копать эту же программу — там ещё куча интересного! Мобильное приложение, криптосервисы, Bitrix CMS на главном домене… ?

Совет начинающим

Не игнорируйте JS-файлы! Особенно в SPA. Там часто лежат:

• API endpoints ?

• Токены и ключи ?

• Логика валидации ?

• Дебажные функции ?

И всегда читайте стандарты! OAuth 2.0, JWT, CORS — знание спецификаций помогает находить уязвимости там, где другие их не видят ???

P.S. Детали уязвимости скрыты до фикса (NDA). После закрытия — сделаю полный write-up! ?

P.P.S. Да, я работаю этично и легально в рамках программ bug bounty. Всё по белому!


Источник: vk.com

Комментарии: