[ Pobierz całość w formacie PDF ]
haker.pl Krzysztof Satoła
Page 1 of 2
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]
2008-06-30
haker.pl Krzysztof Satoła
Page 2 of 2
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
|
© 20002007
Krzysztof
Satoþa
. Wszelkie prawa zastrzeŜone.
odwiedzin:
698164
2008-06-30
[ Pobierz całość w formacie PDF ]