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

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

Исследователь взломал 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.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

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

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

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

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

RSS: Новости на портале Anti-Malware.ru