Курсовая работа: Програми аудиту та зламу паролів John The Ripper та L0phtcrack
Курсовая работа: Програми аудиту та зламу паролів 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 <OS name>.
[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 LM DES. Кількість взломів у
секунду (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:1075919134
root: $ 2a $
06 $ v3LIuqqw0pX2M4iUnCVZcuyCTLX14lyGNngtGSH4/dCqPHK8RyAie: 0:0 ::::::
Administrator:
500: 66bf9d4b5a703a9baad3b435b51404ee: 17545362d694f996c37129225df11f4c:::
Далі перерахуємо
системи, з яких взято наведені вище приклади. Зауважимо, що, незважаючи на
те, що кожен з них дещо відрізняється в конкретній операційній системі, формати
файлів схожі. Зауважимо також, що ви можете зламати паролі для Solaris,
використовуючи Windows-версію програми: для цього необхідна лише реальна рядок
пароля; операційна система не важлива.
Solaris DES from
/ etc / passwd.
Mandrake Linux DES
from / etc / shadow.
FreeBSD MD5 from
/ etc / shadow.
OpenBSD Blowfish
from / etc / master.password.
Windows 2000 LAN
Manager from \ WINNT \ repair \ SAM.
Паролі можуть
бути зламані та програмою, що працює під відмінною від Unix і Windows
операційною системою. Для злому одного з цих паролів просто скопіюйте
рядок (виділену жирним шрифтом у кожному прикладі) у другому полі файлу у
форматі Unix.
Cisco
Вихідна
рядок: enable secret 5 $ 1 $ M9/GbWfv $ sktn.4pPetd8zAwvhiB6.1
Фраза для
злому: cisco: $ 1 $ M9/GbWfv $ sktn.4pPetd8zAwvhiB6.1::::
Apache.
Htaccess-файли, які використовують рядок пароля, сформатована у форматі
DES. Apache також підтримує рядки паролів у форматі алгоритмів SHA-1 і
MD5, але вони несумісні з форматом програми.
Вихідний формат.
Htaccess: dragon: yJMVYngEA6t9c
Формат для програми: dragon:
yJMVYngEA6t9c::::
Інші, засновані
на алгоритмі DES паролі, такі як WWWBoard.
Вихідний файл
passwd.txt: WebAdmin: aepTOqxOi4i8U
Фраза для злому:
WebAdmin: aepTOqxOi4i8U: 0:3: www.victim.com::
Для злому пароля
з використанням опцій за замовчуванням, ви повинні ввести ім'я файлу в якості
аргументу. Для прикладів ми будемо використовувати три різних файлу
паролів: passwd.unix, містить паролі, зашифровані за допомогою алгоритму DES,
passwd.md5, містить паролі, зашифровані з використанням алгоритму MD5, і
passwd.lanman, містить паролі у форматі Windows NT.
[Root @ hedwig
run] #. / John passwd.unix
Loaded 189
passwords with 182 different salts
(Traditional DES
[64/64 BS MMX])
Програма
автоматично вибирає правильний алгоритм шифрування для рядків і починає
злом. Натисніть будь-яку клавішу, щоб вивести на екран поточну статистику
злому, і CTRL-C, щоб перервати роботу програми. Якщо пароль зламаний,
програма виводить на екран і зберігає зламаний пароль для подальшого
використання. Щоб подивитися розкриті паролі із спеціального файлу,
використовуйте параметр-show.
[Root @ hedwig
run] #. / John-show passwd.unix
2buddha: smooth1:
0:3: wwwboard: /: / sbin / sh
Страницы: 1, 2, 3, 4 |