49999 (Програми аудиту та зламу паролів John The Ripper та L0phtcrack), страница 2
Описание файла
Документ из архива "Програми аудиту та зламу паролів John The Ripper та L0phtcrack", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49999"
Текст 2 страницы из документа "49999"
[0123456789]. Цифри.
[!@#$%^&*()]. Верхній регістр для цифр.
[,.?!]. Знаки пунктуації.
Ми можемо використовувати перетворення правил для зміни регістру або типу (верхній, нижній, від e до 3) символів, або видалення окремих типів символів.
? V? Голосні (a, e, i, o, u).
s? v.? Заміна голосних точкою (.).
@ @? V? Видалити всі голосні.
@ @ A? Видалити всі букви a.
sa4? Замінити всі букви a на 4.
se3? Замінити всі букви e на 3.
l *? Де * символ, який треба перевести в нижній регістр.
u *? Де * символ, який треба перевести у верхній регістр.
Правила - чудовий спосіб підвищити продуктивність підбору пароля, особливо ті з них, які додають символи або правила l33t, що замінюють символи і цифри. Правила найбільш підходять для випадку, коли швидкість роботи комп'ютера не більше, ніж у мавпи, яка вважає на рахунках. Сьогодні, коли за кілька сотень доларів можна купити процесор з тактовою частотою більше 1GHz, ви не багато втратите, пропустивши етап обробки складними правилами, і перейдете безпосередньо до прямого перебору.
Складні правила і великі словники не зможуть зламати будь-який пароль. Це змушує вдаватися до атаки методом прямого перебору. Іншими словами, ми будемо пробувати всі можливі комбінації символів заданої довжини. Програма може перемикатися в режим прямого перебору за замовчуванням, якщо в командному рядку не задано жодних параметрів. Щоб змусити програму перейти до прямого перебору, використовуйте параметр-incremental.
[Root @ hedwig run] #. / John-incremental: LanMan passwd.lanman
Loaded 1152 passwords with no different salts (NT LM DES [64/64 BS MMX])
За замовчуванням файл john.conf містить чотири адитивних параметра.
All. Нижній регістр, верхній регістр, цифри, пунктуація, SHIFT +.
Alpha. Нижній регістр.
Digits. Від 0 до 9.
LanMan. Те ж, що і All, за винятком нижнього регістра.
Кожен адитивний параметр має п'ять полів у файлі john. conf. Наприклад, стрічка для LanMan містить наступні поля.
[Incremental: LanMan]. Опис параметра.
File =. / Lanman.chr. Файл використовуваний як список символів.
MinLen = 0. Мінімальна довжина генерується рядка.
MaxLen = 7. Максимальна довжина генерується рядка.
CharCount = 69. Кількість символів у списку.
Аналогічно рядок для ALL містить наступні поля.
[Incremental: All]. Опис параметра.
File =. / All.chr. Файл, який використовується як список символів.
MinLen = 0. Мінімальна довжина генерується рядка.
MaxLen = 8. Максимальна довжина генерується рядка.
CharCount = 95. Кількість символів у списку.
Поля MinLen і MaxLen найбільш важливі, оскільки ми можемо змінювати їх для визначення атаки. У MaxLen для LanMan ніколи не може бути більше семи символів. Число CharCount в ступені MaxLen дає кількість комбінацій, необхідне для повного завершення атаки перебором. Наприклад, загальна кількість комбінацій для роботи з паролями LanMan становить 7.6 трильйона. Загальна кількість комбінацій при використанні параметра ALL становить близько 6700 трильйонів! Зауважимо, що безглуздо використовувати параметр incremental: All для підбору паролів LanMan, оскільки немає необхідності окремо перевіряти символи нижнього і верхнього регістрів.
Якщо в розпорядженні список паролів з Unix, про який відомо, що всі паролі складаються з восьми символів, ми можемо змінити значення параметрів. У даному випадку це економить час, оскільки можна не займатися перебором рядків довжиною в сім і менш символів.
[Incremental: All]
File =. / All.chr
MinLen = 8
MaxLen = 8
CharCount = 95
Потім запустимо програму.
[Root @ hedwig run] #. / John-incremental: All passwd.unix
Буде проводитися тільки перебір рядків довжиною у вісім символів. Ми можемо використовувати параметр-stdout, щоб перевірити це. Кожен використаний варіант буде роздруковуватися на екрані.
[Root @ hedwig run] #. / John-incremental: All-stdout
Це корисно, якщо ви перенаправляє вивід в файл, створюєте список слів для подальшого використання з програмою john або іншою утилітою, яка може використовувати файл зі списком слів, наприклад Whisker.
[Root @ hedwig run] #. / John-makechars: guessed
Loaded 3820 plaintexts
Generating charsets... 1 2 3 4 5 6 7 8 DONE
Generating cracking order... DONE
Successfully written charset file: guessed (82 characters)
Відновлення файлів і розподілений злом
Вам слід знати дещо про програму john, щоб керувати великими наборами паролів різного ступеня складності. Програма періодично зберігає стан процесу, записуючи проміжні результати у файл. Період збереження встановлюється у файлі john.conf.
# Crash recovery file saving delay in seconds
Save = 600
Ім'я файлу за замовчуванням restore, але його можна змінити, використовуючи параметр-session.
[Root @ hedwig run] #. / John-incremental: LanMan-session: pdc \
passwd.lanman
Loaded 1152 passwords with no different salts (NT LM DES
[64/64 BS MMX])
Вміст файлу restore виглядає приблизно так.
REC2
5
-Incremental: LanMan
-Session: pdc
passwd.lanman
-Format: lm
6
0
47508000
00000000
0
-1
488
0
8
3
2
6
5
2
0
0
0
Число можливих комбінацій не може бути представлено 32-бітним числом, тому програма використовує два 32-бітових поля для створення 64-бітного числа. Інформація про це числі й те, як ним можна маніпулювати, може бути використана для виконання розподілених обчислень. Візьмемо наш файл restore і використовуємо його для запуску паралельних версій програми на двох незалежних машинах. Файл restore для першого комп'ютера буде містити наступні рядки.
REC2
4
-Incremental: LanMan
passwd.lanman
-Format: lm
4
0
00000000
00000000
0
-1
333
0
8
15
16
0
0
0
0
0
0
Файл restore для другого комп'ютера буде таким.
REC2
4
-Incremental: LanMan
passwd.lanman
-Format: lm
4
0
00000000
0000036f
0
-1
333
0
8
15
16
0
0
0
0
0
0
Отже, перша система почне перебір комбінацій з нуля. Другий комп'ютер почне перебір з паролів для LanMan зі значення 0000036f 00000000. Тепер робота розподілена між двома машинами, і вам не слід турбуватися про надлишкові комбінаціях. Грамотність прийому для пошуку правильного значення "crypt" полягає в тому, щоб дозволити опрацювати системі деякий час.
Наприклад, уявімо собі, що у вашому розпорядженні 10 комп'ютерів. На кожній з цих систем програма виконує 400000 c / s (взломів у секунду). Для однієї з цих машин знадобитися 30 тижнів, щоб перебрати всі можливі комбінації з семи символів у випадку роботи з паролями LanMan (69 ^ 7 комбінацій). Запустіть програму на одній з машин на тиждень. Наприкінці тижня запишіть значення "crypt". Візьміть це значення і використовуйте його для іншої машини, і потім помножте значення на 2 і використовуйте отримане число для наступної машини. Тепер 10 комп'ютерів закінчать роботу по перебору всіх комбінацій за три тижні. Ця проста арифметика дозволяє визначити множник X для значення"crypt", яке необхідно записати в 10 файлів - по одному для кожної машини. Перша машина почне перебір з нуля, наступна зі значення нуль плюс X, і так далі.
Загальний час в тижнях.
Tw = (69 ^ 7 / взломів у секунду) / (секунд на тиждень)
Tw = (69 ^ 7 / 400,000) / (604800) = 30.8 тижнів.
"Crypt" множник.
X = Tw / (10 машин)
X = 30.8 / 10 = 3
Значення "crypt" після першого тижня (шістнадцяткове число, взяте з файлу restore): 00030000 00000000.
Нижче наведені значення параметра "crypt" (у шістнадцятковій запису). Це значення, які необхідно записати у файли на кожній системі.
System 1 = 0
System 2 = "crypt" * X = 00090000 00000000
System 3 = "crypt" * X * 2 = 00120000 00000000
System N = "crypt" * X * (N - 1) = restore value
System 10 = "crypt" * X * 9 = 00510000 00000000
Цей метод далекий від елегантності, але ефективний, коли використовується на кількох однакових машинах. Інший спосіб розподіленого злому - використання параметра-external. Цей параметр дозволяє написати свої програми і методи перебору паролів. Зовнішні програми зберігаються у файлі john.conf після директиви List.External. Просто використовуйте директиву-external, як це потрібно.
L0phtcrack
L0phtcrack - утиліта для аудиту і злому паролів знову з'явилася на світ, здобувши по дорозі ряд нових можливостей. Основні можливості програми: Імпорт різна інформації про облікові записи користувачів; Відновлення паролів (атакою по словнику або послідовним перебором); Розбиття послідовного перебору на частини; Обчислення хешей (LM-і NT-хеш за паролем та LM-і NT-відповідей за паролем і запиту сервера), має підтримку 64-бітових процесорів і самих останніх операційних систем від Microsoft, Ubuntu і інших. Крім того, утиліта запропонує новий ефективний підхід до злому хешу NTLM - захисного алгоритму Windows, увійшов у моду декілька років тому... і т.д.
L0phtcrack 6 пропонується світу все тією ж командою хакерів, яка вперше представила її десятиліття тому. У 2005 році, відразу ж після придбання утиліти компанією Symantec, розробка програми була припинена - ймовірно через те, що її агресивна призначення не відповідало духу інших продуктів, що випускаються Symantec.
Багато чого змінилося за ті п'ять років, що пройшли з моменту виходу L0phtcrack 5, і ряд таких змін знайшов відображення у новій версії. Так, L0phtcrack 6 має підтримку 64-бітових процесорів і самих останніх операційних систем від Microsoft, Ubuntu і інших. Крім того, утиліта запропонує новий ефективний підхід до злому хешу NTLM - захисного алгоритму Windows, увійшов у моду декілька років тому.
Реінкарнація L0phtcrack стала можливою після того, як її автори знову викупили права на цю програму у Symantec, які та придбала в 2004 році разом з компанією @ stake, яка їх одержала за рік до цього після злиття з L0pht.
Інсталяція
Для інсталяції просто розархівуйте дистрибутивний архів у будь-який каталог на жорсткому диску. Створіть ярлик до програми L0phtcrack.exe (або L0phtcrack95.exe для Windows 95/98). Крім того, якщо ви фізично підключені до даної локальної мережі і використовуєте Windows NT 4.0 (або Window 2000), ви можете використовувати мережевий sniffer readsmb.exe, за допомогою якого можна отримати паролі клієнтських машин Windows 3.11/95/95 і MS-DOS Перед використанням мережевого sniffer'a необхідно попередньо встановити мережевий NDIS-драйвер, який входить до дистрибутивний комплект. Цей драйвер може працювати тільки поверх драйвера реально присутньої в системі мережевого Ethernet-плати і використовує протокол CSMA-CD. Для установки NDIS-драйверу відкрийте аплет "Network" (Мережа) у панелі керування. На вкладці "Protocols" (Протоколи) натисніть кнопку "Add" (Додати). Потім натисніть кнопку "Have Disk" (Установити з диска) і визначте каталог, в який ви встановили L0phtCrack і в якому знаходиться файл Oemsetup.inf файл. Після перезавантаження ви зможете використовувати мережевий sniffer readsmb.exe, для перехоплення паролів клієнтських машин Windows.
Спочатку система Windows здавалася більш привабливою з точки зору безпеки паролів, ніж Unix. Більшість Unix-систем ніколи не створюють паролі більше восьми символів.
Windows NT допускає довжину пароля до 14 символів, це майже подвоєння довжини! Mudge і Weld Pond від L0pht Heavy Industries займаються удосконаленням схеми шифрування LanMan. Компанія послідовно випускала кошти, які користувалися перевагою неадекватності схеми шифрування паролів.
Ми вже коротко згадували в цій лекції про систему шифрування LanMan. Ми знаємо, що це система зберігання шифрованих паролів, схожа з форматами Unix-файлів / etc / passwd чи / etc / shadow. Що можна зрозуміти, уважно вивчаючи, як генерується і зберігається в LanMan шифрована рядок? Система Windows зберігає дві версії користувальницького пароля. Перша версія називається LanMan, або LM, хеш. Друга версія - NT-хеш, який шифрується з використанням алгоритму MD5. Це однобічна функція. Пароль шифрується, але ніколи не розшифровується. Рядок LanMan також шифрується за допомогою однопрохідної функції, але в цьому випадку пароль розбивається на дві частини перед тим, як шифруватися з використанням алгоритму DES.
Подивимося на вміст трьох рядків паролів в LanMan. Вони представлені в шістнадцятковій запису і містять 16 байт даних.
898f30164a203ca0 14cc8d7feb12c1db
898f30164a203ca0 aad3b435b51404ee
14cc8d7feb12c1db aad3b435b51404ee