p align="left"># Prepend digits (adds 10 more passes through the wordlist) [0123456789] Ми можемо розбити це правило на три частини. Символ ^ означає, що операція повинна починатися від початку слова. Іншими словами, вона повинна випереджати послідовність символів. Квадратні дужки [і] містять набір символів, які повинні слідувати за символом ^. Цифри 0123456789 є символами, які повинні передувати слово. Отже, якщо наше правило працює з рядком "letmein", йому знадобиться лише десять спроб, щоб пробігти від комбінації "0letmein" до"9letmein". Ми можемо визначити будь-який набір символів, який буде вставлятися в рядок. Повний список слів буде перероблений для кожного з додаткових символів. Наприклад, список з 1000 слів може реально перетворитися на список з 10000, якщо до кожного слова в початок буде доданий один із символів від 0 до 9. Нижче наведені деякі, найбільш часто використовувані символи, які додаються до базових словами. [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.
Страницы: 1, 2, 3
|