В "man" страницата описанието на ... 🎩️ John the Ripper започва 📎️"john, a tool to find weak passwords of your users"... помощ за системните администратори, търсещи да открият лесни за отгатване пароли уязвими за brute-force🔨️cracking или елементарни dictionary attacks. Веднага след приключване на инсталацията може да извикате John през Linux терминала с командата "whereis":
nick@user:~$ whereis john
john: /usr/sbin/john /etc/john /usr/share/john /usr/share/man/man8/john.8.gz
/etc/john,там е john.conf
В /usr/share/john,присъстват password.lst,lm_ascii.chr,ascii.chr,digits.chr,cronjob
Файлът "password.lst" е речник, който идва с програмата и съдържа най обичайни пароли, много често използвани от потребителите.
/usr/share/man/man8/john.8.gz - помощни текстови файлове.
Има още една важна папка, скритата директория (. John) Там ще се създаде текстовият файл john.pot. Може да не са видими след инсталация, но при изпълнение на следната команда трябва да се появят в "home":
john -incremental:ASCII -stdout
При dictionary теста, Hydra изисква инфо и за user name...
Цялата истина за John се крие във файла john.conf. Може да го отворите с текстов редактор (Gedit, Kate, Nano, Leafpad, Xed...) Под Ubuntu:
sudo gedit /etc/john/john.conf
Incremental:ASCII - Описание на опцията.
File = $JOHN /ascii.chr
Файлът ascii.chr намиращ се в /usr/share/john е списък от символи, които ще се използват при генерирането на думи. Включва почти всичко, цифри, интервал, пунктуация, малки и главни букви, препинателни знаци, комбинация от бутона Shift плюс цифрите и други ... !@#$%^&*()
MinLen = 0
"Минимална" дължина, 0 е подразбираща се стойност
MaxLen = 13
"Максимална" дължина , 13 е подразбираща се стойност
CharCount = 95
Брой символи съдържащи се в ascii.chr...
За да си представите размера на изходния файл при тези величини, просто трябва да повдигнете CharCount на степен MaxLen.
CharCount ^ MaxLen = 95 ^ 13
Online calculator:
📎️ exponentiation-calculation
При различни цифрови параметри зададени върху MinLen и MaxLen ще се променя и генерираният резултат.Един примерен сценарий за разкриване на парола чрез dictionary метод използва вече създадена база с думи. При brute-force ще се тества всяка възможна подредба съобразена със зададени стойности във файла "john.conf". Определените характеристики върху MaxLen, MinLen, Incremental, CharCount, ascii.chr или custom.chr са важни. Възпроизвеждат се съчетания от всички символи или само от посочените, към зададени дължини в Min/ MaxLen. John ще се съобрази с тези указания и след като избере правилния криптиращ алгоритъм (DES, MD5 и т.н), ще генерира хеш за всяка създадена комбинация, след което ще го сравни с хеша на паролата. Написаното тук търси само изграждането на речник с думи.
Пример:
MinLen = 8 минимална дължина
MaxLen = 8 (максимална дължина ...) Образуваните думи се състоят само от 8 символа. Тези, които фигурират във файла с разширение .chr
Пример:
MinLen = 4 (мин.дължина ... )
MaxLen = 8 (максимална дължина ...) Тук ще се появи резултат от 4,5,6,7 и 8 символа. За да започне процедурата изпълнете следната команда:
john -incremental:ASCII -stdout>ASCII_Wordlist
john -incremental:ASCII -stdout
Incremental:Alpha - всички 52 букви
Incremental:Digits - само цифри от 0 до 9
Incremental:Alnum - всички 62 букви и цифри
LowerNum (малки букви плюс цифри, 36 общо),
UpperNum (главни букви плюс цифри, 36 общо),
LowerSpace (малки букви, плюс пространство, 27 общо)
Съответно:
john -incremental:Alnum -stdout> Wordlist
john -incremental:Digits -stdout> Wordlist
john -incremental:Alpha -stdout> Wordlist
С John the Ripper има възможност за създаване на custom.chr, който ще включва избрани символи. Ето как става: Чрез файловия мениджъра се доберете до home/*/ .john/ ("покажи скритите файлове"). Отворете файла john.pot с текстов редактор и въведете вашите предпочитания в него. Ще използвам петнадесет "знака" , които ще ми послужат за този пример. Той трябва да изглежда така:
📛️ Пред символите трябва да има двоеточие❗️ " : "
Може да се използва следният синтаксис при създаване на custom.chr.
john --make-charset=custom.chr
...или
john -make-chars:custom.chr
Не трябва да сте root. Няма смисъл да се задава като аргумент файлът "john.pot". При създаване на собствен (.chr) John the Ripper винаги разпознава и се обръща към уникалното име "john.pot". Файлът custom.chr ще се съхрани в "home". Ето резултата:
nick@user:~$ john -make-chars:custom.chr
Loaded 1 plaintext
Generating charsets........................ DONE
Generating cracking order..- Stable order (3 recalculations)
Successfully wrote charset file: custom.chr (15 characters)
[Incremental:Custom]
File = $JOHN/custom.chr
MinLen = 4 ### зададена стойност от 4 символа
MaxLen = 4 ### определена дължина от 4 знака
CharCount = 15 ### налични във файла "john.pot"
Вече може да се създаде тестов wordlist на база Incremental: Custom
john -incremental:custom -stdout>custom_Wordlist
...или
john -incremental=custom -stdout>custom_Wordlist
#### 📎️ List Rules
Големият обем на получените речници при използването на "Incremental modes" ни довежда до употребата на правила от секцията "List Rules".
#### 📎️ john/doc/RULES
Те предсавляват пермутации върху вече съществуващи символи. По този начин се създават съкратени,"непълни" речници с думи. Подобно на непълното комбиниране на числа при някой хазартни игри. Успехът е гарантиран при условия определени от потребителя. За да работят правилата от List Rules, на john му трябва някакъв речник с думи,върху който да ги приложи Аз избирам в моят речник "WORD.lst" да фигурира само един символ, една точка... Ще създам правило от два реда, което ще приложа върху тази "точка". Генерираните думи ще се състоят само от десет (10) символа. В резултат на това ще създам моя "List Rules Wordlist". Като root пиша директно в "john.conf" непосредствено под:
📎️ # Wordlist mode rules
След като сейфна файла той веднага влиза в сила и мога да го приложа:
i0[!ijl1]i[01][Aa4]i2[hHNn]i[23][O@o0]i4[zZ27]i[45][B8&b]i6[gqd]i[67][QDG6]i8[Ee39]i[89][S$5s]@.
i0[!ijl1]i1[Aa4]i2[hHNn]i[03][O@o0]i4[zZ27]i[15][B8&b]i[26][gqd]i7[QDG6]i[48][Ee39]i[79][S$5s]@.
📎️ "Insert/delete commands"
по точно:
📎️ "insert character X in position N"В моето правило прилагам пермутация върху определени групи. Тук "@ ." премахва всички точки от думите във "WORD.lst".
john -wordlist:WORD.lst -rules -stdout
отпечатва резултат на екрана
john -wordlist:WORD.lst -rules -stdout>List_Rules_Wordlist
създава файл List_Rules_Wordlist в home
john -w:WORD.lst -ru -stdout>List_Rules_Wordlist
съкратен вариант на командата
-w:WORD.lst : ще се използва WORD.lst,текстовият файл в $HOME.
-ru : john ще приложи своите вградени правила за промяна на думите от WORD.lst и ще генерира резултати в List_Rules_Wordlist.Това може да бъде промяна на регистъра (промяна на буквите от малки на главни или обратно),обръщане на последователността на символите с цел ефективност и т.н. Тук използвам само една точка,но тя може да се замени например с единични букви на няколко реда или друго.
-stdout : извлича резултати като стандартен изход, вместо да ги използва за разбиване на пароли.
>List_Rules_Wordlist : bash команда,която извежда резултат към файл с име List_Rules_Wordlist.
След всичко това получавам речник с приблизителен размер 600 МВ.
Няма коментари :
Публикуване на коментар
Забележка: Само членове на този блог могат да публикуват коментари.