chntpw

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

chntpw
Chntpw.png
Тип Восстановление данных
Разработчик Petter Nordahl-Hagen (Ранее Petter Nordahl)
Написана на C
Операционная система Linux
Первый выпуск 28 мая 1997; 22 года назад (1997-05-28)
Последняя версия 1.00 (1 февраля 2014; 5 лет назад (2014-02-01))
Лицензия GPLv2
Сайт pogostick.net/~pnh/ntpasswd/

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 даёт пользователям возможность легко удалить свой пароль в случае его утери[1], но может использоваться и для неправомерного доступа к пользовательским данным в случае, если у злоумышленника имеется физический доступ к компьютеру жертвы. В таком случае злоумышленник сможет незаметно установить на систему компьютерный вирус или получить доступ к сохранённым паролям браузера, установить 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.[2] В дальнейшем, чтобы переийти к редактированию заданного пользователя, необходимо сообщить программе именно 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[3]). Имена пользователей, содержащие символы Юникода, официально не поддерживаются, но кириллица (русский алфавит) работает. Chntpw также не поддерживает работу с паролями Active Directory. Несмотря на наличие возможности изменять пароли, рекомендуется сбрасывать пароль, так как на последних версиях Windows функция смены пароля не всегда работает. Также, стандартный образ для загрузки с внешнего накопителя, который можно скачать с официального сайта программы, зачастую не поддерживает многие сторонние драйверы, в том числе и для работы клавиатуры. В таких случаях автор рекомендует использовать полноценную операционную систему.[4]

Bootdisk[править | править код]

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

  • Автоматический поиск разделов Windows на всех дисках
  • Возможность редактирования локальных групп Windows
  • Современные драйверы для файловой системы NTFS

Дистрибутивы с chntpw[править | править код]

Программа chntpw входит в состав некоторых дистрибутивов Linux, включая следующие:

Лицензия[править | править код]

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

Аналоги для других операционных систем[править | править код]

Linux[править | править код]

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

Mac OS[править | править код]

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

См. также[править | править код]

Примечания[править | править код]

  1. 1 2 6 аварийных ситуаций, в которых вам не обойтись без Linux - ITC.ua. ITC.ua. Дата обращения 29 октября 2015.
  2. 2.3 Security Identifiers (SIDs). msdn.microsoft.com. Дата обращения 28 октября 2015.
  3. Matei Cezar. LUKS: Linux Hard Disk Data Encryption with NTFS Support in Linux (2015-01-07.12.2019).
  4. Offline Windows pw & reg-editor, FAQ. Дата обращения 2015-09-05.12.2019.
  5. Offline Windows pw & reg-editor, bootdisk. pogostick.net. Дата обращения 24 октября 2015.
  6. Kali Linux Has Been Released!. www.backtrack-linux.org. Дата обращения 29 октября 2015. Архивировано 5 ноября 2015 года.
  7. Kali Linux. Официальный сайт. Архивировано 21 марта 2013 года.
  8. chntpw | Penetration Testing Tools. tools.kali.org. Дата обращения 28 октября 2015.
  9. Detailed-packages-list - SystemRescueCd. www.sysresccd.org. Дата обращения 28 октября 2015.
  10. James Stanger. Resetting Passwords with SystemRescueCd. Linux Magazine. Дата обращения 2 января 2016.
  11. chntpw | PkgDB (недоступная ссылка). Дата обращения 24 октября 2015. Архивировано 18 ноября 2015 года.
  12. Ubuntu – Подробная информация о пакете chntpw в precise. packages.ubuntu.com. Дата обращения 24 октября 2015.
  13. Lincoln Spector. Gain Administrator Access Without a Password. PCWorld. Дата обращения 2 января 2016.
  14. Chris Hoffman. Linux to the rescue! How Ubuntu can help a computer in distress. PCWorld (Apr 28, 2014). Дата обращения 2 января 2016.
  15. SlackBuilds.org - chntpw. slackbuilds.org. Дата обращения 30 октября 2015.
  16. app-crypt/chntpw – Gentoo Packages. packages.gentoo.org. Дата обращения 30 октября 2015.
  17. chntpw-0.99.6-18.110511.el6.nux.i686.rpm CentOS 6 Download. pkgs.org. Дата обращения 30 октября 2015.
  18. Arch Linux - chntpw 140201-1 (x86_64). www.archlinux.org. Дата обращения 30 октября 2015.
  19. The Offline NT Password Editor History
  20. Chapter 4. Authentication. www.debian.org. Дата обращения 28 октября 2015.
  21. Shadow Passwords (недоступная ссылка). access.redhat.com. Дата обращения 28 октября 2015. Архивировано 22 сентября 2015 года.
  22. 8.7. Recovering a Broken System. www.debian.org. Дата обращения 28 октября 2015.
  23. Сброс пароля для входа в систему. support.apple.com. Дата обращения 28 октября 2015.

Литература[править | править код]

Ссылки[править | править код]