На прошлой неделе я решил испытать возможности iScan.today, так как видел о нем много положительных отзывов.

Как только мне прислали ответ, я сразу начал тестировать свои цели.

Скоро я получил уведомление в Telegram о том, что iScan.today нашёл GitHub токен.
Токен раскрывался в эндпоинте: scripts/reports/license-term-validation.sh.

Из любопытства, я проверил токен с помощью secrets.ninja — он был активен. У меня появились сомнения, так как токен находился внутри лицензионного скрипта — может, это не что-то серьёзное? Я мог использовать его только для запросов к публичным репозиториям через Postman.
Но потом, во мне проснулись хакерские инстинкты.
Я запустил:
curl https://api.github.com/orgs/ORG_NAME/repos
Я начал задумываться — что злоумышленник мог бы с этим сделать?
Я открыл ChatGPT и попросил совет. ChatGPT предложил мне проверить права доступа, связанные с этим токеном.
Права доступа просто поразили меня:
admin:enterprise
admin:gpg_key
admin:org
admin:org_hook
admin:public_key
admin:repo_hook
delete:packages
delete_repo
gist
notifications
repo
user
workflow
write:discussion
write:packages
Слишком избыточные права доступа.
На этом этапе я мог бы сразу сообщить об этом, но:
Я хотел добиться максимального эффекта, никому не навредив.
Я знал, что некоторые программы понижают приоритет, если не показать реальной эксплуатации.
Повышение привилегий
Я продолжил тестирование:
GET https://api.github.com/user/repos?visibility=private
В ответ я получил два приватных репозитория.

Я попытался их клонировать, но Git спросил у меня имя пользователя и пароль.
Тогда я вернулся на GitHub, нашёл имя закоммитившего файл пользователя, затем использовал это имя и токен для аутентификации.
Я успешно клонировал приватный репозиторий. К этому моменту всё стало ясно — доступ получен.

Я быстро подготовил отчёт и отправил его в приватную программу BBP (по приглашениям). К удивлению, его ошибочно закрыли как "Невоспроизводимо" из-за этого сообщения:

Я отправил запрос. Они снова открыли отчёт и порекомендовали подать его через их VDP-программу вместо этой.
Я отправил его в VDP. Вскоре отчёт рассмотрели, присвоили уровень P1 и приняли!
Это мой первый P1 на Bugcrowd! Проблема теперь закрыта.

Ключевые моменты
— Когда находишь токен, но не знаешь, какой у него эффект — спроси ChatGPT или любого AI-ассистента. Пусть он ускоряет твою работу, а не заменяет тебя.
— Всегда думай о том, как продемонстрировать уязвимость максимально безопасно и эффективно.
— Инструменты, вроде iScan.today — меняют правила игры, очень рекомендую попробовать!
Ещё больше познавательного контента в Telegram-канале — Life-Hack - Хакер