Тип | Відновлення даних |
---|---|
Розробники | Petter Nordahl-Hagen (Раніше Petter Nordahl) |
Перший випуск | 28 травня 1997 |
Стабільний випуск | 1.00 (1 лютого 2014 ) |
Операційна система | Linux |
Мова програмування | C |
Доступні мови | Английский |
Ліцензія | 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 функція зміни паролю не завжди працює. Також, стандартний образ для завантаження з зовнішнього накопичувача, який можна завантажити з офіційного сайту програми, часто не підтримує багато сторонніх драйверів s, в тому числі і для роботи клавіатури. У таких випадках автор рекомендує використовувати повноцінну операційну систему.[4]
Bootdisk це завантажувальний образ, створений автором chntpw і доступний для скачування на офіційному сайті утиліти. Відомо багато проблем, пов'язаних з роботою з файловою системою NTFS і підтримкою сторонніх драйверів [5]. Остання версія включає в себе:
Програма chntpw
входить до складу деяких дистрибутивів Linux, включаючи наступні:
У зв'язку з десятиріччям утиліти, автор змінив ліцензію з некомерційної на GNU General Public License (GPL) v2.[19]
Переважна більшість дистрибутивів Linux використовують файл /etc/shadow
для зберігання хеш сум паролів користувачів.[20][21] Для зміни пароля достатньо змінити вміст файлу, підмінивши вихідну хеш суму на бажану. Тим не менш, часто в цьому немає необхідності, так як багато дистрибутивів Linux надають опцію завантаження в режимі відновлення системи, де доступна стандартна команда для зміни пароля passwd.[22]
Mac OS надає можливість зміни пароля облікового запису Apple ID і з допомогою завантаження з інсталяційного диска в режимі відновлення системи[23].