background image

 

 

 
Warsztaty internetowe: Narzędzia i techniki ataków na komputery w sieci

  

 
 

John the Ripper - reguły

 

 
 

W poprzednich artykułach zostały opisane: pobieranie, instalowanie (kopilowanie) oraz 
podstawowe wykorzystanie programu. Teraz przyszła kolej na opis bardziej zaawansowanych 
funkcji.  
 
Na początku zacznijmy od słowników. Słowniki to pliki zawierające słowa (ciągi znaków), które są 
najczęściej wykorzystywane przez uŜytkowników komputerów w charakterze haseł. W sieci 
Internet moŜna znaleźć znaczną liczbę słowników. W poprzedniej części zaprezentowano 
podstawowy sposób wykorzystania słownika.  
 
JeŜeli potrzebujesz pobrać pliki słowników, proponuję sprawdzić następujące lokalizacje:  



www.openwall.com

  



coast.cs.purdue.edu

  

MoŜna tam znaleźć małe pliki słownikowe zawierające kolekcje słów z róŜnych dziedzin czy teŜ 
tematów. Jest tam równieŜ kompilacja wszystkich słowników, na przykład "all.gz". Plik ten po 
rozpakowaniu ma wielkość ponad 40 MB i jest bardzo potęŜnym narzędziem wspomagającym 
łamanie haseł.  
 
Podstawowe wykorzystanie pliku słownika zostało opisane w poprzednim artykule. Teraz, na bazie 
przykładowego słownika password.lst skorzystamy z kolejnej opcji Johna: -rules. Zasady (rules) 
pozwalają na dokonanie permutacji podstawowej zawartości pliku słownika. Definicja zasad 
(reguł) znajduje się w pliku john.ini (Windows) lub john.conf (UNIX/Linux). Tak wygląda 
przykładowy fragment pliku konfiguracyjnego: 

[...] 
# Wordlist mode rules 
[List.Rules:Wordlist] 
# Try words as they are 

# Lowercase every pure alphanumeric word 
-c >3!?XlQ 
# Capitalize every pure alphanumeric word 
-c >2(?a!?XcQ 
[...] 

Wiersze rozpoczynające się od znaku # to komentarze. Pozostałe definiują zasady, według 
których John, korzystając z pliku słownika, kombinuje nowe ciągi znaków do wykorzystania 
podczas łamania haseł. Format zapisu reguł został zaczerpnięty z programu crack, którego 
autorem jest Alec Muffet.  
 
PoniŜej została zaprezentowana składnia polecenia wraz z opcją -rules:  
 

  

 
ZałóŜmy, Ŝe w systemie operacyjnym administrator zdefiniował w systemie operacyjnym zasadę, 
według której wszystkie hasła mają się rozpoczynać od jednej cyfry. W takim przypadku 
standardowy słownik (zawierający np. tylko ciągi znaków rozpoczynające się od litery) będzie 
bezuŜyteczny. Jednak i my moŜemy zdefiniować regułę, dzięki której John korzystając z 
zawartości naszego słownika doda do kaŜdego słowa cyfrę od 0 do 9. Na przykład dla jednego 
wzorca (z pliku słownika) "haslo", John utworzy 10 nowych wzorców postaci: "0haslo", "1haslo", 
"2haslo", "3haslo", "4haslo", "5haslo", "6haslo", "7haslo", "8haslo", "9haslo". A tak oto będzie 
wyglądała definicja reguły rozwiązującej powyŜszy problem i zamieszczonej w pliku 
konfiguracyjnym (john.conf lub john.ini): 

# Dodaj cyfry do wzorca 
^[0123456789] 

Page 1 of 2

haker.pl Krzysztof Satoła

2008-06-30

http://www.haker.pl/haker_start.pl?warsztaty1_temat=45

background image

Symbol ^ oznacza, Ŝe modyfikacja wzorca powinna mieć miejsce na jego początku. W nawiasach 
kwadratowych zamieszczono symbole (u nas są to tylko cyfry), które mają być po kolei 
wykorzystane.  
 
Symbol $ oznacza, Ŝe modyfikacja wzorca powinna mieć miejsce na jego końcu. Na przykład 
reguła $[!?.*] dla wzorca "haslo" da w efekcie: "haslo!", "haslo?", "haslo.", "haslo*".  
 
Pozostał jeszcze jeden symbol, pozwalający na umieszczanie dowolnych znaków wewnątrz wzorca. 
Reguła i[2][K3] spowoduje zmodyfikowanie wzorca i umieszczenie na pozycji 2 najpierw zanku 
K, a potem cyfry 3. Na przykład dla wzorca "haslo", będą to: "hKaslo" oraz "h3aslo".  
 
Mechanizm wykorzystujący reguły pozwala takŜe na dokonywanie bardziej wymyślnych 
kombinacji. Rozszyfrujmy dla przykładu reguły zacytowane wcześniej: 

:  

opis: (dwukropek) zastosuj wzorzec bez zmian (tak jak został zapisany w słowniku) 
 
 
-c >3!?XlQ 
---------- 
opis: 
-c    pomi

ń

 t

ę

 reguł

ę

, chyba 

Ŝ

e szyfr zawiera małe i wielkie litery 

>3    reguła dotyczy wzorców zawieraj

ą

cych wi

ę

cej ni

Ŝ

 3 znaki 

!?X   pomi

ń

 wzorzec je

ś

li znajduje si

ę

 on w klasie X (klasa ta zdefiniowana  

      jest jako liczby i litery [a-zA-Z0-9]) 
l     (litera l) zamie

ń

 na małe litery 

Q     nie wykorzystuj nowego wzorca, je

ś

li jest taki sam jak pierwowzór 

 
 
-c >2(?a!?XcQ 
------------- 
opis: 
-c    pomi

ń

 t

ę

 reguł

ę

, chyba 

Ŝ

e szyfr zawiera małe i wielkie litery 

>2    reguła dotyczy wzorców zawieraj

ą

cych wi

ę

cej ni

Ŝ

 2 znaki 

(?a   pomi

ń

 t

ę

 reguł

ę

, chyba 

Ŝ

e pierwszy znak wzorca nale

Ŝ

y do klasy a  

      (litery [a-zA-Z]) 
!?X   pomi

ń

 wzorzec je

ś

li znajduje si

ę

 on w klasie X (klasa ta zdefiniowana  

      jest jako liczby i litery [a-zA-Z0-9]) 
c     zamie

ń

 na wielkie litery 

Q     nie wykorzystuj nowego wzorca, je

ś

li jest taki sam jak pierwowzór 

Reguły pozwalają w bardzo znaczący sposób zwiększyć przydatność słowników. Dla słownika 
zawierającego na przykład 1000 słów moŜna utworzyć "wirtualny słownik" zawierający nawet 
ponad 100.000 słów będących kombinacjami zawartości podstawowej pliku słownika.  
 
Oprócz reguł pozwalających na umieszczanie znaków w istniejących juŜ wzorcach, istnieje 
moŜliwość zamieniania znaków we wzorcu na inne. Oto kilka przykładów: 

s?v.   wszystkie samogłoski zostan

ą

 zast

ą

pione znakiem kropki 

@?v    wszystkie samogłoski zostan

ą

 usuni

ę

te 

se5    wszystkie litery e zostan

ą

 zast

ą

pione cyframi 5 

Bardzo dokładny (wyczerpujący) opis reguł znajduje się w pliku RULES w katalogu doc. Polecam 
go wszystkim tym, którzy chcieliby na powaŜnie wykorzystać reguły programu John the Ripper.  
 
Wykorzystanie słownika pozwala na bardzo szybkie odgadywanie haseł jednak, gdy wszystkie 
zapisane i skonfigurowane kombinacje nie okaŜą się pomocne, John rozpoczyna działanie w 
sposób najbardziej skuteczny i zarazem najbardziej czasochłonny próbując kaŜdej kombinacji 
znaków. Metoda ta nazywa się brute-force i jest jedyną w pełni skuteczną metodą. Metoda ta 
zostanie omówiona w następnej części. 

 

Strona główna

 | 

Projekty

 | 

ZagroŜenia

 | 

Kontakt

 |  

 

 

© 2000-2007 

Krzysztof 

Satoła. Wszelkie prawa zastrzeŜone.

odwiedzin: 

698164

 

Page 2 of 2

haker.pl Krzysztof Satoła

2008-06-30

http://www.haker.pl/haker_start.pl?warsztaty1_temat=45