В марте 2018 года разработчики Microsoft устранили уязвимость CVE-2018-0878, обнаруженную бельгийским специалистом Trend Micro Zero Day Initiative Набилем Ахмедом (Nabeel Ahmed). Баг в в Windows Remote Assistance (Удаленный помощник Windows) приводил к нежелательному раскрытию информации и позволял атакующему похитить практически любые файлы с компьютера жертвы.
Перед проблемой были уязвимы: Microsoft Windows Server 2016, Windows Server 2012 и R2, Windows Server 2008 SP2 и R2 SP1, Windows 10 (x64 и x86), Windows 8.1 (x64 и x86) и RT 8.1, а также Windows 7 (x64 и x86). После выхода исправления, Ахмед опубликовал подробную информацию об уязвимости и proof-of-concept эксплоита в своем блоге.
Удаленный помощник Windows — это средство удаленного администрирования, при помощи которого пользователь может предоставить доступ к своему компьютеру третьему лицу, к примеру, для исправления какой-либо проблемы. Ахмед обнаружил, что Remote Assistance некорректно обрабатывает XML External Entities (XXE), в результате чего злоумышленник может реализовать следующую атаку.
Для начала атакующий должен воспользоваться функцией приглашения третьей стороны для работы со своим компьютером и создать файл вида invitation.msrcincident. Так как файл приглашения содержит XML-данные, а парсер MSXML3 обрабатывает их некорректно, Ахмед сумел встроить в него известный XXE-эксплоит. Злоумышленнику остается пустить в ход социальную инженерию и отправить invitation.msrcincident своей жертве, якобы приглашая ее помочь разобраться с какой-то проблемой.
Как только пользователь откроет специально созданный invitation.msrcincident с эксплоитом, определенные локальные файлы с его компьютера будут загружены на удаленный сервер, принадлежащий злоумышленнику.
Исследователь отмечает, что хотя такая техника не подходит для массового использования, уязвимость CVE-2018-0878 может использоваться для таргетированных атак, то есть злоумышленник может похитить конкретные логи, БД, ключи, файлы конфигурации и другую конфиденциальную информацию.