Уязвимость Windows позволяет с помощью флеш-карты взламывать систему хранения паролей.
В
очередном выпуске сайта хакерских видеоподкастов Hak5
продемонстрирована серьезная уязвимость функций автозапуска и
управления локальной сетью Windows. USB-модуль, подключенный к
компьютеру, позволил за несколько секунд создать в системе «черный ход»
и подобрать пароль доступа.
Инструмент, представленный в
видеопрограмме, назван «USB-инструмент мгновенного восстановления
пароля», или «USB Switchblade». Основная проблема в системе
аутентификации Windows — использование слабого хэша пароля LAN Manager
(LM), вычисленного по алгоритму DES. Проблема не в самом
криптоалгоритме, а в его реализации. Пароль переводится в верхний
регистр (при использовании букв получаем 26 вариантов вместо 52), затем
— пароль дополняется или обрезается до 14 символов, делится пополам, и
уже от этих половинок создаются два 8-символьных хэша по алгоритму DES.
Эти 16 символов и хранятся в качестве хэша LM. То есть, система
заведомо упрощает для взломщика процесс подбора, сначала сужая
количество вариантов, а затем разделяя пароль пополам.
Для кражи
пароля был применен флеш-диск USB, в котором реализована технология от
компании U3 LLC, созданная совместно с Sandisk и M-Systems. Особенность
этой технологии в том, что часть диска выступает в качестве
виртуального CD-ROM-привода. Если разместить там файл автозапуска, то
при подключении диска через USB Windows запустит этот файл. При
демонстрации уязвимости использовался диск SanDisk Cruser Micro USB с
технологией U3. На диске обычно записаны какие-нибудь приложения,
например, Skype, чтобы их можно было запустить прямо с флеш-диска, но
туда можно записать и любые другие данные, в частности, изменить файл
автозапуска autorun.inf. Это делается при помощи программы-инсталлятора
LPInstaller.exe от Sandisk заменой заранее созданного образа с именем
cruzer-autorun.iso.
Файл автозапуска запускает различные
утилиты, которые без труда копируют хэши LM из системы на флеш-диск.
Далее следует быстрый подбор пароля: исходное слово (из 7 больших букв,
а также цифр и некоторых символов) преобразуется (хэшируется) по
алгоритму DES и сравнивается с зашифрованным. Для ускорения
используются заранее сгенерированные хэши наиболее часто встречающихся
паролей по словарю.
В процессе взлома может возникнуть несколько
проблем. Во-первых, ничего не получится, если компьютер работает не под
учетной записью администратора. Во-вторых, стандартные утилиты
копирования хэша могут быть обнаружены антивирусом. Так, утилиту pwdump
обнаруживает антивирус Symantec, но если эта несложная утилита
нестандартна или пересобрана, то взломщику не о чем беспокоиться.
Чтобы
защититься от взлома паролей с помощью флеш-карты, пользователь может
либо отключить функцию автозапуска компакт-дисков, либо выбрать длинный
пароль из случайных символов, что усложнит процесс подбора. Начиная с
Windows 2000, можно отключить хранение хэшей LM.
Уязвимости
системы хранения паролей Windows известны давно, еще со 2-й половины
90-х гг. Однако USB и флеш-дисков тогда еще не было, и хакеры
использовали другие порты.