Програми аудиту та зламу паролів John The Ripper та L0phtcrack

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Курсова робота

на тему: Програми аудиту та зламу паролів John The Ripper та L0phtcrack

Вступ

 

У Linux паролі шифруються в алгоритмі "DES", також є така річ як "salt", це дві будь-які літери, які є ключем до паролю, іншими словами, за допомогою "salt" і шифрується пароль.

Паролі в більшості випадків зберігаються в таких файлах:

/ Etc / passwd

/ Etc / shadow

Хоча можуть і лежати в якому-небудь / etc / shadow.old або / etc / passwd.tmp.Зробивши лістинг директорії / etc /, відразу можна все зрозуміти.passwd файл, це якраз те що нам треба, але в більшості випадків паролі зберігаються в shadow (в тіні), в цьому випадку в passwd бачимо наступну ситуацію:

root: *: 0:0: System Administrator: / root: / bin / csh

rfindd: *: 66:1: Rfind Daemon and Fsdump: / var / rfindd: / bin / sh

Увага! Насправді ніяких паролів тут немає!А ось якщо бачимо таку ситуацію:

root: 9IDv/CqdFuqWo: 0:0: System Administrator: / root: / bin / csh

john: 653MWdpUGN3BM: 66:1: John Nikolsen, 2-nd west: / home / john: / bin / sh

То можна помітити, що даний приклад більш схожий на правду.Давайте розберемося на прикладі з користувачем "john":

john: 653MWdpUGN3BM: 66:1: John Nikolsen, 2-nd west: / home / john: / bin / sh

1.john - імя користувача.

2.653MWdpUGN3BM - пароль зашифрований в DES.

3.66:1 - номер користувача в системі: номер робочої групи (у root завжди 0:0).

4.John Nikolsen, 2-nd west - інформація про користувача (зазвичай Імя, Прізвище...).

5./ Home / john - Домашній каталог.

6./ Bin / csh - shell.

Але відразу хотілося б відзначити, що на файл у якому знаходяться паролі в DES (будь то shadow або passwd), права в більшості випадків дають r -------- або r - r -----, це означає, що права на читання є у rootа та зареєстрованих користувачів (у другому випадку r - r -----).

У Free BSD паролі зберігаються у файлі / etc / master.passwd, а в іншому технологія така ж як і в LINUX, хоча використовується більш стійкий алгоритм шифрування MD5.У Open BSD, для шифрування використовується алгоритм Blowfish.

John The Ripper

 

John The Ripper- вільна програма, призначена для відновленняпаролів за їхнімихешам.Основне призначення програми - аудит слабкихпаролів уUNIX системах.Програма також може виконувати аудитNTLMхешей,Kerberos, та ін.

John the Ripper,можливо, найшвидший і найбільш універсальний з доступних інструментів, призначених для злому паролів.Програма підтримує шість різних схем хешування паролів, які покривають різні варіанти схем хешування паролів для Unix і Windows LanMan (використовуваний в NT, 2000 і XP). Він може використовувати спеціалізований список слів або правил для паролів, заснованих на типах символів і їх місцезнаходження. Програма працює під управлінням 13 різних операційних систем і підтримує різні процесори, включаючи спеціальні прискорювачі для Pentium і RISC-процесорів.

Реалізація

По-перше, необхідно отримати і скомпілювати програму. Після розпакуванняjohn-1.6.31-devв обраній директорії, вам буде потрібно перейти в директорію/src.

[Root @ hedwig] # tar zxvf john-1.6.31-dev.tar.gz

[Root @ hedwig] # tar zxvf john-1.6.tar.gz

[Root @ hedwig] # cd john-1.6.31-dev

[Root @ hedwig john-1.6.31-dev] # cd src

Наступна команда проста:make .

[Root @ hedwig src] # make win32-cygwin-x86-mmx

Потім програма самостійно здійснить збірку версії для вашої платформи.Коли процес закінчиться, виконувані файли і файли конфігурації будуть розміщені в директоріїjohn-1.6.31-dev/run.Версія розробника не містить деякі необхідні файли. Вам знадобиться розпакувати ці файли з архівуjohn-1.6.tar.gzі помістити його у директорію/run.

[Root @ hedwig] # cd john-1.6.31-dev/run

[Root @ hedwig run] # cp../../john-1.6/run/all.chr.

[Root @ hedwig run] # cp../../john-1.6/run/alpha.chr.

[Root @ hedwig run] # cp../../john-1.6/run/digits.chr.

[Root @ hedwig run] # cp../../john-1.6/run/lanman.chr.

[Root @ hedwig run] # cp../../john-1.6/run/password.lst.

Якщо все пройшло нормально, ви можете протестувати програму. Для решти команд вам слід враховувати, що поточною директорією є john-1.6.31-dev/run.По-перше, переконайтеся, що програма працює, показуючи базову швидкість роботи для вашої системи.

[Root @ hedwig run] #. / John-test

Benchmarking: Traditional DES [64/64 BS MMX]...DONE

Many salts: 323175 c / s

Only one salt: 279202 c / s

Benchmarking: BSDI DES (x725) [64/64 BS MMX]...DONE

Many salts: 10950 c / s

Only one salt: 10770 c / s

Benchmarking: FreeBSD MD5 [32/32]...DONE

Raw: 2437 c / s

Benchmarking: OpenBSD Blowfish (x32) [32/32]...DONE

Raw: 169 c / s

Benchmarking: Kerberos AFS DES [48/64 4K MMX]...DONE

Short: 118816 c / s

Long: 305669 c / s

Benchmarking: NT LM DES [64/64 BS MMX]...DONE

Raw: 487689 c / s

Варті уваги два тести:FreeBSD MD5іNT LMDES.Кількість взломів у секунду (c / s) відрізняється для цих двох методів у 200 разів.Це означає, що на повну атаку перебором для FreeBSD буде потрібно в 200 разів більше зусиль, ніж на аналогічну роботу для Windows NT!Алгоритм OpenBSD Blowfish ще більш трудомісткий для злому.Це говорить про те, наскільки більш стійким може бути алгоритм шифрування в порівнянні з іншими типами алгоритмів.Замість того щоб говорити, що один алгоритм безпечніше іншого, правильніше буде сказати, що алгоритм Blowfish більш стійкий до атаки перебором.

 

Злом паролів

 

Тепер виламаємо пароль. Програма може сприймати три різних формати паролів. Насправді, програма може зламати будь-який шифр паролів, описаний в довідці, отриманої запараметром-test.Все, що вам потрібно зробити, це переформатувати пароль у вигляд, який може прийняти додаток. Якщо ви використовуєте парольний файл Unix або вихідний формат утилітиpwdump,про яку буде розмова пізніше в цій лекції, то вам не потрібно модифікувати формат файлу. Нижче наведено пять різних прикладів форматів файлів паролів, які програма знає, як інтерпретувати (рядок пароля виділена жирним шрифтом).

root:rf5V5.Ce31sOE:0:0::

root:KbmTXiy.OxC.s:11668:0:99999:7: -1: -1:1075919134

root:$ 1 $ M9/GbWfv $ sktn.4pPetd8zAwvhiB6.1:11668:0:99999:7: -1: -1:107591