chntpw: сброс пароля windows из под linux

Сегодня на работе озадачили: принесли ноутбук и попросили восстановить случайно удаленные данные. Правда жесткий диск зашифрован через 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)":

True Crypt: Mount Options

  • Вводим пароль от зашифрованного жесткого диска.
  • Убеждаемся что логический диск корректно примонтировался: у меня на рабочем столе 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"
  • Жмем кнопку "Анализ". Ждем пока пройдет анализ.
  • Отмечаем найденные файлы и жмем кнопку "Восстановить". Зеленый цвет - файлы можно восстановить, желтый, красный - как повезет.

Recuva

Восстанавливать естественно нужно на тот диск, где не хранятся утерянные файлы, иначе можете перезаписать утерянные данные. Чем меньше компьютер работал после удаления файлов - тем больше шансов на их восстановление. Службы которые активно используют жесткий диск лучше сразу же отключить во избежание записи данных поверх удаленной информации - например антивирус. Лучше загружаться в безопасном режиме.

Для восстановления данных еще вроде неплохая программа  Runtime GetDataBack for NTFS, но она мне не понадобилась.

P.S.: лишь опосля я вспомнил о хитром методе, для которого не нужны никакие утилиты сброса пароля, все что нужно - доступ к файлам диска C:\

Понравилось? =) Поделись с друзьями:

Обсуждение записи “chntpw: сброс пароля windows из под linux”

  1. kirill says:

    Скажите, а метод работает на всех версиях Windows?
    В Windows 7 есть жёсткий баг, если переименовать cmd.exe в osk.exe, вместо экранной клавиатуры будет запускаться командная строка со всеми правами. В Windows Vista такое не сработало…

    Спасибо за статью, буду пользоваться!

Обсудить