Уязвимость в Linkedin. Этичный хакер или злоумышленник?

By 15 июня 2016Без рубрики

Здарова!

Не так давно исследователь нашёл серьёзную уязвимость в instagram, сообщил об этом, но копнул слишком далеко и нарушил условия багбаунти. Если не в курсе, вот тебе ссылка. Подобная история произошла со мной.

Как-то вечером я проводил исследование и нашел уязвимости на паре десятков сайтов, в том числе на одном из доменов linkedin.

Чтение произвольных файлов от привилегированного пользователя (root). Прочитав единственный файл в директории root — было понятно, что это данные для аутентификации к облачному хранилищу Amazon.

Технические подробности в блоге wallarm.

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

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

Уязвимости и инциденты

Я считаю, если была найдена критическая уязвимость, нужно расследовать и принять меры по минимизации рисков. Кто-то мог получить доступ к внутренней инфраструктуре (не получал, а теоретически мог) — надо расследовать. Смена паролей, сброс сессионных идентификаторов, прочие меры. То есть всё, что делала бы организация, если бы они обнаружили инцидент, а не багу сдал исследователь.

Хотя бы потому что никто не знает, эксплуатировали ли эту уязвимость до того, как её нашёл исследователь. Может ей уже 5 лет и она хранится где-нибудь на закрытых площадках.

Так что обвинение в том, что я отнимаю время, считаю некорректным.

Этика и этичные хакеры

Множество хакеров — люди воспитанные предрассудками. Основной аргумент — за любую работу нужно платить. Огромное количество людей считают, что если «хакер» ворвался на сайт какой-то компании, компания уже автоматически должна ему бабла (IMHO, это вымогательство).

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

И часто, после нахождения уязвимости, эти «этичные» багхантеры работают на два фронта. Продают слитые исходники или БД, и сдают уязвимость в bugbounty программу. Удобно.

И вот после этого разрешить хакерам лазить по внутрянке и сливать данные?

Тонкие грани

Нет чётких правил как вести себя при обнаружении уязвимостей. Например, если я прочитаю /etc/passwd могу ли я получить техническую информацию, которую можно использовать для дальнейших атак? Конечно. А ведь это первый файл, который будет прочитан. Кто-то скажет /etc/hosts  — а у кого-то это  очень важный файл с технической информацией о внутренней инфраструктуре и администраторах системы.

Как проверить, что у тебя привилегии суперпользователя? Почему-то сразу в голову приходит shadow. С паролями.

А иногда, невозможно оценить даже критичность уязвимости без эксплуатации таковой. Если бы завели /home/flag и /home/superflag — тогда другое дело. Есть что искать и как доказать наличие уязвимости.

Нашёл открытую базу данных (без пароля, например — MongoDB) — отправишь разработчикам, а они — иди в жопу, это пустая база для тестов.
Посмотришь — нарушишь правило программы.

Как отличить исследователя от злоумышленника? Если злоумышленник будет пытаться взломать ресурс, начнёт сливать файлы, а его поймают. Он скажет — а я тут багбаунти занимаюсь. Вот вам письмо написал.
Исследователь, получив чувствительную информацию, становится злоумышленником.

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

Join the discussion One Comment

  • Сергей Шелест:

    Человек выполнивший работу — достоин оплаты ! Тем более что эта работа помогла компании закрыть брешь !

Leave a Reply