chntpw

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

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

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

Литература

Ссылки