John the ripper - інструменти kali linux

Опис John the Ripper

John the Ripper створений бути багатофункціональним і швидким. Він поєднує кілька режимів злому в одній програмі і повністю налаштовуємо під ваші конкретні нужди (ви навіть можете визначити для користувача режими злому використовуючи вбудовану підтримку компілятора підмножини C). Також John доступний на кількох різних платформах, що дає вам можливість використовувати однаковий зломщик всюди (ви навіть можете продовжити сесію злому, яку ви почали на іншій платформі).

З коробки John підтримує (і автоматично визначає) такі типи хешів Unix crypt (3): традиційні засновані на DES, "bigcrypt", BSDI розширені засновані на DES, засновані на FreeBSD MD5 (також використовуються на Linux і в Cisco IOS) і OpenBSD засновані на Blowfish (тепер також використовуються на деяких дистрибутивах Linux і підтримуються останніми версіями Solaris). Також з коробки підтримуються хеші Kerberos / AFS та Windows LM (засновані на DES), а також засновані на DES тріпкод.

John the Ripper Pro додає підтримку для Windows NTLM (засновані на MD4) і хешів з сіллю Mac OS X 10.4+ SHA-1.

«Покращена співтовариством» версія - jumbo додає підтримку набагато більшого типів хешів паролів, включаючи Windows NTLM (заснований на MD4), Mac OS X 10.4-10.6 хеші з сіллю SHA-1, Mac OS X 10.7 хеші з сіллю SHA-512, сирі MD5 і SHA-1, довільні засновані на MD5 типи хешів паролів від «веб додатків», хеші використовувані базами даних SQL (MySQL, MS SQL, Oracle) і деякими серверами LDAP, кілька типів хешів використовуваних в OpenVMS, хеші паролів Eggdrop IRC bot, і безліч інших типів хешів, а також багато файлів не-хешів, таких як приватні ключі OpenSSH, файли S / Key skeykeys, Kerberos TGT, PDF файли, ZIP (класичний PKZIP і WinZip / AES) і архіви RAR.

На відміну від старіших зломщиків, John зазвичай не використовує процедури в стилі crypt (3). Замість цього він має свої власні високо оптимізовані модулі для різних типів хешів і процесорних архітектур. Деякі з використовуваних алгоритмів, таких як bitslice DES, навіть не можуть имет реалізацію всередині crypt (3) API; вони вимагають більш потужних інтерфейсів, таких який використовується в John. Крім того, є процедури на мові Асемблер для кількох процесорних архітектур, найбільш важливі для x86-64 і x86 з SSE2.

Пакети, включені в John the Ripper

  • mailer - Скрипт попереджає поштою користувачів про їх слабких паролі
  • john - зломщик паролів John the Ripper
  • unafs - Скрипт для попередження користувачів про їх слабких паролі
  • unshadow - Комбінує файли passwd і shadow
  • unique - Видаляє дублікати зі словника

Довідка по John the Ripper

Керівництво по John the Ripper

john - це інструмент для пошуку слабких паролів ваших користувачів

John, краще відомий як as John the Ripper, - це інструмент для пошуку слабких паролів користувачів на сервері. John може використовувати словник або деякі пошукові зразки, а також файл паролів для перевірки паролів. John підтримує різноманітні режими зламу й розуміє багато форматів зашифрованого тексту, начебто декількох варіантів DES, MD5 і blowfish.Он також може бути використаний для отримання AFS та паролів Windows NT.

Для використання John вам потрібно вказати файл пароля і бажані опції. Якщо режим не вказано, john буде спочатку пробувати «одиничний», потім «по словнику» і нарешті «прирощення».

Як тільки John знаходить пароль, він може бути надрукований в терміналі і збережений в файл під назвою

/.john/john.pot. John при перезапуску буде зчитувати цей файл щоб не ламати вже готові пароль.

Щоб побачити вже зламані паролі використовуйте

Важливо: робіть це в тієї ж директорії, де пароль був зламаний (коли використовуєте cronjob, / var / lib / john), інакше це не спрацює.

/.john/john.rec). Між іншим, якщо ви натиснете двічі Ctrl + C, то John негайно зупиниться без збереження. На випадок вильоту, поточна інформація також зберігається кожні 10 хвилин (це налаштовується у файлі конфігурації

Для відновлення перерваної сесії запустіть:

Тепер ви можете помітити, що багато аккаути мають відключений шелл, ви можете зробити так, що John ігноруватиме їх (мається на увазі, що цей шелл називається / etc / expired):

Можливо вам захочеться відправити пошту користувачам зі слабким паролем для того, щоб вони змінили свої паролі. Це завжди гарна ідея (хоча, на жаль, більшість людей ігнорують такі листи, це може бути підказкою для зломщиків), в будь-якому випадку, мається на увазі, що ви розумієте що робите. Скрипт 'mailer' поставляється з John, тому якщо ви нічого не змінювали, то він в / usr / sbin; відредагуйте повідомлення для відправки і, можливо, команду mail всередині нього (особливо якщо файл пароля з іншого місця, відмінного від того, де ви запустили John). Потім запустіть:

У будь-якому випадку, можливо, вам слід поглянути в / usr / share / doc / john / OPTIONS щоб побачити список усіх опцій командної рядки і в / usr / share / doc / john / EXAMPLES для додаткових прикладів використання John з іншими режимами злому

Всі опції, які розуміє john, починаються з одиничною рисочки ( '-'). Далі коротка інформація по опціях.

Включає зовнішній режим, який використовує зовнішні функції визначені в секції [List.External: MODE]

Дозволяє вам перевизначати виявлений формат шифрованого тексту. В даний час валідними іменами форматів є DES, BSDI, MD5, BF, AFS, LM. Ви можете використовувати ці опції за злом або з '-test'. Зверніть увагу, що John не може в один час зламувати файли паролів з різними форматами шифрованого декста.

Каже John'у завантажити користувачів тільки з специфічної групи (груп).

Включає режим збільшення, який використовує задані в

/john.ini визначення (за замовчуванням секція [Incremental: MODE] або [Incremental: All])

Генерує файл наборів символів, заснований на частоті знаків з

/.john/john.pot, для використання в режимі збільшення. весь

/.john/john.pot буде використовувати для файлу набору символів, якщо ви не задали кілька файлів паролів. Ви також можете використовувати зовнішню процедуру filter () з цією опцією.

Продовжує перервану сесію злому, Новомосковскет інформацію про точку зупинки із зазначеного файлу (за замовчуванням

Включають правила словника, які зчитуються з [List.Rules: Wordlist] в /etc/john/john.conf (або альтернативному файлі конфігурації, який ви могли вказати в командному рядку).

Також цей параметр вимагає опції -wordlist.

Ця функція іноді дозволяє вам досягти поліпшеної продуктивності. Наприклад, ви можете зламувати швидше тільки деякі солі використовуючи '-salts: 2 ", а потім зламувати залишилися використовуючи' -salts: -2 '. Загальний час злому буде приблизно однаковим, але ви швидше одержите зламаними деякі паролі.

Вам може стати в пригоді ця опція якщо у вас недостатньо пам'яті або ви не хочете, щоб John занадто сильно впливав на інші процеси. Рівень 1 говорить John'у не витрачати по напрасну пам'ять на імена логінів, тому ви не побачите їх під час злому. Більш високі рівні впливають на продуктивність: вам слід уникати їх використання крім випадків якщо John не працює або переноситися в swap (своп - файл підкачки).

Дозволяє вам вказати інше ім'я файлу для зберігання інформації про контрольній точці даної сесії злому. Це корисно при паралельному запуску декількох екземплярів John, або для того, щоб просто мати можливість відновити старішу сесію пізніше, адже не завжди потрібно продовжувати найостаннішу.

Показує зламані паролі в зручній формі. Вам також слід вказати файли паролів. Ви можете використовувати цю опцію коли інший John зламує, щоб побачити що він вже зробив.

Включає режим «одиночного злому», який використовує правила з [List.Rules: Single].

Друкує статус перерваної або запущеної сесії. Для отримання актуальної інформації про статус такого від'єднаний запущеної сесії, відправте цієї копії John сигнал SIGHUP перед використанням цієї опції.

Це використовується для включення режиму словника (читання зі стандартного вводу).

При використанні з будь-яким режимом злому, крім «одиничний злом» робить отже John друкує слова, які він створює, в стандартний висновок замість злому. При застосуванні правил словника, значна довжина пароля передбачається бути довгими, або, за замовчуванням, необмеженою.

Робить бенчмарк для всіх включених форматів шифрів зломщика і в цей же час тестує їх на коректність операції.

Це опція не вимагає аргументів. Її єдина функція - це провести бенчмарк системи, на якій працює john.

Це використовується для включення словникового режиму, т. Е. Читання слів з ФАЙЛА.

John може працювати в наступних режимах:

John просто використовує файл зі списком слів, які будуть перевірятися в якості кандидатів в паролі. Про формат файлів словника дивіться файл RULES в документації.

В цьому режимі john намагатиметься зламати пароль використовуючи інформацію login / GECOS як паролі.

Це найпотужніший режим. John буде пробувати будь-які комбінації символів для відновлення пароля. Подробиці про цей режим, включаючи інформацію про визначення своїх власних методів злому, можна знайти в документації john в файлі MODES.

тут ви налаштовуєте, як john буде себе вести.

має повідомлення для відправки користувачам, коли їх паролі вдало зламані.

використовується для настройки як john буде відправляти повідомлення користувачам, у яких зламані пароль.

Приклади запуску Unshadow

Комбінує файл passwd (/ etc / passwd) і shadow (/ etc / shadow) і перенаправляє їх в файл (> unshadowed.txt).

Приклади запуску John the Ripper

Використовуємо словник (-wordlist = / usr / share / john / password.lst). застосовуючи правила перекручення (-rules). намагаємося зламати паролі хешів в даному файлі (unshadowed.txt).

Приклади запуску Unique

Використовувати вербальний режим (-v), прочитати список паролів (-inp = allwords.txt) і зберегти унікальні паролі в файл (uniques.txt):

Установка John the Ripper

Програмне забезпечення вже в Kali Linux.

Установка в Debian, Mint, Ubuntu

  • необхідні
  • Рекомендовані (додаткові формати і продуктивність)
  • Якщо у вас NVIDIA GPU (підтримка CUDA і OpenCL)
  • Якщо у вас AMD GPU (або хочете використовувати CPU як OpenCL пристрій)

Опциональная підтримка REXGEN (додаткові режими злому)

Клонуємо найсвіжішу версію John (у варіанті Jumbo - з додатковим функціоналом від спільноти) і збираємо

  • Клонуємо репозиторій GIT
  • збираємо
  • Протестуйте вашу збірку

Додаткові підказки для компіляції:

Ця версія Jumbo має autoconf, тому вона підтримує дуже поширені ланцюга:

Можливо при складанні ви захочете використовувати опцію "-s", яка придушить нормальний висновок і надрукує тільки попередження і помилки. Для багатоядерних хостів Ви можете додати при складанні, наприклад, "-j4" для використання 4 ядер паралельно. Це можна записати разом:

Опція -j не працює нормально з "чистою" метою, тому якщо ви хочете використовувати її, то робіть це окремо:

/ Configure має знайти і включити всі додаткові речі, які у вас є, включаючи OMP, OpenCL, CUDA і додаткові вищезгадані бібліотеки. Єдиним винятком є ​​MPI, для включення якого потрібно вказати опцію "--enable-mpi":

УВАГА! Якщо ви передаєте CFLAGS як вище, то, можливо, Ви заходите додати "-O2", оскільки вона (і "-g") будуть тільки додані автоматично із зазначеним при старті не порожнім CFLAGS. Це функція макросів autoconf, а не конкретно JtR.

Якщо у вас зламаний pkg-config (наприклад, скаржиться на відсутність OpenSSL навіть якщо він є) ви можете відключити його використання в конфігурації:

Ви також можете відключити певні функції, які ви не хочете, наприклад:

Якщо у вас проблеми з функціями autoconf, ви можете повернутися до застарілого Makefile таким чином:

Ви отримаєте список операційних систем для яких існує специфічна підтримка. Вкажіть мета для make вашої системи і надрукуйте:

де SYSTEM - це відповідна мета для make. Якщо ваша система відсутня в списку використовуйте:

Якщо все пройшло добре, то будуть створені виконані файли для John і супутніх утиліт в "../run/". Ви можете поміняти директорію і запустити John приблизно так:

Як варіант, ви можете скопіювати всю директорію "run" в будь-яке місце за вашим вибором і використовувати John там.

Установка в Windows

Це утиліта командного рядка, тому запускати її потрібно з консолі. Відкрийте вікном командного рядка натисканням Win + x, виберіть там «Командний рядок». Перетягніть у відкрите вікно бажаний для запуску файл та натисніть ENTER:

John the ripper - інструменти kali linux

John the ripper - інструменти kali linux

Примітка щодо перенесення бінарників між системами

При вказівці мети make як "generic", конкретні параметри продуктивності машини визначаються під час компіляції. Додатково деякі ОС-специфічні цілі make говорять компілятору C сгененіровать і оптимізувати код під специфічний для цієї машини тип CPU (в даний час це може бути застосовано з C компіляторів тільки до gcc). Якщо ви перемістіть потім виконані бінарники на іншу машину, то ви можете отримати не найкращу продуктивність, або програма взагалі не запуститься через відсутність функцій CPU, які передбачалися C компілятором. Отже, рекомендується перекомпіліровать John на кожній системі якщо ви використовуєте одну з цих цілей make.

Оскільки поширювані пакети Linux і * BSD John'а зазвичай використовують цілі make за винятком "generic" і оскільки зазвичай використовується gcc, вони зазвичай не схильні до цієї потенційної проблеми.

Оптимальна збірка на OS X (для Jumbo)

Використовуючи OS X, ви можете встановити Xcode (безкоштовно) і за тим її "інструменти командного рядка" і потім нормальна збірка повинна прекрасно працювати. Проте, використовуючи рідної gcc (який насправді clang) призводить до неоптимальною продуктивності і деякі формати недоступні через стародавній OpenSSL.

Тут описано як зробити найкраще з можливого під ваше залізо. Є альтернативні варіанти які, можливо, працюють добре, але ця инструкция для «Homebrew»:

2. Встановіть gcc і openssl від Homebrew.

3. З директорії John "src":

4. Прив'яжіть отриману gcc версію, яку ви отримали від Homebrew до просто "gcc" в директорії / usr / local / bin. Цей приклад для gcc-4.7:

5. Переконайтеся, що / usr / local / bin preceeds / usr / bin в вашому $ PATH

Після зробленого ви повинні бути здатні отримати оптимальну збірку з AVX і / або будь-якими додатковими функціями, які має ваш CPU.

CUDA на OS X

Завантажте CUDA з Nvidia і встановіть її. Якщо крім скарг з приводу llvm-gcc інших помилок не знайдено, то спробуйте це (приклад Homebrew):

Після цього у вас повинно вийти зібрати з дефолтних Makefile.

Скріншоти John the Ripper

Це утиліта командного рядка.

Інструкції по John the Ripper