LINUX.ORG.RU

Как расшифровать пароль из /etc/shadow?


0

0

Забыл пароль. Сменил его, загрузившись в single-mode, но интересно, какой был старый пароль. В начале хэша стоит $1$, что, как я понял, означает шифрование md5. Вопрос: чем расшифровать этот хэш?

Заранее спасибо.

★★★★★

Гипотеза: Для криптостойкого алгоритма хеширования существует бесконечное количество комбинаций символов, которым может быть сопоставлено любое заданное значение хеша.

anonymous
()

> Забыл пароль. Сменил его, загрузившись в single-mode, но интересно, какой был старый пароль. В начале хэша стоит $1$, что, как я понял, означает шифрование md5. Вопрос: чем расшифровать этот хэш?

$ apt-cache show john
Package: john
Priority: optional
Section: admin
Installed-Size: 476
Maintainer: John Packaging Team <pkg-john-devel@lists.alioth.debian.org>
Architecture: amd64
Version: 1.7.2-3
Depends: libc6 (>= 2.7-1), libssl0.9.8 (>= 0.9.8f-5), john-data (= 1.7.2-3)
Suggests: wenglish | wordlist
Filename: pool/main/j/john/john_1.7.2-3_amd64.deb
Size: 178528
MD5sum: 265abe3c846885527e24cd2a70e87723
SHA1: 8720141ed351b39d82f8e4fbf33123ae008b0b56
SHA256: 2c90da82adbde7fe5291b377389bcf9f730df1068d0285e9655c34386447542a
Description: active password cracking tool
john, mostly known as John the Ripper, is a tool designed to help systems
administrators to find weak (easy to guess or crack through brute force)
passwords, and even automatically mail users warning them about it, if it
is desired.
.
It can also be used with different cyphertext formats, including Unix's
DES and MD5, Kerberos AFS passwords, Windows' LM hashes, BSDI's extended DES,
and OpenBSD's Blowfish.

gaa ★★
()
Ответ на: комментарий от question4

Вообще-то это по опредлению так должно быть. А вот как это можно доказать для любого конкретного алгоритма - вопрос интересный.

anonymous
()
Ответ на: комментарий от question4

> Ещё mdcrack обнаружил, как он по сравнению с "John the Ripper"?

Не знаю, я только джонна пробовал. И то чисто ради интереса, т.е. пароль я не забывал :)

gaa ★★
()

А можно сделать как в старые добрые времена: 1 Загрузится с live-cd 2 Примонтировать системную партицию на запись 3 Стереть кракозябры от зашифрованного пароля между двоеточиями 4 Загрузится с пустым паролем и применить новый

Archer_84
()
Ответ на: комментарий от Archer_84

> А можно сделать как в старые добрые времена: 1 Загрузится с live-cd 2 Примонтировать системную партицию на запись 3 Стереть кракозябры от зашифрованного пароля между двоеточиями 4 Загрузится с пустым паролем и применить новый

Вместо 3 и 4 можно сразу chroot /mnt/root-partition passwd и ввести новый пароль.

gaa ★★
()
Ответ на: комментарий от gaa

>>1 Загрузится с live-cd 2 Примонтировать системную партицию на запись

>Вместо 3 и 4 можно сразу chroot /mnt/root-partition passwd и ввести новый пароль.

А вместо 1 и 2 хватило загрузки в single-mode :)

Я уже сказал, пароль я сменил, просто хочу знать старый.

question4 ★★★★★
() автор топика
Ответ на: комментарий от Archer_84

>3 Стереть кракозябры от зашифрованного пароля между двоеточиями 4 Загрузится с пустым паролем

не сработает. Проще добавить юзера и дописать его кеш

iRunix ★★★★
()
Ответ на: комментарий от kelyar

> можно попробовать passcracking.com

Спасибо. Но он требует именно md5-хеш (как и mdcrack). Как его получить из содержащейся в /etc/shadow информации?

question4 ★★★★★
() автор топика
Ответ на: комментарий от iRunix

> Так там кеш и записан

Кеш? Или ты имеешь в виду всё-таки хеш (hash)?

passcracking.com/ru и mdcrack требуют пароль в виде 32-значного 16-ричного числа. Например d577273ff885c3f84dadb8578bb41399 . В /etc/shadow хранятся строки вида root:$1$DNi1gtgL$1Vh53NVb.CjiG5au2AleK.:1:0:9999:7:::

Как из второго получить первое?

question4 ★★★★★
() автор топика

> Забыл пароль. Сменил его, загрузившись в single-mode, но интересно, какой был старый пароль. В начале хэша стоит $1$, что, как я понял, означает шифрование md5. Вопрос: чем расшифровать этот хэш?

джон рипер и, если не повезёт, пара лет свободного времени

GuttaLinux
()
Ответ на: комментарий от GuttaLinux

> джон рипер и, если не повезёт, пара лет свободного времени

9 символов, искажённое русское слово в английской раскладке. Это сколько получится?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

>Можно ссылку на доки, как он получается из обычного?

Генерируется рандомная соль (затравка), которая конкатенируется к паролю, и с этой строки снимается хеш, который и записывается рядом с солью. В итоге хеши одинаковых паролей не одинаково выглядят. После второго знака "$" идёт соль, после третьего собственно хеш. Точного описания найти сейчас не смог, поэтому объяснил на пальцах.

feanor ★★★
()

Если отвечать чисто по теме, то расшифровать md5 не получится, можно только подобрать пароль, а это весьма долго если пароль длинный и/или сложный.

feanor ★★★
()
Ответ на: комментарий от feanor

> Генерируется рандомная соль (затравка), которая конкатенируется к паролю, и с этой строки снимается хеш,

Спасибо, из мануала этого не понял.

> после третьего собственно хеш.

А как эти символы a-zA-Z0-9./ соотносятся с 16-ричным числом? Считать их цифрами 64-ричного числа, или как-то сложнее?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

>А как эти символы a-zA-Z0-9./ соотносятся с 16-ричным числом?

Это я и сам не понимаю, но john зато распознает и пытается брутфорсить.

feanor ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.