Исследователь взломал Facebook и обнаружил чужой вредоносный скрипт

Исследователь Оранж Цай (Orange Tsai), консультант DevCore, на досуге искал уязвимости в сервисах Facebook, желая поучаствовать в bug bounty программе компании. Однако вместо какой-нибудь XSS уязвимости, исследователь обнаружил бэкдор неизвестного злоумышленника, который собирал учетные данные сотрудников Facebook.

Еще в конце февраля 2016 года Цай решил поискать уязвимости в Facebook и начал с исследования бэкэнда компании. Конечно, эти сервисы не принимают участия в программе вознаграждений за уязвимости, но они могли помочь исследователю в дальнейших изысканиях. Используя reverse whois, Цай сумел обнаружить домен files.fb.com, который используется сотрудниками социальной сети как хостинг для файлов и работает под управлением Accellion Secure File Transfer (FTA).

Идентифицировав ПО и его версию, Цай принялся за работу и в итоге обнаружил целый букет проблем: три XSS уязвимости; два бага допускающие локальное повышение привилегий; давно известную проблему с секретным ключом, которая может привести к удаленному исполнению кода; и pre-auth SQL-инъекцию, которая тоже позволяла удаленно выполнить произвольный код.

Последним багом в FTA исследователь воспользовался сам и, осуществив инъекцию, был вознагражден доступом к серверу Facebook и полным контролем над машиной. В принципе, Цай достиг своей цели – нашел проблему, так что он принялся собирать данные для отправки отчета в Facebook. Однако просматривая логи сервера, исследователь заметил нечто подозрительное.

 

Ошибки в логе

3

 

Цай обратил внимание, что в логе /var/opt/apache/php_error_log присутствуют странные сообщения об ошибках. Отследив причину этих ошибок, исследователь обнаружил непонятный webshell, который явно был загружен на сервер не сотрудниками Facebook. Просмотрев его исходный код, Цай понял, что кто-то перехватывает учетные данные сотрудников компании, а затем сохраняет логины и пароли в локальный файл. В include_once фигурировал sclient_user_class_standard.inc.orig, который используется PHP для верификации пароля. Цай пишет, что неизвестный хакер, по сути, внедрил в процесс прокси для перехвата GET, POST, COOKIE значений и запросов.

 

Подозрительный webshell

4

 

Уже понимая, что в систему проник хакер, Цай изучил логи более внимательно, и сумел установить, что злоумышленник неоднократно возвращался. Хакер заходил на сервер, чтобы забрать собранные данные, изучить получше локальную сеть и даже попытался похитить приватный ключ SSL. Пики его активности пришлись на июль и середину сентября 2015 года, пишет xakep.ru.

Всю собранную информацию Цай передал в службу безопасности Facebook, уведомив компанию о происходящем. Исследователь сообщает, что теперь социальная сеть проводит собственное расследование инцидента, а его самого вознаградили за труды призом в размере $10 000.

Подпишитесь
в Facebook

Я уже с вами