На прошлой неделе я решил испытать возможности 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 - Хакер

Комментарии (0)