0-day уязвимость позволила стереть петабайты данных пользователей с сетевых накопителей Western Digital

2021-06-29 6485 комментарии
Массовая атака на сетевые накопители марки Western Digital My Book Live заключалась во взломе устройств с целью их полного сброса и удалении всех данных

Хакеры воспользовались 0-day уязвимостью для взлома устройств Western Digital My Book Live

В ходе недавней массовой атаки на устройства Western Digital My Book Live, злоумышленники воспользовались 0-day уязвимостью, а не только багом 2018 года, как было сообщено ранее .

Напомним, что массовая атака на сетевые накопители марки Western Digital My Book Live заключалась во взломе устройств с целью их полного сброса и удалении всех данных.

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

Если бы разработчик не удалил код запроса пользовательского пароля для сброса сетевых накопителей Western Digital My Book Live, то массового взлома устройств могло бы и не быть

Подробнее об уязвимости

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

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

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

function post($urlPath, $queryParams = null, $ouputFormat = 'xml') {
    // if(!authenticateAsOwner($queryParams))
    // {
    //      header("HTTP/1.0 401 Unauthorized");
    //      return;
    // }

«Как будто они намеренно включили обход защиты» – прокомментировал Эйч Ди Мур, эксперт по безопасности и генеральный директор платформы сетевого обнаружения Rumble.

Чтобы воспользоваться уязвимостью, злоумышленник должен был знать формат XML-запроса, запускающего сброс. «Это не так просто, как обнаружить URL-адрес с помощью запроса GET, но и не достаточно сложно», – добавил эксперт.

Где мои данные?

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

My Book Live – это сетевое запоминающее устройство размером с книгу, которое использует разъем Ethernet для подключения к домашней и офисной сетям, чтобы подключенные компьютеры имели доступ к данным на нем. Авторизованные пользователи также могут получать доступ к своим файлам и вносить изменения в конфигурацию через Интернет. Western Digital прекратила поддержку My Book Live в 2015 году.

Персонал Western Digital опубликовал сообщение, в котором сообщалось, что это произошло в результате использования злоумышленниками уязвимости CVE-2018-18472. Уязвимость удаленного выполнения команд была обнаружена в конце 2018 года исследователями безопасности Паулосом Ибело и Даниэлем Эшету. Поскольку уязвимость была обнаружена через три года после того, как Western Digital прекратила поддержку My Book Live, компания так и не исправила её.

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

Один из журналов был размещен на форуме поддержки Western Digital. В журнале отображено, что кто-то с IP-адреса 94.102.49.104 успешно выполнил сброс устройства:

rest_api.log.1:Jun 23 15:46:11 MyBookLiveDuo REST_API[9529]: 94.102.49.104 PARAMETER System_factory_restore POST : erase = none
rest_api.log.1:Jun 23 15:46:11 MyBookLiveDuo REST_API[9529]: 94.102.49.104 OUTPUT System_factory_restore POST SUCCESS

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

Jun 16 07:28:41 MyBookLive REST_API[28538]: 23.154.177.131 PARAMETER System_factory_restore POST : erase = format
Jun 16 07:28:42 MyBookLive REST_API[28538]: 23.154.177.131 OUTPUT System_factory_restore POST SUCCESS

После анализа представленных результатов представителями Western Digital, компанией было опубликовано сообщение с подтверждением:

«Мы можем подтвердить, что по крайней мере в некоторых случаях злоумышленники использовали уязвимость внедрения команд (CVE-2018-18472), а затем – уязвимость с сброса настроек до заводских. Непонятно, почему злоумышленники использовали обе уязвимости. Мы запросим CVE для устранения уязвимости, связанной со сбросом к заводским настройкам, и обновим наш бюллетень, включив в него эту нужную информацию».

Уязвимость, защищенная паролем

Остается неприятный вопрос: если хакеры уже получили полный root-доступ, используя уязвимость CVE-2018-18472, зачем им нужна была эта вторая брешь в безопасности? Четкого ответа нет, но, основываясь на имеющихся доказательствах, Абдин выдвинул правдоподобную теорию – что один хакер первым использовал уязвимость CVE-2018-18472, а другой хакер-соперник позже использовал другую уязвимость в попытке получить контроль над теми, кто уже использовал скомпрометированные устройства.

Злоумышленник, использовавший  уязвимость CVE-2018-18472, воспользовался предоставленной им возможностью выполнения кода для изменения файла с именем language_configuration.php в стеке My Book Live, в котором и находилась уязвимость. Согласно восстановленному файлу, публикуем модификацию файла:

function put($urlPath, $queryParams=null, $ouputFormat='xml'){

    parse_str(file_get_contents("php://input"), $changes);

    $langConfigObj = new LanguageConfiguration();
    if(!isset($changes["submit"]) || sha1($changes["submit"]) != "56f650e16801d38f47bb0eeac39e21a8142d7da1")
    {
    die();
    }

Данная модификация предотвратила использование уязвимости без необходимости пароля. Пароль соответствовал криптографическому хешу – 05951edd7f05318019c4cfafab8e567afe7936d4. Оказывается, пароль для этого хеша -   p$EFx3tQWoUbFc%B%R$k@.

В отдельном модифицированном файле language_configuration.php, восстановленном со взломанного устройства, использовался другой пароль, который соответствует хешу 05951edd7f05318019c4cfafab8e567afe7936d4. Хакеры использовали так же третий хеш – b18c3795fd377b51b7925b2b68ff818cc9115a47 – для защиты паролем отдельного файла с названием accessDenied.php. Скорее всего, это было сделано в качестве страхового полиса на случай, если Western Digital выпустит обновление, исправляющее language_configuration.

Пока попытки взломать эти два других хэша не увенчались успехом.

Согласно приведенной выше рекомендации Western Digital, некоторые устройства My Book Live, взломанные с помощью уязвимости CVE-2021-18472, были заражены вредоносным ПО под названием .nttpd, 1-ppc-be-t1-z , которое было создано для работы на используемом оборудовании PowerPC на устройствах My Book Live. Один из пользователей на форуме поддержки сообщил, что на взломанном устройстве My Book Live используется вредоносное ПО, которое эксплуатирует устройства в качестве части ботнета под названием Linux.Ngioweb.

Битва хакеров

Так зачем кому-то, кто успешно инфицировал и использовал так много устройств My Book Live в качестве части ботнет, выполнять сброс и удаление всех данных? И зачем кому-то использовать недокументированный обход аутентификации, если у них уже есть root-доступ?

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

«Что касается мотива POST-отправки на эту конечную точку [system_factory_restore] в массовом масштабе, то неизвестно, но возможно это была попытка конкурирующего оператора ботнета захватить эти устройства или сделать их бесполезными, или кто-то, кто хотел иным образом нарушить работу этих устройств в качестве части ботнета, который, вероятно, существует уже определенное время, поскольку эти проблемы существуют с 2015 года », – написал Абдин в недавнем сообщении в блоге.

Обнаружение второй уязвимости означает, что устройства My Book Live еще более небезопасны, чем многие думали. Тем более пользователи должны воспользоваться рекомендацией Western Digital, согласно которой каждый пользователей, который использует одно из этих устройств, должен немедленно отключить их от Интернета.

Вероятно, многие пользователи, чьи сетевые накопители были взломаны и потерявшие данные, накопленные за годы или десятилетия, не будут рассматривать покупку подобных устройств от компании Western Digital. Абдин, однако, сообщает, что устройства My Cloud Live, которые заменили продукты My Book Live от Western Digital, имеют другую кодовую базу, которая не содержит ни одной из уязвимостей, использованных в недавнем массовом удалении данных.

«Я тоже взглянул на прошивку My Cloud», – добавляет Абдин. «Она переписана и имеет некоторое, но по большей части, небольшое сходство с кодом My Book Live. Так что у них разные проблемы».

Какому методу хранения данных вы отдаете предпочтение? Облачным хранилищам или сетевым накопителям?

© . По материалам Ars Technica
Комментарии и отзывы

Нашли ошибку?

Новое на сайте