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 | |
---|---|
Тип | Восстановление данных |
Разработчик | Petter Nordahl-Hagen (Ранее Petter Nordahl) |
Написана на | C |
Операционная система | Linux |
Первый выпуск | 28 мая 1997 |
Последняя версия | 1.00 (1 февраля 2014 ) |
Лицензия | GPLv2 |
Сайт | pogostick.net/~pnh/ntpasswd/ |
Особенности
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, включая следующие:
- BackTrack (Kali Linux)[6] — дистрибутив Linux, предназначенный для проведения тестов на безопасность[7][8]
- SystemRescueCD — дистрибутив Linux, предназначенный для восстановления операционных систем[9][10]
- Fedora — дистрибутив Linux, спонсируемый RedHat[11]
- Ubuntu — операционная система, основанная на Debian[1][12][13][14]
- Также, программа присутствует в репозиториях многих других дистрибутивов Linux[15][16][17][18]
Лицензия
В связи с десятилетием утилиты, автор изменил лицензию с некоммерческой на GNU General Public License (GPL) v2[19].
Аналоги для других операционных систем
Linux
Подавляющее большинство дистрибутивов Linux используют файл /etc/shadow
для хранения хеш сумм паролей пользователей[20][21]. Для смены пароля достаточно изменить содержимое файла, подменив исходную хеш сумму на желаемую. Тем не менее, зачастую в этом нет необходимости, так как многие дистрибутивы Linux предоставляют опцию загрузки в режиме восстановления системы, где доступна стандартная команда для смены пароля passwd[22].
См. также
Примечания
- 6 аварийных ситуаций, в которых вам не обойтись без Linux - ITC.ua . ITC.ua. Дата обращения: 29 октября 2015.
- 2.3 Security Identifiers (SIDs) . msdn.microsoft.com. Дата обращения: 28 октября 2015.
- Matei Cezar. LUKS: Linux Hard Disk Data Encryption with NTFS Support in Linux (2015-01-07.03.2022).
- Offline Windows pw & reg-editor, FAQ . Дата обращения: 2015-09-05.03.2022.
- Offline Windows pw & reg-editor, bootdisk . pogostick.net. Дата обращения: 24 октября 2015.
- Kali Linux Has Been Released! . www.backtrack-linux.org. Дата обращения: 29 октября 2015. Архивировано 5 ноября 2015 года.
- Kali Linux (недоступная ссылка). Официальный сайт. Архивировано 21 марта 2013 года.
- chntpw | Penetration Testing Tools . tools.kali.org. Дата обращения: 28 октября 2015.
- Detailed-packages-list - SystemRescueCd . www.sysresccd.org. Дата обращения: 28 октября 2015.
- James Stanger. Resetting Passwords with SystemRescueCd . Linux Magazine. Дата обращения: 2 января 2016.
- chntpw | PkgDB (недоступная ссылка). Дата обращения: 24 октября 2015. Архивировано 18 ноября 2015 года.
- Ubuntu – Подробная информация о пакете chntpw в precise . packages.ubuntu.com. Дата обращения: 24 октября 2015.
- Lincoln Spector. Gain Administrator Access Without a Password . PCWorld. Дата обращения: 2 января 2016.
- Chris Hoffman. Linux to the rescue! How Ubuntu can help a computer in distress . PCWorld (Apr 28, 2014). Дата обращения: 2 января 2016.
- SlackBuilds.org - chntpw . slackbuilds.org. Дата обращения: 30 октября 2015.
- app-crypt/chntpw – Gentoo Packages . packages.gentoo.org. Дата обращения: 30 октября 2015.
- chntpw-0.99.6-18.110511.el6.nux.i686.rpm CentOS 6 Download (недоступная ссылка). pkgs.org. Дата обращения: 30 октября 2015. Архивировано 18 ноября 2015 года.
- Arch Linux - chntpw 140201-1 (x86_64) . www.archlinux.org. Дата обращения: 30 октября 2015.
- The Offline NT Password Editor History
- Chapter 4. Authentication . www.debian.org. Дата обращения: 28 октября 2015.
- Shadow Passwords (недоступная ссылка). access.redhat.com. Дата обращения: 28 октября 2015. Архивировано 22 сентября 2015 года.
- 8.7. Recovering a Broken System . www.debian.org. Дата обращения: 28 октября 2015.
- Сброс пароля для входа в систему . support.apple.com. Дата обращения: 28 октября 2015.
Литература
- Joseph Muniz, Aamir Lakhani. Web Penetration Testing with Kali Linux. — Birmingham: Packt Publishing Ltd., 2013. — ISBN 978-1-78216-316-9.
- Mark D. Spivey. Practical Hacking Techniques and Countermeasures. — New York: Auerbach Publications, 2006. — С. 325-336. — 752 с. — ISBN 978-0-84937-057-1.
Ссылки
- pogostick.net/~pnh/ntpasswd/ — официальный сайт Offline NT Password & Registry Editor
- http://itc.ua/articles/6-avariynyih-situatsiy-v-kotoryih-vam-ne-oboytis-bez-linux/ - описание работы с chntpw на Ununtu Linux