Чем занимается «белый хакер», как им стать и сколько можно заработать

Рассказ Link — хакера из Санкт-Петербурга, который нашёл уязвимость в PayPal и получил от компании около $70 тысяч в знак благодарности.

Меня всегда интересовала информатика, и мне всегда хотелось что-то «сломать», но при этом так, чтобы никто не пострадал, а защита и качество сервисов улучшились.

Я искал разные приложения и сайты и спрашивал у создателей, можно ли проверить их разработки на прочность. Чаще всего мне отказывали. Скорее всего, боялись, потому что такое предложение казалось странным и неприемлемым.

Но я продолжал лазить по интернету и подмечать разные незащищённые места. В 2009 году нашёл в одном из офлайн-магазинов известной торговой сети веб-камеры, к которым мог подключиться любой и перехватить видеосигнал. Мне тогда было 15 лет.

Я сообщил об этом владельцам, они сказали спасибо и закрыли уязвимость. Я предложил им свои услуги в сфере безопасности, но они отказались. А потом их взломали, и они почему-то подумали на меня, хотя это было не так.

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

В 2015 году я узнал про bug bounty (вознаграждение за найденные уязвимости, которое выплачивают ИТ-компании — vc.ru) и зарегистрировался в сервисе HackerOne, глобальной платформе, где создатели различных приложений и сервисов разрешают взламывать свои продукты.

Там зарегистрированы «ВКонтакте», Mail.ru Group, Sony, Adobe и много других известных организаций, включая Министерство обороны США. Они либо платят за найденные «дыры», либо благодарят иначе: могут выслать фирменную футболку или кружку или просто сказать спасибо.

Иногда они устраивают публичные мероприятия: предлагают всем желающим проверить силы во взломе своих сервисов. Иногда — закрытые, для нескольких хакеров.

Вне зависимости от программы, через 90 дней после сообщения владельцу ресурса об уязвимости, взломщики рассказывают о своих находках сообществу: что именно нашли и как им это удалось. Первые $100 я заработал взломав один сервис и получив доступ к файлу readme.txt.

Это было очень просто, и я не рассчитывал, что мне заплатят. Но на HackerOne есть диапазон выплат, который разделён по уровню критичности обнаруженной уязвимости.

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

Есть чаты, в которых сидят хакеры, — спрашивал советы там. Иногда мне помогали просто так, иногда — за процент от вознаграждения.

Кроме того, в то время я читал много открытых отчётов на HackerOne, в которых хакеры описывали, как они обнаружили ту или иную уязвимость.

Чтобы компания приняла отчёт, хакеру нужно доказать, что он действительно нашёл уязвимость, которая может причинить ущерб. Не получится сказать: «Шёл мимо гаража, увидел дырку в стене» — подобный отчёт просто не примут и попросят обосновать, в чём заключается дыра, и какую угрозу она несёт, пусть даже в малой степени.

Хороший отчёт выглядит так: «Я проходил мимо гаража, увидел, что хозяин забыл вытащить ключ из замка, открыл его, зашёл внутрь, ничего не трогал, а потом привёл владельца и показал, как можно попасть в гараж».

В этих отчётах было много полезных данных. Ещё я практиковался на тренажёрах — сервисах вроде Hack The Box, в которых разработчики сознательно оставили дыры.

На HackerOne я <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fhackerone.com%2Flinkks&postId=86714" rel="nofollow noreferrer noopener" target="_blank">занимаю</a> 37 место в мировом рейтинге лучших специалистов по поиску уязвимостей
На HackerOne я занимаю 37 место в мировом рейтинге лучших специалистов по поиску уязвимостей

Деньги и выплаты

Я не считаю, сколько времени трачу на работу. Всё зависит от настроения и объёма задач. Если есть важные дела, занимаюсь ими, если есть свободное время, «охочусь» ради интереса. В месяц я зарабатываю от $2000 до $8000, в среднем — около $5000.

Самые высокие выплаты за уязвимости среди российских компаний — у Mail.ru Group, от $2000 до $4000.

Adobe обычно ничего не платит, просто благодарит. А Sony высылает майки. Но я так ни одной не получил благодаря нашей доблестной таможне.

Свой самый крупный гонорар я получил за взлом для PayPal: за три месяца работы они заплатили мне около $70 тысяч. Но я не гонюсь за деньгами — иногда участвую в бесплатных проектах, чтобы повысить свой уровень.

Какие уязвимости удаётся обнаружить чаще всего

Они всегда разные, их сложно отсортировать по «популярности». Но чаще всего я нахожу SQL-инъекции, SSRF и RCE.

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

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

SQL-инъекция позволяет получить доступ к базе данных сайта или сервиса, в которой могут храниться логины, пароли и прочие сведения о пользователях, включая данные администратора.

RCE — уязвимость, которая позволяет завладеть сервером и выполнять команды от имени его администратора.

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

Недавно стало известно об утечке пользовательских данных в «Сбербанке». Насколько я знаю, у них всё хорошо с защитой. Злоумышленники обычно ищут заведомо уязвимых жертв.

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

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

Иногда и очень опытные специалисты пропускают или попросту не успевают залатать дыры в системе безопасности. Против zero day — уязвимостей далеко не все могут бороться. Так что на 100% безопасными могут быть только выключенная система или система, о которой никто не знает.

Кто-то может случайно сделать публичной базу с пользовательскими данными или панель администратора с базой данных. Иногда такие ошибки происходят по невнимательности, когда разработчики забывают отключить некоторые настройки (debug mode) перед публикацией сервиса или обновления.

То есть в «нормальном» режиме доступ к этим сведениям могут получить только сотрудники организации, а доступ оказывается открытым всем пользователям интернета. Другие бреши связаны с техническими нюансами: когда что-то ломается при обновлении системы.

Как искать уязвимости

Если объяснять «на пальцах», поиск уязвимостей выглядит так. Сперва я изучаю инфраструктуру сети — либо вручную, перебирая поддомены, либо с помощью сервисов Shodan и Censys.

Так я получаю информацию об узлах, которые образуют сеть. Глядя на них, я понимаю, где могут скрываться потенциальные проблемы. Использую сканеры уязвимостей — они обращаются к узлу и по ответам находят его слабые места. Затем мне остаётся проверить, действительно ли там есть уязвимость.

Мне регулярно предлагают заняться «чёрной» работой. Чаще всего обращаются знакомые знакомых, которые хотят больших и лёгких денег и при этом не задумываются о рисках.

Самый популярный запрос: «Давай взломаем банк». Они думают, что я могу подчинить себе банкомат, и он будет выплёвывать деньги. Либо предлагают считывать данные о банковских картах.

На втором месте — просьба взломать тот или иной интернет-магазин. Некоторые товарищи хотят взломать сайты букмекерских контор и сервисы бинарных опционов или биткоин-кошельки. Иногда просят взломать страницу во «ВКонтакте», но эта просьба, на удивление, лишь на шестом-седьмом месте по популярности.

Я никогда не соглашался: все подобные предложения незаконны и противоречат моим внутренним принципам.

Команда

В 2018 году я познакомился с Андреем Леоновым, который годом ранее нашёл уязвимость в Facebook и заработал $40 тысяч. До знакомства мы много переписывались, а однажды встретились на Zero Nights (крупная российская конференция в сфере информационной безопасности — vc.ru).

Мы пообщались и договорились вместе искать баги: нам хотелось развиваться. Решили повышать уровень сообща. Постепенно команда выросла до шести человек.

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

Я либо искал парней специально, либо находил благодаря случаю. Однажды я нашёл дыру в одной компании и стал искать способ сообщить о ней их разработчикам.

Почти всегда это непростая задача: в техподдержке часто не понимают, о чём идёт речь.

Она консультирует клиентов и обычно отвечает что-то вроде: «Извините, вакансий программистов у нас нет».

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

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

Слово за слово мы договорились работать вместе — было необходимо автоматизировать часть задач.

Этика «белых хакеров»

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

Кроме того, я использую принцип «не навреди»: для меня недопустимо «положить» сервер или украсть данные. Это считается нарушением этики, преследуется и по закону, и по правилам HackerOne.

Моя цель — помогать компаниям быть безопаснее для пользователей.

И мне интересно развиваться самому, узнавать о новых технологиях. И лучше «ломать» сервисы для пользы, а не во вред: так не только не накажут, но и расскажут об интересных нюансах, связанных с безопасностью, о которых иначе ты бы и не узнал.

#безопасность #взлом #хакеры #профессии

282282
72 комментария

Всегда приятно читать истории увлекающихся людей с адекватными принципами в голове, это вдохновляет. Автор молодец, ставлю +.

108

Когда делаешь добро, главное - успеть сьебаться

90

В 2017 меня из 2-х компаний так уволили. 


 Буквально через неделю после устройства на работу, я нашел способ как простому админу получить уровень доступа начальника отдела. Показал начальнице, она сказала: "Ты ничего не видел и не знаешь" и все. Через месяц я нашел дыру через которую можно было слить базу всех сотрудников, работников и клиентов, с номерами, адресами, фотографиями и сканами документов. 1,5 года я стучался во все двери и говорил что проблему нужно решить, тем более что в то время нас постоянно дедосили и сервис падал (а мои доки тоже в базе лежали). В итоге я заскринил, как можно сломать сервис тестирования сотрудников, чтобы тест был пройден на 100% и скинул коллегам (раз дырки не баг, значит фича). Началась буча. Но вместо того, чтобы дать по башке тем кто отвечает за ИБ, всех собак повесили на меня, простого администратора (звонилку), под шумок и все дедосы тоже на меня повесили и весело уволили.

Во второй конторе я был уже не звонилкой, а занимался контролем качества информации в БД. Устроился, я на момент, когда вводили новую вебморду для сервиса. Очень сырую. Часто бывало, что она сбоила и мы откатывались на 2 дня назад, или просто то, что было проверено, некорректно отображалось и т.д. Из-за этого естественно мы не выполняли планы, лишались премий и просто получали по башке. Начальник отдела который админил всю эту шляпу, отчитывался перед вышестоящим руководством, что у них все норм, и это мы козлы, и ему почему-то верили. Наш начальник как не бился оставался крайним. В итоге начальник админов совсем офигев, сказал что-то типа "если все так плохо работает, то скриньте, снимайте видео и шлите репорты". Большинство ошибок же было в стиле, то есть, то нет и фиг знает почему она появлялась, т.е. не зная заранее не заскринить. Ну ок. Я нон-стопом запустил у себя запись экрана, а вечером дома уже нарезал моменты, иногда выяснял из-за чего проблемы и описывал их в отдельном файлике. Короче за 2 месяца стало ясно кто тут горбатый. А начальник админов, которому видимо похваставшись меня сдал наш начальник, затаил на меня обиду. Слили меня через месяц при первых же проблемах в конторе. В один прекрасный день меня вызвал начальник и сказал, что сверху пришло распоряжение уволить меня и еще одного энтузиаста. Предложили уйти самим или найдут за что уволить по статье. Начальник объяснил, что все с подачи начальника админов. 

Вот так.

40

Комментарий удалён модератором

Сделал добро - жуй ****0

"Недавно стало известно об утечке пользовательских данных в «Сбербанке». Насколько я знаю, у них всё хорошо с защитой." — а не нативочка ли Сбера подъехала? нужно жн после скандала восстанавливать репу)

5

А ещё нативка фейсбука, пайпала, мейл групп, линкедина.
А проспонсировали конкуренты Адоба.

51