Всех приветствую!
Ещё год назад я играл в CTF и работал как SOC-аналитик L1, а сегодня в компании «Газинформсервис» занимаюсь тестированием веб-ресурсов. В свободное время багханчу, и больше слов о моих успехах скажет статистика в профиле амбассадора Standoff. На Standoff Talks я выступил с докладом об эффективном поиске уязвимостей и хочу поделиться этим опытом здесь.
Выбор программы
Выбор программы — это стратегия. Вот на что я советую обращать внимание в первую очередь.
Понимание сервиса и его бизнес-процессов. Это, на мой взгляд, самый важный пункт. Чтобы максимально качественно протестировать сервис и найти логические уязвимости, нужно глубоко понимать, как работает каждая функция. Например, я как-то тестировал сервис с прямыми трансляциями. Поскольку ещё в школьное время стримил и снимал видео, я хорошо понимал логику такого функционала. Это позволило мне охватить широкий спектр возможных векторов атаки. В вашем случае это может быть ДБО или любой другой сложный сервис — главное, вникнуть в его суть.
Проверка «триажа» программы. После выбора программы очень важно понять, как работает команда реагирования. Я советую отправить 2-3 пробных отчёта, чтобы оценить:
Скорость обработки заявок.
Адекватность оценки критичности уязвимостей.
Соответствие выплат вашим ожиданиям.
Отношение вендора к out-of-scope. Речь идёт не только о доменах вне скоупа, но и о типах уязвимостей. Приведу два личных кейса:
VK. Я раскрутил интересный кейс, получив доступ к некоторым платным материалам бесплатно. Хотя программа оплачивала только критические серверные уязвимости, вендор пошёл навстречу и выдал промокод на следующий оплачиваемый отчёт.
МКБ. Я занёс, казалось бы, низкоимпактный баг, но он открывал дорогу к более критичным вещам. Вендор это оценил и накинул бонус к выплате за следующий отчёт.
Вендоры могут меняться. Если у вас сложилось негативное впечатление о крупной программе, проверьте её через несколько месяцев — возможно, политика изменилась к лучшему.
Философия уязвимостей
Смотрите на правила программы не только с точки зрения запретов, но и с точки зрения возможностей! Анализируйте, что можно сдать в другие программы. Изучите кастомные правила — возможно, сможете найти класс уязвимостей, который будете сдавать только вы. По личному опыту: пара программ даже специально дописывала правила, чтобы покрыть уязвимости, которые я находил.
Теперь по поводу оценки уязвимостей. Один и тот же класс уязвимостей разные вендоры оценивают по-разному. Один поставит «Инфо» без выплаты, второй оценит как «Низкий» и заплатит минимум, а третий — как «Средний» с хорошим вознаграждением. Экспериментируйте и сдавайте уязвимость туда, где её ценят выше, — это принесёт больше и денег, и рейтинга.
По поводу скоупа: иногда бывает такая ситуация, что находишь домен, который не входит в скоуп, но он аффектит основный сервис. В данном случае стоит сначала уточнить, можно ли занести уязвимость по этому домену и стоит ли вообще заносить в дальнейшем по этому домену. Или же сразу заносить отчёт с примечанием «аффектит основной сервис». Большинство вендоров, которым я заносил подобное, платили, но иногда меньше, чем указано в вилке выплат.
Бизнес-логика. Это мой любимый класс уязвимостей. Какие бы ни были крутые инструменты и AI-агенты, бизнес-логика останется актуальной на долгие годы вперёд. Сюда входит злоупотребление легитимным функционалом, проблемы в методах оплаты, манипуляции с бонусами и акциями.
Сдать уязвимость — задача №2. Описать импакт — задача №1! На практике хорошо описанное влияние, смоделированный сценарий атаки и чётко расписанные риски для компании могут не только ускорить триаж, но и повысить критичность и итоговую выплату. Уделите время тому, чтобы показать, что может сделать злоумышленник, используя вашу находку.
Сила коллабораций
Работа в команде — это не про воровство отчётов, а про синергию. Если выстроить процесс правильно, это будет играть только в плюс.
Например, если вы с напарником договорились искать уязвимости в одной программе и делить прибыль 50/50, вы создаёте win-win ситуацию. Реальный кейс: мой напарник нашёл раскрытие внутренних ID и номеров телефонов. Позже, исследуя другой сервис, я нашёл раскрытие внутренних ID и ФИО. В итоге мы собрали более длинную цепочку и получили повышенную выплату.
Почему важен рейтинг?
Рейтинг на площадке — это не просто цифра для красоты. Это возможность развиваться в рамках баг баунти.
Приватные программы. Высокий рейтинг открывает доступ к приватным программам, а это — дополнительные цели и возможность заработать ещё больше.
Закрытые ивенты. По рейтингу часто приглашают на приватные мероприятия. Например, на Standoff Hacks можно попасть, оказавшись в числе лучших исследователей года, а на BUGS ZONE по итогам квартала или полугодия. На закрытых мероприятиях часто вендоры выходят с интересным и новым скоупом, который ещё никто не смотрел в рамках баг баунти.
Внутренние рейтинги вендоров. Некоторые компании ведут собственный рейтинг хантеров. Это даёт доступ к самым закрытым сервисам и программам, куда инвайты рассылают сами вендоры.
Так что стоит уделять внимание не только общему рейтингу, но и активностям в конкретных программах, которые проводят интересные вам ивенты.
Время и труд всё перетрут
Закончить хотелось бы старой доброй истиной. Терпение и упорный труд позволяют преодолеть любые трудности. Постоянно исследуйте, ищите новые подходы, и вы обязательно будете подниматься в топах рейтингов площадок bug bounty.
И последнее. Вне зависимости от того, насколько круто вы ищете баги, важно иметь хобби для перезагрузки (в моём случае это спорт). Так что чтобы находить ещё больше багов — отдыхайте!
Делюсь ссылкой на своё выступление, а также на ТГ-канал.