Сегодня на работе озадачили: принесли ноутбук и попросили восстановить случайно удаленные данные. Правда жесткий диск зашифрован через True Crypt и пароль от входа в Windows забыт. Благо пароль от самого True Crypt есть =)
Запишу свои действия чтобы не забыть некоторые нюансы.
Решение задачи было следующим: загрузиться с какого-либо Live CD где есть True Crypt, в него смонтировать жесткий диск, доступится к реестру на зашифрованом диске и сбросить пароль на Windows. После чего загрузиться в Windows со сброшенным паролем и восстановить данные при помощи предназначенного для этого ПО.
Live CD базирующиеся на Windows XP загружаться никак не хотели: сначала вылетали в синий экран с руганью на ACPI, потом с руганью на включенный SATA в BIOS, а потом стопорились на подгрузке драйверов.
Решил подойти с другой стороны: грузиться с Live CD на Linux, он не такой вредный.
- Берем легендарную, среди хакеров, сборку Kali Linux (бывший BackTrack) и грузимся в нее.
- Запускаем True Crypt
- В главном окне интерфейса жмем на кнопку "Select Device" и выбираем логический диск, который должен быть диском C:
- Далее монтируем: жмем кнопку "Mount" и в выскочившем окне жмем на кнопку "Mount Options"
- У нас зашифрован жесткий диск, а не контейнер, поэтому ставим галочку возле "Mount Partition using system encryption (preboot authentication)":
- Вводим пароль от зашифрованного жесткого диска.
- Убеждаемся что логический диск корректно примонтировался: у меня на рабочем столе Kali Linux появился ярлык на логический диск.
- Запускаем командную строку и переходим в папку с SAM файлом - Security Account Manager, базе данных содержащую информацию о учетных записях Windows. Смотрите куда у Вас смонтировался диск. В Linux в имени файлов регистр имеет значение, соблюдайте его:
cd /media/truecrypt1/Windows/System32/config/
Далее берем на вооружение утилиту которая позволит поменять или обнулить пароль к учетной записи в Windows. Вводим команду чтобы посмотреть список учетных записей:
chntpw -l SAM
увидим что-то вроде этого:
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf> Page at 0x7000 is not 'hbin', assuming file contains garbage at end File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage) Used for data: 246/20160 blocks/bytes, unused: 22/4224 blocks/bytes. * SAM policy limits: Failed logins before lockout is: 0 Minimum password length : 0 Password history count : 0 | RID -|---------- Username ------------| Admin? |- Lock? --| | 01f4 | 4<8=8AB@0B>@ | ADMIN | dis/lock | | 01f5 | >ABL | | dis/lock | | 03e8 | !0H0 | ADMIN | dis/lock |
Для Windows 7 получиться сбросить пароль только в учетной записи встроенного администратора, при попытке редактировать другие учетные записи данные не сохраняются.
Учетная запись встроенного администратора это "01f4 | 4<8=8AB@0B>@". Если у Вас русский Windows, то RID (01f4) и Username (4<8=8AB@0B>@) будут те же.
Приступаем к редактированию учетной записи встроенного администратора, вводим команду:
chntpw -u 0x01f4 SAM
В ответ получаем:
Minimum password length : 0 Password history count : 0 | RID -|---------- Username ------------| Admin? |- Lock? --| | 01f4 | 4<8=8AB@0B>@ | ADMIN | | | 01f5 | >ABL | | dis/lock | | 03e8 | !0H0 | ADMIN | dis/lock | ———————> SYSKEY CHECK <———————– SYSTEM SecureBoot : -1 -> Not Set (not installed, good!) SAM Account\F : 0 -> off SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4) Syskey not installed! RID : 1000 [03e8] Username: !0H0 fullname: comment : homedir : User is member of 1 groups: 00000220 = 4<8=8AB@0B>@K (which has 2 members) Account bits: 0x0214 = [ X] Disabled | [ ] Homedir req. | [] Passwd not req. | [ ] Temp. duplicate | [X] Normal account | [ ] NMS account | [ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act | [X] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) | [ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) | Failed login count: 1, while max tries is: 0 Total login count: 250 - - - - User Edit Menu: 1 - Clear (blank) user password 2 - Edit (set new) user password (careful with this on XP or Vista) 3 - Promote user (make user an administrator) 4 - Unlock and enable user account [probably locked now] q - Quit editing user, back to user select Select:
Учетная запись скорее всего будет заблокирована, вводим "4" чтобы разблокировать учетку и соглашаемся с записью изменений.
Далее снова вводим команду: "chntpw -u 0x01f4 SAM" и убеждаемся что теперь запись разблокирована, то есть следующая надпись без крестика: "[ ] Disabled"
Теперь нам осталось обнулить пароль: вводим "1" и снова соглашаемся с записью изменений.
Можно перезагружаться и входить в Windows под учетной записью встроенного администратора с пустым паролем (просто нажать Enter), не забудьте указать авторизацию именно на локальной машине, а не в домене.
Дальше беру флешку с набором портативных программ - Liberkey. И запускаю программу Recuva.
В Recuva рекомендую:
- Перейти в "расширенный режим" - кнопка правом верхнем углу.
- Нажать кнопку "Настройки"
- Вкладка "General": выбираем русский язык
- Вкладка "Действия": отмечаем галочками "Показывать файлы из скрытых папок", "Показывать надежно удаленные файлы", "Глубокий анализ", "Восстанавливать структуру папок" и жмем "ОК"
- В главном окне в выпадающем списке возле кнопки "Анализ" рекомендую указать необходимый тип данных, вряд ли вам понадобиться восстанавливать все подряд и копаться среди кучи системных файлов. Можно перечислить необходимые типы файлов: "*.jpg|*.png|*.raw|*.gif|*.jpeg|*.bmp|*.tif"
- Жмем кнопку "Анализ". Ждем пока пройдет анализ.
- Отмечаем найденные файлы и жмем кнопку "Восстановить". Зеленый цвет - файлы можно восстановить, желтый, красный - как повезет.
Восстанавливать естественно нужно на тот диск, где не хранятся утерянные файлы, иначе можете перезаписать утерянные данные. Чем меньше компьютер работал после удаления файлов - тем больше шансов на их восстановление. Службы которые активно используют жесткий диск лучше сразу же отключить во избежание записи данных поверх удаленной информации - например антивирус. Лучше загружаться в безопасном режиме.
Для восстановления данных еще вроде неплохая программа Runtime GetDataBack for NTFS, но она мне не понадобилась.
P.S.: лишь опосля я вспомнил о хитром методе, для которого не нужны никакие утилиты сброса пароля, все что нужно - доступ к файлам диска C:\
Скажите, а метод работает на всех версиях Windows?
В Windows 7 есть жёсткий баг, если переименовать cmd.exe в osk.exe, вместо экранной клавиатуры будет запускаться командная строка со всеми правами. В Windows Vista такое не сработало…
Спасибо за статью, буду пользоваться!