<
  • Главная
Статьи

John the Ripper - Інструменти Kali Linux

  1. Опис John the Ripper John the Ripper створений бути багатофункціональним і швидким. Він поєднує...
  2. Керівництво по John the Ripper
  3. Приклади запуску Unshadow
  4. Приклади запуску John the Ripper
  5. Приклади запуску Unique
  6. Установка John the Ripper
  7. Установка в Debian, Mint, Ubuntu
  8. Додаткові підказки для компіляції:
  9. Установка в Windows
  10. Примітка относительно перенесення бінарніків между системами
  11. Оптимальна збірка на OS X (для Jumbo)
  12. CUDA на OS X
  13. Скріншоти John the Ripper

Опис 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 тріпкод.

При запуску на дистрибутивах Linux з glibc 2.7+, John 1.7.6+ додатково підтримує (і автоматично визначає) хеші SHA-crypt (які дійсно використовуються останніми версіями Fedora і Ubuntu), з опціональною параллелизация OpenMP (вимагає GCC 4.2+, який повинен бути явно підключений під час компіляції шляхом раскомментірованія рядки з властивістю OMPFLAGS ближче до початку файлу Makefile).

За аналогією, коли запущений на останніх версіях Solaris, John 1.7.6+ підтримує і автоматично визначає хеші SHA-crypt і SunMD5 з опціональною параллелизация OpenMP (вимагає GCC 4.2+ або останню Sun Studio, які повинні бути очевидно підключені під час компіляції шляхом раскомментірованія рядки з властивістю OMPFLAGS на початку файлу Makefile і під час виконання налаштуваннях змінної оточення OMP_NUM_THREADS на необхідну кількість потоків).

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.

Домашня сторінка: http://www.openwall.com/john/

Автор: Solar Designer

Ліцензія: GPLv2

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

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

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

Використання:

john [ОПЦИИ] [ФАЙЛИ-пароль] --single [= СЕКЦІЯ] режим "одного злому" --wordlist [= Фото] --stdin режим словника, читати слова з ФАЙЛА або стандартного вводу --pipe як --stdin, але об'ємне читання і дозволяє правила --loopback [= Фото] як --wordlist, але отримує слова з файлу .pot --dupe-suppression пригнічує все дублі в словнику (і примусово перезавантажує) --prince [= Фото] режим ПРИНЦ (PRINCE ), читає слова з ФАЙЛА --encoding = ІМ'Я входить кодування (наприклад, UTF-8, ISO-8859-1). Дивіться також doc / ENCODING і --list = приховані опції. --rules [= СЕКЦІЯ] включити правила управління словами для словникового режиму --incremental [= РЕЖИМ] режим "збільшення" [використання секції РЕЖИМ] --mask = МАСКА режим маски з використанням МАСКИ --markov [= ОПЦИИ] режим "Маркова "(дивись doc / MARKOV) --external = рЕЖИМ внутрішній режим або фільтр слів --stdout [= ДОВЖИНА] просто виводить кандидати в паролі [обрізані по ДОВЖИНІ] --restore [= ІМ'Я] відновити перервану сесію [з ім'ям ІМ'Я] - -session = іМ'Я дати нової сесії іМ'Я --status [= іМ'Я] надрукувати статус сесії [по імені іМ'Я] --make-charset = фото зробити файл з набором символів. Він буде переписаний --show [= LEFT] показати зламані паролі [якщо = LEFT, значить невзломанние] --test [= ЧАС] запустити тест і бенчмарк на ЧАС секунд кожен --users = [-] LOGIN | UID [, .. ] тільки й [не] завантажувати цього (цих) користувач (ів) --groups = [-] GID [..] тільки завантажувати користувачів (не) з цієї (цих) групи (груп) --shells = [-] SHELL [, ..] тільки завантажити користувачів з (без) цього (цих) шелла (ів) --salts = [-] КІЛЬКІСТЬ [: МАКСИМУМ] завантажити солі з (без) КІЛЬКІСТЮ [до МАКСИМУМУ] хешів --save-memory = рІВЕНЬ включити збереження пам'яті на рівень 1..3 --node = МІНІМУМ [-максимум] / ВСЬОГО номер діапазону цьог про вузла з ВСЬОГО числа --fork = N форкнуть N процесів --pot = ІМ'Я pot файл для використання --list = ЩО список сумісності, дивись --list = help або doc / OPTIONS --format = ІМ'Я примусово задати ІМ'Я типу хешу . Формати можна побачити з --list = formats і --list = subformats

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

ІМ'Я

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

СИНОПСИС

john [опції] файли-паролів

ОПИС

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

ВИКОРИСТАННЯ

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

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

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

john -show passwd

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

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

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

john -restore

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

john -show -shells: - / etc / expired passwd

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

./mailer passwd

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

ОПЦИИ

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

-external: РЕЖИМ

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

-format: ІМ'Я

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

-groups: [-] GID [..]

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

-incremental [: РЕЖИМ]

Включає режим збільшення, який використовує задані в ~ / john.ini визначення (за замовчуванням секція [Incremental: MODE] або [Incremental: All])

-makechars: Фото

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

-restore [: Фото]

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

-rules

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

Також ця опція вимагає опції -wordlist.

-salts: [-] КІЛЬКІСТЬ

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

-savemem: РІВЕНЬ

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

-session: Фото

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

-shells: [-] ШЕЛЛ [..]

Ця опція корисна для завантаження акаунтів з тільки валідними Шеллі і незагрузкі з поганими Шеллі. Ви можете пропустити шлях перед ім'ям шелла, так '-shells: csh' буде відповідати і '/ bin / csh' і '/ usr / bin / csh', при цьому '-shells: / bin / csh' буде відповідати тільки '/ bin / csh '.

-show

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

-single

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

-status [: Фото]

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

-stdin

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

-stdout [: ДОВЖИНА]

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

-test

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

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

-users: [-] ЛОГІН | UID [..]

Дозволяє вам фільтрувати кілька акаунтів для злому, наприклад. Мінус перед списком може бути використаний для інвертування перевірки (він робить так, що завантажуються всі користувачі крім тих, які в списку).

-wordlist: Фото

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

РЕЖИМИ

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

  • Wordlist (словник)

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

  • Single crack (одиночний злом)

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

  • Incremental (приріст)

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

ФАЙЛИ

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

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

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

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

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

root @ HackWare: ~ # unshadow / etc / passwd / etc / shadow> unshadowed.txt

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

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

root @ HackWare: ~ # john --wordlist = / usr / share / john / password.lst --rules unshadowed.txt Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt" Use the "- -format = crypt "option to force loading these as that type instead Using default input encoding: UTF-8 Loaded 1 password hash (sha512crypt, crypt (3) $ 6 $ [SHA512 128/128 SSE2 2x]) Will run 2 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status 1 (root) 1g 0: 00: 00: 07 DONE (2015-12-20 7:41) 0.1394g / s 428.4p / s 428.4c / s 428.4C / s ilovegod..mobydick Use the "--show" option to display all of the cracked passwords reliably Session completed

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

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

root @ kali: ~ # unique -v -inp = allwords.txt uniques.txt Total lines read 6089 Unique lines written 5083

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

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

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

установка залежностей

sudo apt-get install build-essential libssl-dev

  • Рекомендовані (додаткові формати і продуктивність)

sudo apt-get install yasm libgmp-dev libpcap-dev libnss3-dev libkrb5-dev pkg-config

  • Якщо у вас NVIDIA GPU (підтримка CUDA і OpenCL)

sudo apt-get install nvidia-cuda-toolkit nvidia-opencl-dev

  • Якщо у вас AMD GPU (або хочете використовувати CPU як OpenCL пристрій)

sudo apt-get install fglrx-updates-dev

опциональная підтримка MPI

sudo apt-get install libopenmpi-dev openmpi-bin

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

sudo apt-get install subversion cmake bison flex mkdir ~ / src && cd ~ / src svn checkout http://rexgen.googlecode.com/svn/trunk/ rexgen cd rexgen / src mkdir build && cd build cmake .. make && sudo make install

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

  • Клонуємо репозиторій GIT

cd ~ / src git clone git: //github.com/magnumripper/JohnTheRipper -b bleeding-jumbo john cd ~ / src / john / src # Для MPI використовуйте нижче './configure --enable-mpi' ./configure && make -s clean && make -sj4

  • Протестуйте вашу збірку

../run/john --test = 0 --format = cpu

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

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

./configure && make

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

./configure && make -sj4

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

./configure && make -s clean && make -sj4

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

./configure LDFLAGS = -L / opt / lib CFLAGS = "- O2 -I / opt / include" && make

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

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

./configure --disable-pkg-config

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

./configure --disable-openmp && make

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

make -f Makefile.legacy

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

make -f Makefile.legacy clean SYSTEM

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

make -f Makefile.legacy clean generic

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

cd ../run ./john --test

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

Установка в Windows

Для Windows є скомпільовані виконані файли. Перейдіть на офіційний сайт http://openwall.com/john/ і скачайте архів в якому згадується слово «Windows».

Розпакуйте архів.

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

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

При вказівці мети 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»:

1. Встановіть Homebrew: http://mxcl.github.io/homebrew/

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

brew install gcc openssl brew link --force openssl

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

cp -avi osx_as_wrapper.sh / usr / local / bin / as

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

ln -s gcc-4.7 / usr / local / bin / gcc

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

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

CUDA на OS X

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

brew install llvm-gcc-28 sudo ln -s /usr/local/Cellar/llvm-gcc28/2.8/bin/llvm-gcc /usr/bin/llvm-gcc-4.2

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

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

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

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



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью