- Словники
- Правила
- Супер-правила
- Генератор словників
- онлайн словники
- синтаксис
- Опис синтаксису правил гібридної атаки по словнику
- Правила
Гібридна атака за словником - це різновид простий словникової атаки. Однак на відміну від останньої, гібридна атака дозволяє користувачеві задавати свої власні правила мутації (варіації) слів і перевіряти їх в якості вихідного пароля. Наприклад, можна перевести першу букву перевіряється пароля в верхній регістр, додати в кінець символ 2, замінити 8 на B, O на 0 і т.д.
Дії, що застосовуються до вихідних словами словника, називаються правила. До одного вихідного слова можна застосовувати кілька правил. Разом з дистрибутивом програми поставляється розширений набір правил мутації паролів. Синтаксис правил гібридної атаки сумісний з програмами John the Ripper і PassworsPro . Автор останньої люб'язно надав один з розширених наборів правил, що входять (у відредагованому вигляді) в дистрибутив Windows Password Recovery.
Опції гібридної атаки по словнику розділені на 7 вкладок:
1. Словники - для завдання вихідних словників
2. Правила - файли з наборами правил
3. Супер-правила - правила, які можна застосувати поверх всіх звичайних, точніше до або після них
4. Генератор словника, в якій можна створювати готові словники, одержувані в результаті роботи гібридної атаки
5. Онлайн словники - для скачування нових словників в програму
6. Синтаксис атаки - повний опис всіх правил з прикладами
7. Тестер правил для тестування власних правил
Разом з дистрибутивом програми поставляється розширений набір правил мутації паролів:
Файл hybrid_rules / english_words.ini містить набір основних правил для англійських паролів.
hybrid_rules / nonenglish_words.ini містить набір основних правил для неанглійських паролів.
hybrid_rules / simple_dates.ini - правила з датами, місяцями, порами року і т.д.
hybrid_rules / l33t.ini - правила нівечення слів. Наприклад, password-> p @ $$ w0rd
З більш детальною статистикою по всіх наборів правил можна ознайомитися у відповідній статті .
Словники
Словники для атаки задаються в першій вкладці. Традиційно підтримуються наступні формати: ASCII, UTF8, UNICODE, PCD, ZIP, RAR. Порядок файлів в списку можна змінювати. Наприклад, невеликі словники переміщати в початок списку або навпаки. При цьому в атаці вони будуть використовуватися послідовно, згідно зі списком.
Правила
У вкладці 'Правила' необхідно задати принаймні один файл з правилами мутації паролів. З програмою поставляється кілька таких файлів, наприклад, english_words.ini з більш ніж 3000 правилами. Формат файлу з правилами досить тривіальний і є простий текстовий ASCII файл з рядком [Rules]. Все, що йде до цієї терміни, вважається коментарями і ігнорується програмою. Все, що після цього індикатора, розглядається як правила. Кожен рядок може містити кілька правил, що застосовуються до вихідного слова. Якщо рядок містить кілька правил для одного слова, то ці правила обробляються зліва направо. Наприклад, якщо до вихідного слова 'password' застосувати правило '@ pc $ a $ b $ c', то на виході отримаємо 'Asswordabc'. Максимальна довжина вихідного вираження поглядів не може перевищувати 256 символів.
Супер-правила
Супер-правило - це одне або кілька правил, які необхідно застосувати поверх всіх звичайних наборів правил. Точніше, до або після них. Наприклад, після відпрацювання звичайного правила (або декількох, якщо вони задані на одному рядку), для того, щоб згенерувати всі можливі комбінації великих і малих літер, можна задати кінцеве супер-правило 'a8'. Так правило '/ asa4' з файлу l33t.ini буде '/ asa4a8', а '/ csc (' перетвориться в '/ csc (a8', і т.д. Ще один приклад: якщо встановити початкове супер-правило '> 6
Супер-правило 'aN' може збільшити число генеруються паролів в сотні або навіть тисячі разів!
Генератор словників
Вкладка 'Генератор словників' призначена для створення словників, одержуваних в результаті роботи цієї атаки. Надалі, ці словники, наприклад, можна використовувати в інших програмах. Для створення словника, задайте вихідний словник і набір правил мутації. Довжина генерується файлу може перевищувати 2 Гб.
Будьте обережні, процес створення словника може зайняти значний час!
онлайн словники
у вкладці 'Онлайн словники' можна завантажити з сайту Passcape вихідні словники для цієї атаки.
синтаксис
Якщо ви хочете створити свій власний набір правил, то дві останні вкладки можна використовувати як допомогу. У вкладці 'Синтаксис' дані прості опису правил, в останній кладці можна їх протестувати, задавши вихідне слово і правило для гібридної атаки. Свої набори правил надсилайте нам. Якщо вони здадуться нам цікавими / корисними, ми включимо їх в стандартну поставку програми.
Опис синтаксису правил гібридної атаки по словнику
- Допускається задавати кілька правил на одному рядку.
- Обробка правил (якщо їх декілька на одному рядку) йде зліва направо.
- Максимальна довжина рядка - 256 символів.
- Максимальна довжина вихідного слова 256 символів.
- Весь текст до рядка [Rules] вважається коментарем і ігнорується.
- Рядок, що починається символом # вважається коментарем і ігнорується.
- Прогалини в рядках, якщо вони не є частиною правил, ігноруються.
- Значення параметрів N і M починаються з 0. Для значень більше 9 використовуйте A..Z (A = 10, B = 11 і т.д.). Наприклад, правило 'C обмежує довжину слова 12 символами.
- Наступні правила повинні бути останніми в рядку: aN,? IN [C],? I [C],? ON [C],? O [C],? IZ [C],? OZ [C]
- Не міняйте імена стандартних файлів з правилами. Деякі з них використовуються програмою.
- Правила? IN [C],? I [C],? ON [C],? O [C]? IZ [C],? OZ [C] використовують такі вбудовані набори символів (також можна задавати свої власні):
digits - 0123456789
loweralpha - abcdefghijklmnopqrstuvwxyz
upperalpha - ABCDEFGHIJKLMNOPQRSTUVWXYZ
alpha - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
special -! @ # $% ^ & * () -_ + = ~ `[] {} | \ :;" '<>,.? / "
loweralphanumeric - abcdefghijklmnopqrstuvwxyz0123456789
upperalphanumeric - ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
alphanumeric - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
printable - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789! @ # $% ^ & * () -_ + = ~ `[] {} | \ :;" '<>,.? /
Ми будемо дуже вдячні, якщо ви надішлете нам свої власні правила, які можна включити в дистрибутив програми!
Правила
ПравилоПрикладВхід.словоВихід.словоОпис:: password password Нічого не робити зі словом. {{Password asswordp Зрушити слово вліво. }} Password dpasswor Зрушити вправо. [[Password assword Видалити перший символ. ]] Password passwor Видалити останній символ слова. c c password Password Зробити першу букву заголовної. C C password pASSWORD Перша буква рядкова, інші великі. d d password passwordpassword Дублювати все слово. f f password passworddrowssap Відобразити (дзеркальна перестановка букв). k k password
пароль зфиицщкв
gfhjkm Конвертувати слово використовуючи альтернативну (першу після встановленої за замовчуванням) розкладку клавіатури. Це правило працює в обох напрямках. Наприклад, якщо в системі встановлено Російська розкладка клавіатури, це правило трансформує слово 'password' в російський еквівалент 'зфиицщкв', а Російське слово 'пароль' в 'gfhjkm'. Це буває дуже корисно, коли маємо справу з не-англійськими паролями. Якщо в системі встановлений тільки одну мову, правило буде проігноровано. K K password passwodr Поміняти місцями два останніх символу. l l PassWord password Всі букви в нижній регістр. q q password ppaasssswwoorrdd Дублювати все символи в слові. r r password drowssap Перевернути слово. t t PassWord pASSwORD Звернути регістр букв (інверсія регістру). u u password PASSWORD Всі букви в верхній регістр. U U my own password My Own Password Перші літери всіх слів у верхній регістр (мається на увазі, що слова розділені пропуском). V V password PaSSWoRD Згодні букви перевести у верхній регістр, голосні - в нижній. v v password pASSWoRD Згодні букви перевести в нижній регістр, голосні - в верхній. 'N' 4 password pass Обрізати слово до довжини N. + N +1 password pbssword Збільшити значення ASCII символу в позиції N. -N -0 password obssword Зменшити значення ASCII символу в позиції N. .N .4 password passoord Замінити символ в позиції N символом в позиції N + 1. , N, 1 password ppssword Замінити символ в позиції N символом в позиції N-1. Де N> 0> N Відхилити (пропустити) слово якщо його довжина перевищує N символів. > N Відхилити (пропустити) слово якщо його довжина менше N символів. _N _8 Відхилити (пропустити) слово якщо його довжина не дорівнює N символів. aN a8 Перевіряти всі можливі комбінації контексту. N задає максимальну довжину слова, для якого може бути застосоване це правило. DN D2D2 password paword Видалити символ в позиції N. pN p3 key keykeykey Копіювати слово N раз. SLN SL2 012345678 01d345678 Арифметичний зсув вліво символу в позиції N. SRN SR2 password pa9sword Арифметичний зсув вправо символу в позиції N. TN T1T5 password pAsswOrd Звернути регістр букв в позиції N. yN y3 password paspasword Продублювати перші N символів. YN Y3 password paswordord Продублювати останні N символів. zN z3 password ppppassword Дублювати перший символ слова N раз. ZN Z3 password passwordddd Дублювати останній символ слова N раз. $ X $ 0 $ 0 $ 7 password password007 Додати символ X в кінець слова. ^ X ^ 3 ^ 2 ^ 1 password 123password Вставити символ X в початок слова. @X @s password paword Видалити всі символи X з слова. ! X!. Відхилити (пропустити) слово якщо воно містить принаймні один символ X. / X / 1/2/3 Відхилити (пропустити) слово якщо воно не містить символ X. (X (p відхилити (пропустити) слово якщо його перший символ НЕ X .) X) d Відхилити (пропустити) слово якщо його останній символ НЕ X. eX e @ [email protected] mike Витягти подстроку, що починається з першої позиції і закінчується перед першим знайденим символом X (X не входить). EX E @ e. [email protected] yahoo Витягти подстроку, яка починається відразу за першим знайденим символом X (і до кінця рядка). % MX% 20 Відхилити (пропустити) слово якщо воно не містить щонайменше M символів X. * XY * 15 password possward Поміняти місцями символи в позиціях X і Y. = NX = 01 Відхилити (пропустити) слово якщо символ в позиції N пропустити X. iNX i4ai5bi6c password passabcword Вставити символ X в позицію N. oNX o4 * o5 * password pass ** rd Замінити символ в позиції N символом X. sXY ss $ so0 password pa $$ w0rd Замінити всі символи X на Y. xNM x4Z password word Витягти подстроку довжиною M символів починаючи з позиції N. INX-Y rI0 / - / r google.com google.com/ Вставити символ X в позицію N, якщо попередній символ в позиції N пропустити дорівнює Y. INX + Y rI0. +. r password. password .. Вставити символ X в позицію N, якщо попередній символ в позиції N дорівнює Y. ONX-Y O0- + p password -assword Якщо символ в позиції N пропустити дорівнює Y, перезаписати його символом X. ONX + Y O0P + p password Password якщо символ в позиції N дорівнює Y, перезаписати його символом X. RNM + Y R01 + a password assword Видалити символ в позиції N, якщо символ в позиції M дорівнює Y RNM-Y R40-b password passord Видалити символ в позиції N, якщо символ в позиції M НЕ дорівнює Y? iN [C]? i0 [digits] password 0password
..
9password Вставити символ з набору [C] в позицію N вхідного слова. Де [C] може бути як ім'ям набору, так і самим набором. ? iZ [C]? iZ [digits] password password0
..
password9 Вставити символ з набору [C] в останню позицію вхідного слова. ? i [C]? i [special] password ~ password
..
password + Вставити символ з набору [C] в кожну позицію вхідного слова. [C] може бути як ім'ям набору, так і самим набором. ? oN [C]? o1 [upperalpha] password pAssword
..
pZssword Замінити у вхідному слові символ в позиції N кожним символом з набору [C]. Де [C] може бути як ім'ям набору, так і самим набором. ? oZ [C]? oZ [upperalpha] password passwor0
..
passwor9 Замінити у вхідному слові останній символ кожним символом з набору [C]. ? o [C]? o [- =.] password -password
..
password. Перезаписати у вхідному слові символ в кожній позиції символом з набору [C]. [C] може бути як ім'ям набору, так і самим набором. В даному прикладі правило? O [C] згенерує наступні паролі: -password, = password, .password, -assword, = asswords, .assword, p-ssword, p = ssword ... password.
IN [C],?
I [C],?
ON [C],?
O [C],?
IZ [C],?
Правила?
IN [C],?
I [C],?
ON [C],?