вторник, 21 февраля 2017 г.

Восстановление паролей файлов в linux.

Если статья оказалась полезной для вас, пожалуйста подпишитесь на мой телеграм канал:

Jonh the Ripper (Джон потрошитель :) ) - очень мощный инструмент позволяющий восстановить забытый(!) пароль множества приложений. Суть сводится к тому, что сначала JTR получает хэш-паролей из файлов пароль к которым был утерян и после путем подбора находит соотвествующую хэшу секретную фразу.

Разберем работу JTR на примере восстановления пароля к запароленному архиву zip. Скачиваем и устанавливаем JTR(в системе должна быть установлена библиотека libssl-dev):

$ wget http://www.openwall.com/john/j/john-1.8.0-jumbo-1.tar.xz
$ tar -xvf ./john-1.8.0-jumbo-1.tar.xz
$ cd john-1.8.0-jumbo-1/src
$ ./configure
$ make clean && make -s

Теперь в каталоге john-1.8.0-jumbo-1/run/ появились скрипты, каждый из которых нацелен на получения хэшей паролей из соответствующих названию приложений:

john-1.8.0-jumbo-1/run$ ls
1password2john.py genmkvpwd lion2john-alt.pl raw2dyna
7z2john.py gpg2john lion2john.pl regex_alphabets.conf
aix2john.pl hccap2john lm_ascii.chr relbench
aix2john.py hextoraw.pl lotus2john.py repeats16.conf
alnum.chr htdigest2john.py lower.chr repeats32.conf
alnumspace.chr ikescan2john.py lowernum.chr rexgen2rules.pl
alpha.chr ios7tojohn.pl lowerspace.chr sap2john.pl
androidfde2john.py john luks2john sha-dump.pl
apex2john.py john.bash_completion mailer sha-test.pl
ascii.chr john.conf makechr SIPdump
base64conv john.local.conf mcafee_epo2john.py sipdump2john.py
benchmark-unify john.log mkvcalcproba ssh2john
bitcoin2john.py john.pot ml2john.py ssh2sshng.py
blockchain2john.py john.rec mozilla2john.py sshng2john.py
calc_stat john.zsh_completion netntlm.pl stats
cisco2john.pl kdcdump2john.py netscreen.py strip2john.py
cprepair keepass2john odf2john.py sxc2john.py
cracf2john.py keychain2john office2john.py tgtsnarf
dictionary.rfc2865 keychain2john.py openbsd_softraid2john.py truecrypt_volume2john
digits.chr keyring2john openssl2john.py uaf2john
dmg2john keystore2john pass_gen.pl unafs
dmg2john.py keystore2john.py password.lst undrop
dumb16.conf known_hosts2john.py pcap2john.py unique
dumb32.conf korelogic.conf pdf2john.py unshadow
dynamic.conf kwallet2john pfx2john upper.chr
dynamic_flat_sse_formats.conf kwallet2john.py putty2john uppernum.chr
ecryptfs2john.py lanman.chr pwsafe2john utf8.chr
efs2john.py latin1.chr racf2john vncpcap2john
encfs2john.py ldif2john.pl radius2john.pl wpapcap2john
genincstats.rb leet.pl rar2john zip2john

Создадим в домашнем каталоге zip-архив Arch.zip с паролем 123:

$ zip --encrypt ~/Arch.zip ~/lock.sh
Enter password:
Verify password:
adding: home/yar1k/lock.sh (stored 0%)
$

Теперь попробуем восстановить пароль, сначала находим хэш пароля и сохраняем его отдельно:

$ ./zip2john ~/Arch.zip > ~/Arch.hash
ver a efh 5455 efh 7875 Arch.zip->home/yar1k/lock.sh PKZIP Encr: 2b chk, TS_chk, cmplen=58, decmplen=46, crc=B9B185AE
$

Запускаем подбор пароля указав в качестве файла с хэшем файл полученный на предыдущем этапе:

$ ./john --incremental ~/Arch.hash
Loaded 1 password hash (PKZIP [32/64])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
123 (Arch.zip)
1g 0:00:00:01 DONE (2017-02-21 15:21) 0.8264g/s 13540p/s 13540c/s 13540C/s 123456..andeo
Use the "--show" option to display all of the cracked passwords reliably
Session completed
$

Пароль найден. В зависимости от типа шифрования может различаться скорость подбора паролей, поэтому если у вас в памяти есть хотя бы какие-то намеки на то какой пароль мог стоять на файле, можно составить словарь паролей и используя соответствующий ключ для JTR проверить пароли по словарю:

$ ./john --wordlist ~/wordlist.txt ~/Arch.hash

Для генерации словарей с паролями можно использовать утилиту crunch.

Комментариев нет:

Отправить комментарий