Александр Фролов, Страховой Дом ВСК: Предугадывание ошибок — ключевая техника для успешного багхантинга

Александр Фролов, Страховой Дом ВСК: Предугадывание ошибок — ключевая техника для успешного багхантинга
Александр Фролов, Страховой Дом ВСК: Предугадывание ошибок — ключевая техника для успешного багхантинга
14.01.2025

Александр Фролов (Crusher), специалист по анализу защищенности Страхового Дома ВСК, рассказал порталу Cyber Media о своем пути из QA в пентест, а также об опыте поиска уязвимостей в государственных и финансовых сервисах в рамках багбаунти-программ.

Cyber Media: Как вы пришли в анализ защищенности? Сколько времени занял путь от старта до первого валидного отчета или выплаты багбаунти?

Александр Фролов: Мой путь в информационную безопасность начался с работы в QA. Я был QA-инженером, занимался обеспечением качества на проектах, а затем вырос до руководителя направления. Однако интерес к поиску уязвимостей в приложениях всегда был сильным, поэтому я решил сменить сферу и сосредоточиться на безопасности приложений.

Активно заниматься багхантингом я начал в 2022 году. Читал литературу по хакингу, изучал открытые отчеты багхантеров на платформе HackerOne. После ухода этой платформы из России я искал багбаунти-программы через дорки в поисковых системах.

Одной из первых программ, в которой я участвовал, была португальская платформа для маркетинга и рассылки сообщений. Изучив сервис, я обнаружил SQL-инъекцию в API приложения. На весь процесс, от анализа до нахождения уязвимости, ушла примерно неделя.

Интересный момент: платформа выплачивала вознаграждения через PayPal, который на тот момент уже перестал работать в России. В итоге уязвимость признали критичной, поблагодарили за находку, но выплату так и не сделали.

Cyber Media: Какие навыки, полученные в QA, оказались наиболее полезными в багхантинге? Есть ли что-то, что вы считаете ключевым для перехода из тестирования в информационную безопасность?

Александр Фролов: Навыки, приобретенные в QA, очень полезны в багхантинге. Например, умение вести тестовую документацию помогает грамотно оформлять отчеты в багбаунти-программах, где очень важно подробно описать шаги воспроизведения уязвимости, объяснить, в чем заключается суть проблемы, какие риски она несет, а также предложить рекомендации по исправлению. Отчеты в таких программах проверяют люди, поэтому важно максимально точно и ясно донести информацию.

Кроме того, очень пригодились техники тест-дизайна, особенно одна из них — «Предугадывание ошибок». Это техника, при которой тестировщик, опираясь на свой опыт и знания, предугадывает, где с большей вероятностью может возникнуть ошибка. Это позволяет сосредоточиться на потенциально проблемных участках и провести более тщательную проверку.

Что касается перехода в информационную безопасность, то, на мой взгляд, ключевыми являются два фактора: интерес и желание совершенствоваться в этой области. Если есть мотивация и готовность развиваться, перейти в ИБ вполне возможно.

Cyber Media: На что смотрите при выборе скоупа для исследования? Какие программы более привлекательны для вас, как для багхантера?

Александр Фролов: Первое, на что я смотрю, — это скоуп. Чем он шире, тем больше шансов найти уязвимость. Также обращаю внимание на количество репортов, которые компания получила и приняла, а уже затем — на размер выплат.

В целом мне интересны все программы, но особенно привлекательны для меня банки, государственные структуры и сервисы с множественными ролевыми моделями.

Cyber Media: У вас много сданных отчетов в программах региональных государственных информационных систем. Чем они интересны для исследователя безопасности, сильно ли отличаются от бизнес-инфраструктуры?

Александр Фролов: Государственные программы — это те же приложения, что и в бизнесе, но, как правило, содержат большее количество уязвимостей. Для меня они интересны возможностью отточить свои навыки на практике и находить критичные уязвимости.

Например, в таких системах нередко встречаются SQL-инъекции, IDOR, SSRF, LFI, а также mass assignment, позволяющий повысить права пользователя до администратора.

Если вы только начинаете свой путь в багхантинге, я рекомендую обратить внимание на государственные программы. Шансы найти уязвимость здесь значительно выше.

Cyber Media: Есть ли у вас любимый тип уязвимостей или сценариев поиска? Почему именно они вас привлекают?

Александр Фролов: Мне особенно нравятся уязвимости IDOR (Insecure Direct Object References) и BAC (Broken Access Control), а также логические уязвимости, связанные с финансовыми операциями.

IDOR и BAC привлекают меня тем, что их не так сложно искать, но при этом они часто высоко оцениваются, так как могут приводить к серьёзным проблемам с доступом. Логические уязвимости более сложные, потому что требуют глубокого изучения продукта и проработки различных сценариев, особенно в контексте финансовых операций. Этот процесс более трудозатратный, но и результаты могут быть весьма ценными.

Cyber Media: Уязвимости в логике: насколько часто их удается найти и насколько они критичны? Можете ли вы привести примеры таких уязвимостей из своей практики?

Александр Фролов: Логические уязвимости крайне критичны для любого бизнеса, особенно если речь идет о сервисах, работающих с деньгами. Все зависит от специфики продукта, но такие уязвимости встречаются, хотя и не так часто.

Например, в одном интернет-магазине я обнаружил уязвимость, которая позволяла оплачивать товары с баланса другого аккаунта. Изучив API-запрос на редактирование профиля, я сменил номер телефона на другой. После этого в моем аккаунте отобразился баланс другого пользователя, который я смог использовать для оплаты.

В другом случае сервис с внутренней валютой (монетами) принимал отрицательные значения при оформлении заказов. Я оформил заказ на минус 98 наушников, и мне начислили 9800 монет на внутренний баланс, которые можно было потратить на реальные товары.

Еще один пример — популярный сервис, где я смог манипулировать ценой сертификатов. Перехватив запрос, я изменил стоимость сертификата на 10 рублей и успешно купил его по заниженной цене.

Хотя такие кейсы редки, они встречаются. Проверять подобные сценарии можно, опираясь на свою фантазию и глубокое понимание логики приложения.

Cyber Media: Если говорить о функциональности багбаунти-платформ, какие фичи или новые решения, на ваш взгляд, были бы востребованы у багхантеров?

Александр Фролов: Считаю, что одной из самых удобных функций могло бы стать оповещение через Telegram-бота. Например, если изменился статус репорта или триаж оставил комментарий, багхантер мог бы оперативно получить уведомление и быстро отреагировать.

Еще одна полезная функция — уведомления об изменении скоупа в программе. Это также можно интегрировать в Telegram-бота. Чтобы сделать эту функцию еще удобнее, можно добавить версионность изменений. Часто бывает, что скоуп обновляется, но невозможно понять, что именно изменилось.

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

Cyber Media: Какие типы уязвимостей, на ваш взгляд, чаще всего недооцениваются в багбаунти-программах? Почему?

Александр Фролов: Один из недооцененных типов уязвимостей — это возможность неограниченной отправки SMS-сообщений на телефон пользователя. Многие сервисы используют сторонних провайдеров для отправки сообщений, и каждый отправленный SMS стоит денег. Уязвимости, позволяющие злоумышленнику бесконтрольно инициировать отправку сообщений, могут привести к значительным финансовым потерям для владельцев бизнеса. Аналогичная проблема существует с отправкой спама по электронной почте — если нет ограничений на количество отправляемых писем, злоумышленники могут легко злоупотребить этой возможностью.

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

Cyber Media: Какие ошибки или трудности вы чаще всего встречали в начале своей карьеры багхантера? Что бы вы посоветовали новичкам, чтобы избежать этих проблем?

Александр Фролов: На старте многие новички пытаются найти критичные уязвимости в топовых продуктах. Это часто приводит к потере времени из-за высокой конкуренции и сложности таких проектов. Мой совет — структурировать подход. Составьте четкий план тестирования, опишите шаги, инструменты и методы. Это поможет выстроить процесс и применить его к разным проектам.

Также важно изучать разнообразные уязвимости, а не ограничиваться только самыми популярными. Использовать чек-листы для тестирования, создавать свои словари для фаззинга и брутфорса. Не бойтесь экспериментировать, это поможет найти неожиданные уязвимости.

Популярные материалы

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