Chntpw

chntpw — UNIX-утилита с открытым исходным кодом, предназначенная для считывания и модификации базы данных паролей Windows (SAM). Chntpw позволяет получать списки имён пользователей, их типы доступа (обычный или администратор), изменять или сбрасывать пароли, повышать статус произвольных пользователей до администратора и редактировать системный реестр. Для использования программы необходимо загрузить компьютер с внешнего носителя, на котором установлена операционная система с установленной chntpw. Программа поддерживает работу со следующими операционными системами семейства Windows: Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10.

Особенности 
Chntpw даёт пользователям возможность легко удалить свой пароль в случае его утери, но может использоваться и для неправомерного доступа к пользовательским данным в случае, если у злоумышленника имеется физический доступ к компьютеру жертвы. В таком случае злоумышленник сможет незаметно установить на систему компьютерный вирус или получить доступ к сохранённым паролям браузера, установить SSL сертификаты и т. п. Программа не поддерживает работу с зашифрованными дисками (например, с помощью BitLocker), даже если у пользователя имеется пароль для его расшифровки.

Для использования chntpw необходимо загрузить компьютер с операционной системы Linux или загрузочного образа Bootdisk, который можно загрузить с официального сайта. В первом случае, возможно придётся самостоятельно установить chntpw (достаточно загрузить статически слинкованный бинарный файл и запустить его) или воспользоваться операционной системой, в состав которой уже входит chntpw, например Kali Linux.

Опции 
chntpw [options] <samfile> [systemfile] [securityfile] ...Chntpw использует следующие опции командной строки: -h, -u, -l, -i, -e, -d, -N, -E, -v

Примеры 
Пример: примонтировать диск Windows и вывести список всех пользователей в системе:
ntfs-3g /dev/sda1 /media/win
cd /media/win/Windows/System32
cp -r ./config ~ # Сохранить резервную копию базы данных
cd ./config
chntpw '-l' 'SAM'Вывод:| RID -|---------- Username ----------| Admin?|- Lock? --|
| 03h8 | User                             |            | dis/lock  |
| 01f6 | Администратор             | ADMIN | dis/lock  |
| 01f2 | Гость                            |            | *BLANK* |

Примечание: пользователи в программе различаются не по именам, а по уникальному номеру RID — relative identifier. В дальнейшем, чтобы перейти к редактированию заданного пользователя, необходимо сообщить программе именно RID, а не имя пользователя (за исключением опции -u).

Пример: перейти в интерактивный режим и сбросить пароль пользователя:chntpw '-i' 'SAM'
# 1 - Редактировать данные и пароли пользователей
What to do? [1] -> 1 # [Enter]
Please enter user number (RID) or 0 to exit: [1] 03e9 # [Enter]
# 1 - Удалить пароль пользователя
# 2 - Разблокировать пользователя
# 3 - Сделать пользователя администратором
Select: [q] > 1
# Пароль сброшенПримечание: некоторые пользователи предлагают восстанавливать изменённый SAM файл, чтобы скрыть своё присутствие в системе:cp -r ~/config /media/win/Windows/System32Пример: открыть файл реестра, прочитать данные пользователей и хеш суммы их паролей:chntpw '-e' 'SAM'
cd SAM\Domains\Account\Users\Names
ls # chntpw позволяет использовать стандартные команды 'cd', 'ls' и 'cat'
# Вывод:
> key name
> <User>
> <Администратор>
> <Гость>
> <Пользователь>
cd Пользователь # Перейти в каталог пользователя 'Пользователь'
ls # Вывести RID пользователя
> 2t8 
cd \SAM\Domains\Account\Users\000002T8
cat V # Вывести блок данных, содержащий хеш сумму пароля заданного пользователя
> ...Примечание: В интерактивном режиме (или при использовании опции -l) chntpw может вывести не все имена пользователей и RID из-за внутренних ошибок самой программы. Тем не менее, как показано в предыдущем примере, с помощью редактора реестра можно получить полный список имён и RID пользователей. Хеш суммы паролей можно извлечь с помощью сторонних утилит, например pwdump.

Ограничения 
Chntpw не поддерживает работу с зашифрованными NTFS разделами, если эти разделы не могут быть полностью прочитаны Linux системой (как, например, LUKS). Имена пользователей, содержащие символы Юникода, официально не поддерживаются, но кириллица (русский алфавит) работает. Chntpw также не поддерживает работу с паролями Active Directory. Несмотря на наличие возможности изменять пароли, рекомендуется сбрасывать пароль, так как на последних версиях Windows функция смены пароля не всегда работает. Также, стандартный образ для загрузки с внешнего накопителя, который можно скачать с официального сайта программы, зачастую не поддерживает многие сторонние драйверы, в том числе и для работы клавиатуры. В таких случаях автор рекомендует использовать полноценную операционную систему.

Bootdisk 
Bootdisk это загрузочный образ, созданный автором chntpw и доступный для скачивания на официальном сайте утилиты. Известно много проблем, связянных с работой с файловой системой NTFS и поддержкой сторонних драйверов. Последняя версия включает в себя:
 Автоматический поиск разделов Windows на всех дисках
 Возможность редактирования локальных групп Windows
 Современные драйверы для файловой системы NTFS

Дистрибутивы с chntpw 
Программа chntpw входит в состав некоторых дистрибутивов Linux, включая следующие:
 BackTrack (Kali Linux) — дистрибутив Linux, предназначенный для проведения тестов на безопасность
 SystemRescueCD — дистрибутив Linux, предназначенный для восстановления операционных систем
 Fedora — дистрибутив Linux, спонсируемый RedHat
 Ubuntu — операционная система, основанная на Debian
 Также, программа присутствует в репозиториях многих других дистрибутивов Linux

Лицензия 
В связи с десятилетием утилиты автор изменил лицензию с некоммерческой на GNU General Public License (GPL) v2.

Аналоги для других операционных систем

Linux 
Подавляющее большинство дистрибутивов Linux использует файл /etc/shadow для хранения хеш-сумм паролей пользователей. Для смены пароля достаточно изменить содержимое файла, подменив исходную хеш-сумму на желаемую. Тем не менее, зачастую в этом нет необходимости, так как многие дистрибутивы Linux предоставляют опцию загрузки в режиме восстановления системы, где доступна стандартная команда для смены пароля passwd.

Mac OS 
Mac OS предоставляет возможность смены пароля по учётной записи Apple ID и с помощью загрузки с установочного диска в режиме восстановления системы.

См. также 
 pwdump

Примечания

Литература

Ссылки 
 
 http://itc.ua/articles/6-avariynyih-situatsiy-v-kotoryih-vam-ne-oboytis-bez-linux/ - описание работы с chntpw на Ununtu Linux

Контроль доступа
Технологии безопасности Microsoft Windows