Издание Bleeping Computer сообщило, что неисправленный баг нулевого дня в Windows 10 позволяет повредить жесткий диск с файловой системой NTFS с помощью однострочной команды. Эксплоит для этой проблемы можно спрятать внутри файла ярлыка, ZIP-архива, batch-файлов и так далее, и такие файлы вызовут моментальное повреждение структуры файловой системы.
Проблему еще в прошлом году обнаружил ИБ-исследователь, известный как Джонас Ликкегаард. Он пытался привлечь внимание к багу еще в августе и октябре 2020 года, однако добился успеха лишь на этой неделе.
Эксплуатация уязвимости крайне проста: однострочная команда мгновенно повреждает диск с файловой системой NTFS, после чего Windows предлагает пользователю перезагрузить компьютер, чтобы устранить повреждения. При перезагрузке запускается утилита проверки диска, которая начинает восстановление. При этом в логах можно увидеть, что Master File Table (MFT) диска содержит поврежденную запись.
Исследователь говорит, что уязвимость появилась в коде Windows 10 build 1803 и Windows 10 April 2018 Update, а актуальна по сей день. Хуже того, для ее эксплуатации достаточно стандартной, низко привилегированной учтенной записи пользователя Windows 10.
Срабатывание бага и повреждение диска можно спровоцировать, если просто попытаться получить доступ к атрибуту NTFS $i30 определенным образом. Ниже можно увидеть пример такой опасной однострочной команды. Предупреждаем: не проверяйте работу бага на собственной работающей системе, лучше используйте для этого виртуальную машину!
Эксперт рассказывает, что атрибут $i30 связан с каталогами, он содержит список файлов и подпапок каталога, а в некоторых случаях может включать удаленные файлы и папки, что удобно для реагирования на инциденты или криминалистической экспертизы. При этом исследователь признает, что не понимает, как обращение к этому атрибуту повреждает диск, и почему ключ реестра, который мог бы помочь диагностировать проблему, не работает.
«Я понятия не имею, почему это вызывает повреждения. Нужно много работы, чтобы разобраться, почему ключ реестра, который должен отвечать за BSOD, не работает. Так что оставлю это людям с исходным кодом» — говорит эксперт.
Журналисты Bleeping Computer, проводившие собственные тесты, предупреждают, что баг может быть использован множеством способов. Например, файл ярлыка Windows (.url) , иконка которого расположена по адресу C:\:$i30:$bitmap, вызовет срабатывание уязвимости, даже если пользователь никогда не открывал данный файл. Достаточно просмотреть папку с файлом, чтобы Windows попыталась отобразить иконку.
И хотя в большинстве браузеров такие атаки ограничивает SOP (например, не получится использовать удаленный HTML-документ, ссылающийся на file:///C:/:$i30:$bitmap), исследователи считают, что эти ограничения можно обойти или использовать другие векторы атак. К примеру, на скриншоте ниже, уязвимость сработала из-за ZIP-архива с проблемным файлом.
Сообщается, что специалисты Microsoft уже изучают данную уязвимость. А пользователи, тем временем, обнаружили, что проблеме подвержены и более старые версии Windows, включая Windows XP.