J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
1/41
Łamanie haseł
1.
1.
1.
1.
WSTĘP
WSTĘP
WSTĘP
WSTĘP ....................................................................................................................................................... 3
2.
2.
2.
2.
SPOSOBY ŁAMANIA HASE
SPOSOBY ŁAMANIA HASE
SPOSOBY ŁAMANIA HASE
SPOSOBY ŁAMANIA HASEŁ
Ł
Ł
Ł............................................................................................................ 3
2.1
2.1
2.1
2.1
S
S
S
S
ZPIEGOWA
ZPIEGOWA
ZPIEGOWA
ZPIEGOWANIE
NIE
NIE
NIE
........................................................................................................................................ 3
2.1.1
S
NIFFING
.............................................................................................................................................. 3
2.1.2
W
YKRADANIE HASŁA
.......................................................................................................................... 4
2.1.2.1
K
EYLOGGERY
................................................................................................................................... 4
2.1.2.2
P
ROGRAMY DO WYCIĄGANIA I ODZYSKIWANIA
HASEŁ
............................................................ 4
2.1.3
S
OCJOTECHNIKA
................................................................................................................................. 4
2.2
2.2
2.2
2.2
U
U
U
U
SYSTEMATYZOWANE ŁAMA
SYSTEMATYZOWANE ŁAMA
SYSTEMATYZOWANE ŁAMA
SYSTEMATYZOWANE ŁAMA
NIE
NIE
NIE
NIE
.......................................................................................................... 5
2.2.1
A
TAK SŁOWNIKOWY
........................................................................................................................... 5
2.2.2
B
RUTE FORCE
...................................................................................................................................... 5
2.2.3
T
Ę
CZOWE TABLICE
.............................................................................................................................. 5
2.2.4
M
ETODA POSZUKIWANIA KLUCZA
................................................................................................... 6
3.
3.
3.
3.
HASŁA W SYSTEMACH OP
HASŁA W SYSTEMACH OP
HASŁA W SYSTEMACH OP
HASŁA W SYSTEMACH OPERACYJNYCH WINDOWS
ERACYJNYCH WINDOWS
ERACYJNYCH WINDOWS
ERACYJNYCH WINDOWS........................................................ 6
3.1
3.1
3.1
3.1
H
H
H
H
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
W
W
W
W
INDOWS
INDOWS
INDOWS
INDOWS
95/98/M
95/98/M
95/98/M
95/98/M
E
E
E
E
.................................................................................... 7
3.2
3.2
3.2
3.2
H
H
H
H
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
ASŁA W SYSTEMACH
W
W
W
W
INDOWS
INDOWS
INDOWS
INDOWS
NT
NT
NT
NT ................................................................................................. 7
3.3
3.3
3.3
3.3
H
H
H
H
ASŁA
ASŁA
ASŁA
ASŁA
LM
LM
LM
LM
I
I
I
I
NT
NT
NT
NT ...................................................................................................................................... 8
3.4
3.4
3.4
3.4
U
U
U
U
LEPSZENIE ZABEZPIECZ
LEPSZENIE ZABEZPIECZ
LEPSZENIE ZABEZPIECZ
LEPSZENIE ZABEZPIECZE
E
E
EŃ
–
––
–
SYSKEY
SYSKEY
SYSKEY
SYSKEY........................................................................................... 8
3.5
3.5
3.5
3.5
Z
Z
Z
Z
ABEZPIECZENIA HASEŁ
ABEZPIECZENIA HASEŁ
ABEZPIECZENIA HASEŁ
ABEZPIECZENIA HASEŁ
....................................................................................................................... 9
3.5.1
W
YŁ
Ą
CZENIE HASEŁ TYPU
LM......................................................................................................... 9
3.5.2
O
DPOWIEDNIE ZABEZPIECZENIE PLIKÓW
SAM
I
SYSTEM ...................................................... 9
3.5.3
W
YKORZYSTANIE
SYSKEY
I SZYFROWANIA DYSKU
............................................................... 10
3.5.4
W
YŁ
Ą
CZENIE BOOTOWANIA Z
DYSKIETKI I PŁYTY
..................................................................... 10
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
2/41
3.5.5
F
IZYCZNE ZABEZPIECZENIA
............................................................................................................ 10
3.5.6
W
ŁA
Ś
CIWA POLITYKA ZABEZPIECZEŃ
........................................................................................... 10
3.6
3.6
3.6
3.6
P
P
P
P
RZYKŁAD
RZYKŁAD
RZYKŁAD
RZYKŁAD
::::
EDYCJA I USUWANIE H
EDYCJA I USUWANIE H
EDYCJA I USUWANIE H
EDYCJA I USUWANIE H
ASEŁ SYSTEMU
ASEŁ SYSTEMU
ASEŁ SYSTEMU
ASEŁ SYSTEMU
WI
WI
WI
WI
NDOWS
NDOWS
NDOWS
NDOWS
.................................................... 12
3.6.1
U
SUWANIE HASEŁ
............................................................................................................................. 12
3.6.2
E
DYCJA HASEŁ
.................................................................................................................................. 12
3.7
3.7
3.7
3.7
P
P
P
P
RZYKŁAD
RZYKŁAD
RZYKŁAD
RZYKŁAD
::::
PROGRAMY DO WYCI
PROGRAMY DO WYCI
PROGRAMY DO WYCI
PROGRAMY DO WYCIĄGANIA HASHY HAS
GANIA HASHY HAS
GANIA HASHY HAS
GANIA HASHY HAS
EŁ Z SYSTEMÓW
EŁ Z SYSTEMÓW
EŁ Z SYSTEMÓW
EŁ Z SYSTEMÓW
W
W
W
W
INDOWS
INDOWS
INDOWS
INDOWS
.................. 15
3.7.1
P
WDUMP
2 ........................................................................................................................................... 15
3.7.2
P
WDUMP
3
I
P
WDUMP
3
E
.................................................................................................................. 16
3.7.3
P
WDUMP
4 ........................................................................................................................................... 16
3.7.4
BK
REG
,
B
KHIVE
,
S
AMDUMP
2........................................................................................................ 17
3.7.4.1
B
KREG
............................................................................................................................................. 17
3.7.4.2
B
KHIVE
............................................................................................................................................ 17
3.7.4.3
S
AMDUMP
2..................................................................................................................................... 17
3.8
3.8
3.8
3.8
P
P
P
P
RZYKŁAD
RZYKŁAD
RZYKŁAD
RZYKŁAD
::::
LCP
LCP
LCP
LCP ................................................................................................................................... 18
3.8.1
T
ESTOWANIE PROGRAMU
................................................................................................................ 20
3.9
3.9
3.9
3.9
P
P
P
P
RZYKŁAD
RZYKŁAD
RZYKŁAD
RZYKŁAD
::::
J
J
J
J
OHN THE
OHN THE
OHN THE
OHN THE
R
R
R
R
IPPER
IPPER
IPPER
IPPER
.......................................................................................................... 22
3.9.1
A
TAK SŁOWNIKOWY
......................................................................................................................... 24
3.9.2
A
TAK SIŁOWY
..................................................................................................................................... 25
3.9.3
T
ESTOWANIE
...................................................................................................................................... 26
4.
4.
4.
4.
PRZYKŁADY PROGRAMÓW
PRZYKŁADY PROGRAMÓW
PRZYKŁADY PROGRAMÓW
PRZYKŁADY PROGRAMÓW SŁUŻĄCYCH DO ŁAMANIA
SŁUŻĄCYCH DO ŁAMANIA
SŁUŻĄCYCH DO ŁAMANIA
SŁUŻĄCYCH DO ŁAMANIA LUB SZPIEGOWANIA
LUB SZPIEGOWANIA
LUB SZPIEGOWANIA
LUB SZPIEGOWANIA
HASEŁ
HASEŁ
HASEŁ
HASEŁ................................................................................................................................................................ 27
4.1
4.1
4.1
4.1
B
B
B
B
RUTUS
RUTUS
RUTUS
RUTUS
AET2
AET2
AET2
AET2 ...................................................................................................................................... 27
4.1.1
P
RZYKŁAD ŁAMANIA HASŁA DO SERWERA
FTP.......................................................................... 29
4.2
4.2
4.2
4.2
P
P
P
P
ODGL
ODGL
ODGL
ODGLĄ
D HASŁA DO
D HASŁA DO
D HASŁA DO
D HASŁA DO
G
G
G
G
ADU
ADU
ADU
ADU
----
GADU Z PLIKU CONFIG
GADU Z PLIKU CONFIG
GADU Z PLIKU CONFIG
GADU Z PLIKU CONFIG
....
DAT
DAT
DAT
DAT
............................................................... 29
4.3
4.3
4.3
4.3
P
P
P
P
ODGL
ODGL
ODGL
ODGLĄ
D HASEŁ POCZTY ZAPIS
D HASEŁ POCZTY ZAPIS
D HASEŁ POCZTY ZAPIS
D HASEŁ POCZTY ZAPIS
ANYCH W KLIENTACH PO
ANYCH W KLIENTACH PO
ANYCH W KLIENTACH PO
ANYCH W KLIENTACH POC
C
C
CZTY
ZTY
ZTY
ZTY
.................................................. 31
4.4
4.4
4.4
4.4
H
H
H
H
ASŁO DO FILMU
ASŁO DO FILMU
ASŁO DO FILMU
ASŁO DO FILMU
–
––
–
W PROGRAMIE
W PROGRAMIE
W PROGRAMIE
W PROGRAMIE
A
A
A
A
LL
LL
LL
LL
P
P
P
P
LAYER
LAYER
LAYER
LAYER
.............................................................................. 32
4.5
4.5
4.5
4.5
H
H
H
H
ASŁA DO PLIKÓW
ASŁA DO PLIKÓW
ASŁA DO PLIKÓW
ASŁA DO PLIKÓW
RAR
RAR
RAR
RAR I ZIP
I ZIP
I ZIP
I ZIP
.............................................................................................................. 35
4.6
4.6
4.6
4.6
P
P
P
P
ODGL
ODGL
ODGL
ODGLĄ
D HASEŁ WY
D HASEŁ WY
D HASEŁ WY
D HASEŁ WY
Ś
WIETLONYCH W FORMIE
WIETLONYCH W FORMIE
WIETLONYCH W FORMIE
WIETLONYCH W FORMIE GWIAZDEK
GWIAZDEK
GWIAZDEK
GWIAZDEK
........................................................... 39
5.
5.
5.
5.
LITERATURA I WYKORZY
LITERATURA I WYKORZY
LITERATURA I WYKORZY
LITERATURA I WYKORZYSTANE MATERIAŁY
STANE MATERIAŁY
STANE MATERIAŁY
STANE MATERIAŁY ................................................................... 40
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
3/41
1.
1.
1.
1.
Wstęp
Wstęp
Wstęp
Wstęp
Hasła stanowią podstawową metodę ochrony przed nieautoryzowanym
dostępem do
większości systemów informatycznych. Hasła umożliwiają identyfikację użytkowników,
udostępnianie im wybranych zasobów, nadawanie uprawnień. Zdobycie hasła użytkownika
daje nam możliwość dostępu do zasobów przydzielonych danemu użytkownikowi systemu.
W przypadku systemów operacyjnych najbardziej niebezpieczne jest uzyskanie hasła
administratora, które pozwala na pełen dostęp do systemu. Faktem jest, że zabezpieczenia
systemów operacyjnych klasy Windows nadal pozostawiają wiele do życzenia i mogą być
dość prosto złamane. Niemniej jednak, cokolwiek by Microsoft nie wymyślił, to źródłem
największych zagrożeń będą sami użytkownicy systemu, którzy nie przestrzegają zasad
bezpieczeństwa: ustawiają bardzo proste hasła, udostępniają je innym, zapisują „na
karteczkach” i czasami przyklejają pod klawiaturą.
2.
2.
2.
2.
Sposoby łamania haseł
Sposoby łamania haseł
Sposoby łamania haseł
Sposoby łamania haseł
2.1
2.1
2.1
2.1 Szpiegowanie
Szpiegowanie
Szpiegowanie
Szpiegowanie
2.1.1 Sniffing
Sniffer jest to program komputerowy, którego zadaniem jest przechwytywanie i ewentualne
analizowanie danych przepływających w sieci. Wspólną cechą wielu takich analizatorów jest
przełączenie karty sieciowej w tryb promiscuous, w którym urządzenie odbiera wszystkie
ramki z sieci, także te nie adresowane bezpośrednio do niego. Sniffery mogą być uruchamiane
także na routerze lub na komputerze będącym jedną ze stron komunikacji sieciowej - i w tych
przypadkach tryb promiscuous nie jest konieczny.
Jednym z takich snifferów jest Ethereal, który analizuje pakiety z możliwością dekodowania
wielu protokołów.
Ethereal jest aplikacją open source. Jest dostępny na platformy:
• Windows
• Linux
• Solaris
• FreeBSD
• NetBSD
• OpenBSD
• Mac OS X
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
4/41
Aktualnie Ethereal nie jest już aktywnie rozwijany. Jego następcą jest Wireshark.
2.1.2
Wykradanie hasła
2.1.2.1 Keyloggery
Są to programy działające na zasadzie przejęcia kontroli nad procedurami systemu
operacyjnego (głównie Microsoft Windows) służącymi do obsługi klawiatury. Każde
wciśnięcie klawisza jest odnotowywane w specjalnym pliku i zazwyczaj razem z informacją
dotyczącą aktywnego programu lub okna wysyłane na odpowiedni adres pocztowy.
2.1.2.2 Programy do wyci
ą
gania i
odzyskiwania haseł
Większość bardziej zaawansowanych tego typów programów jest płatna, choć zwykle można
znaleźć darmową, lecz bardzo ograniczoną wersję demonstracyjną.
Zajmiemy się następnymi dostępnymi w Internecie programami:
•
GG Config Reader – podgląd hasła do Gadu Gadu
•
RAR Password Cracker - do wydobywania haseł z plików skompresowanych RAR-em
•
Visual zip password recovery procesor – do wydobywania haseł plików
skompresowanych ZIP-em
•
Brutus AET2 – odzyskuje hasła dostępu do serwera POP3, serwera WWW, FTP lub
Telnetu
•
Programy do podglądania haseł w postaci gwiazdek, tj. Snad Boy’s Revelation,
Passreader
•
Programy służące do łamanie haseł do systemów operacyjnych – John the Ripper, LPC,
Offline NT Password & Registry Editor
2.1.3 Socjotechnika
Hakerzy bardzo często posługują się tą metodą (social engineering), która polega na
manipulowaniu ludźmi w taki sposób, aby ujawnili poufne informacje, mogące pomóc we
włamaniu się do systemu. Haker bardzo często przeprowadza wstępny wywiad. Zbiera
informacje o firmie, pracownikach, systemach, hasłach itp. Może też zadzwonić do
administratora sieci i podając się za inną osobę poprosić o zmianę hasła lub też podając się za
pracownika serwisu przeszukać biuro w celu odnalezienia haseł, które pracownicy bardzo
często zapisują na kartkach i przechowują na biurku.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
5/41
2.2 Usy
2.2 Usy
2.2 Usy
2.2 Usy
stematyzowane łamanie
stematyzowane łamanie
stematyzowane łamanie
stematyzowane łamanie
2.2.1
Atak słownikowy
Najprostszym sposobem złamania hasła, lecz nie gwarantującym sukcesu, jest metoda
słownikowa (dictionary attack). Polega ona na tym, że program łamiący próbuje znaleźć
hasło sięgając do pliku słownika, w którym zapisano wiele wyrazów i ich odmian w danym
języku.
Skuteczność metody opiera się na tym, że większość haseł tworzona jest na podstawie słów
języka potocznego lub nazw własnych. Metoda słownikowa jest nieskuteczna w przypadku,
gdy częścią hasła są znaki specjalne (np. przecinek czy kropka). Jej rozszerzeniem jest
dynamiczna analiza permutacji fleksyjnych (np. formy wyrazów związane z ich odmianą
przez przypadki).
2.2.2 Brute force
Technika siłowa (brute force) jest najbardziej prymitywna - polega na sprawdzaniu po kolei
wszystkich możliwych kombinacji znaków. Wprawdzie gwarantuje to odnalezienie hasła, ale
jest niezwykle czasochłonne. Już przy krótkich hasłach, np. sześcioznakowych, liczba
możliwych kombinacji jest tak duża, że trafienie na właściwą może trwać wiele tygodni. Ten
czas zależy od siły obliczeniowej komputera oraz rodzaju poszukiwanego hasła (np. znacznie
szybciej można sprawdzać kombinacje haseł do plików ZIP niż RAR). Poza tym liczba
możliwych kombinacji zwiększa się wraz z długością hasła.
Stosowane są różne sposoby udoskonalenia metody brute force, np. ograniczenie sprawdzania
do kombinacji małych liter czy próbkowanie cząstkowe - szukanie nie całego hasła, a jedynie
kilku znaków początkowych.
2.2.3 T
ę
czowe tablice
Hasło złożone ze znaków różnych typów (małe i wielkie litery, cyfry, znaki specjalne), o
długości kilkunastu znaków uchodziło do niedawna za niemożliwe do odtworzenia w
rozsądnym czasie. Pomysł na kryptoanalizę z użyciem tęczowych tablic polega na utworzeniu
gigantycznej bazy danych z hasłami i odpowiadającymi im haszami. Aby odtworzyć hasło,
dysponując tylko jego skrótem, wystarczyłoby poszukać odpowiedniego haszu w bazie i
związanego z nim hasła. Metoda budowania tablic zaproponowana przez Philippe Oechslin z
Politechniki w Lozannie gwarantuje odkrycie około 99% wszystkich haseł w kilka minut.
Metoda ta sprawdza się doskonale w wypadku większości powszechnie stosowanych funkcji
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
6/41
haszujących: NTLM (konta użytkowników Windows), SHA-1 (podpisy cyfrowe, baza danych
MySQL, dokumenty Worda i Excela, kryptografia w zastosowaniach przemysłowych i
wojskowych) czy Cisco PIX (routery Cisco).
Najskuteczniejsza metoda obrony polega na niewielkiej modyfikacji algorytmów haszujących
i zastosowaniu tzw. soli. Sól to liczba losowa, która jest dodatkowym parametrem funkcji
wyliczającej skrót. Po zakończeniu obliczeń jest ona zapisywana obok haszu. W rezultacie
algorytm haszujący jest inny dla każdego hasła i wymaga osobnego zestawu tęczowych tablic.
Sól jest powszechnie stosowana do skracania haseł użytkowników w Linuksie.
Jednym z programów wspierających tą technologię jest Ophcrack, rozwijany na zasadach
open source program do odszyfrowywania haseł do kont użytkowników Windows XP i
Windows 2003 Server. Aplikacja dostępna jest w dwóch wersjach: jako klasyczny instalator
lub w postaci Live CD, który wykorzystuje najmniejszy, liczący "tylko" 388 MB zestaw
tablic. Zapewnia on odszyfrowanie haseł o długości do 14 znaków, składających się z cyfr
oraz małych i wielkich liter, z prawdopodobieństwem 99,95%.
2.2.4 Metoda poszukiwania klucza
Metoda ta opiera się na pewnej słabości klucza szyfrującego. Program łamiący zamiast
sprawdzać wszystkie możliwe kombinacje haseł, może testować kombinacje kluczy
szyfrujących, aby odszyfrować plik i usunąć ochronę (samo hasło nie zostanie nigdy
znalezione). Liczba kombinacji do sprawdzenia zależy nie od długości hasła, ale od długości
klucza szyfrującego. Szukanie klucza nie doprowadza do uzyskania oryginalnego hasła.
Program potrafi po prostu odszyfrować plik dokumentu i usunąć zabezpieczenie hasłem.
Metoda skuteczna do odszyfrowania plików MS Office 97 i 2000. W Office 97/2000
zastosowano bardzo mocny algorytm szyfrujący RC4, ale stosowano w nich klucze szyfrujące
o długości jedynie 40 bitów. To sprawia, że program szukający klucza musi przetestować
jedynie 240 kombinacji kluczy szyfrowych, aby odszyfrować plik i usunąć ochronę hasłem.
Technika ta jest bezużyteczna w przypadku MS Office XP, który stosuje klucze o długości
128 bitów.
3.
3.
3.
3.
Hasła w systemach operacyjnych
Hasła w systemach operacyjnych
Hasła w systemach operacyjnych
Hasła w systemach operacyjnych W
W
W
Windows
indows
indows
indows
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
7/41
3.1
3.1
3.1
3.1
Hasła w systemach Windows 95/98/Me
Hasła w systemach Windows 95/98/Me
Hasła w systemach Windows 95/98/Me
Hasła w systemach Windows 95/98/Me
W systemach Windows95/98/Me hasła przechowywane są w plikach o rozszerzeniu *.pwl i
nie są one w żaden sposób chronione. Programów do ich łamania można znaleźć w sieci całe
mnóstwo – warto wymienić tutaj chociaż słynny program Cain.
Można stwierdzić, że w starszych systemach klasy Windows hasła służyły jedynie do
personifikowania ustawień systemu na starcie dla różnych użytkowników. Prawdziwa historia
haseł w systemach Windows rozpoczyna się właściwie dopiero wraz z rodziną systemów
Windows NT.
3.2
3.2
3.2
3.2
Hasła w systemach Wi
Hasła w systemach Wi
Hasła w systemach Wi
Hasła w systemach Wi
ndows NT
ndows NT
ndows NT
ndows NT
W systemach serii NT czyli Windows NT/2000/XP/Server 2003 hasła przechowywane są w
pliku SAM znajdującym się (pod warunkiem, że Windows został zainstalowany w domyślnej
lokalizacji C:\Windows) w katalogu:
C:\Windows\system32\config\
Plik ten jest swego rodzaju plikiem rejestru (można go przy odrobinie wysiłku przeglądać za
pomocą edytora rejestru, ale nie pomoże nam to w uzyskaniu haseł). Podczas bootowania
systemu, zanim użytkownik zaloguje się, główny wątek programu Smss.exe (Session
Manager) uruchamia proces Winlogon.exe, który jest potrzebny, aby załadować proces
Lsass.exe (Local Security Subsystem). Ten ostatni z kolei ładuje usługę SAM (Security
Accounts Manager), która jest interfejsem dającym nam dostęp do bazy danych SAM.
Plik SAM nie przechowuje jednak haseł a jedynie ich „hashe”, czyli hasła zaszyfrowane
algorytmem MD4. Algorytm MD4 jest jednokierunkowy, co oznacza, że z hasła podanego w
postaci jawnej bardzo łatwo obliczyć hash (wyciąg), natomiast wykonanie operacji odwrotnej
jest niezwykle złożone (praktycznie niemożliwe). Hash składa się z 16 bajtów. Podczas
logowania się użytkownika do systemu z wprowadzonego hasła tworzony jest hash, który
następnie porównywany jest z wartością przechowywaną na serwerze. W przypadku
identyczności obu ciągów znaków przyjmuje się, że podane hasło jest prawidłowe i
umożliwia się danej osobie dostęp do systemu.
W systemach Windows NT hasła mogą mieć długość do 128 znaków ASCII – co istotne,
obsługiwane są wszystkie znaki ASCII, nawet te o kodzie powyżej 160. Daje to ogromną
ilość możliwych haseł i powoduje, że atak siłowy na takie hasło jest praktycznie niemożliwy.
Niestety, w ogromnej większości przypadków możliwości Windows nie są wykorzystywane –
użytkownicy wybierają hasła często nie przekraczające 8 znaków, a wykorzystywany zestaw
znaków ogranicza się tylko do małych liter.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
8/41
3.3
3.3
3.3
3.3
Hasła LM i NT
Hasła LM i NT
Hasła LM i NT
Hasła LM i NT
Każde hasło w systemie Windows może być przechowywane na dwa sposoby:
•
jako NT hash – normalny hash naszego hasła
•
jako LM hash – jest to hash naszego hasła pisanego dużymi literami. Przykładowo: dla
haseł: "Haselko","hAsElko", "HaSeLkO" NT hash będzie inny, ale LM hash będzie taki
sam (i będzie to hash słowa HASELKO).
Obecność haseł typu LM (skrót od LANMAN) powoduje, że rzeczywisty poziom ochrony
systemów z rodziny NT jest znacznie zredukowany. Hasła te wprowadzone zostały dla
kompatybilności ze starszymi typami Windows. Użytkownik próbujący zalogować się do
serwera z systemu Windows 95/98 korzysta właśnie z takiego hasła. Administrator może
odciąć dostęp do komputera poprzez LANMAN i uniemożliwić logowanie ze starszych
systemów dla poprawy bezpieczeństwa systemu.
Hasło LM składa się z 14 znaków. Tworzone jest na podstawie pierwszych znaków hasła NT,
przy czym wszystkie litery zamieniane są na wielkie. Przed szyfrowaniem hasło dzielone jest
na dwie siedmioznakowe części, które przetwarzane są oddzielnie. W rzeczywistości mamy
zatem dwa krótkie hasła utworzone na zredukowanym zestawie znaków. Złamanie takich
haseł jest dużo prostsze niż w przypadku haseł NT – skuteczne są nawet ataki brute-force.
Posiadanie hasła LM może znacznie ułatwić pozyskanie hasła NT, o ile nie przekracza ono 14
znaków. Trzeba w tym momencie jedynie ustalić wielkość poszczególnych liter
(przeanalizowanie 214 kombinacji to chwila). Jeżeli hasło NT jest dłuższe, to i tak hasło LM
jest znacznym ułatwieniem i pozwala skrócić czas operacji (mamy bowiem pierwsze 14 liter
hasła z dokładnością do wielkości liter).
3.4
3.4
3.4
3.4 Ulepszenie zabezpiecze
Ulepszenie zabezpiecze
Ulepszenie zabezpiecze
Ulepszenie zabezpieczeń –
–
–
– SYSKEY
SYSKEY
SYSKEY
SYSKEY
Po pewnym czasie od wydania systemów klasy Windows Microsoft wydał Service Pack
zawierający znaczące ulepszenia jeśli chodzi o zabezpieczenia systemu operacyjnego. Chodzi
tutaj głównie o narzędzie SYSKEY (System Key Encryption of Password Information), które
wzmacnia 56-bitowe szyfrowanie bazy SAM na 128-bitowe. Polega to na wprowadzeniu
dodatkowego klucza (hasła), który jest generowany w sposób unikatowy podczas instalacji
systemu. Klucz ten pozwala na szyfrowanie przechowywanych w systemie hashów haseł
użytkowników. Szyfrowanie odbywa się za pomocą algorytmów MD5 i RC4. W momencie
uruchomienia systemu konieczne jest podanie klucza w celu rozkodowania hashów. Niestety,
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
9/41
domyślnie plik przechowywany jest w pliku SYSTEM, w tej samej lokalizacji, co SAM.
Skoro więc uda nam się pozyskać plik SAM to z pewnością pozyskamy też plik SYSTEM.
Najbezpieczniej jest więc przechowywać klucz na nośniku, którego zawartość system
odczytuje podczas startu, albo podawanie tego hasła w momencie bootowania.
3.5 Zab
3.5 Zab
3.5 Zab
3.5 Zab
ezpieczenia haseł
ezpieczenia haseł
ezpieczenia haseł
ezpieczenia haseł
Istnieje szereg sposobów redukujących ryzyko przechwycenia haseł przez niepowołane
osoby, zwłaszcza jeżeli w zamierzeniu włamującego atak ma pozostać niewidoczny Żadna
metoda zabezpieczenia nie daje oczywiście stuprocentowej ochrony przed włamaniami do
systemu. Nawet jeżeli administrator dokładnie zadba o zachowanie wszystkich niezbędnych
ś
rodków bezpieczeństwa, pozwoli mu to tylko wydłużyć czas łamania haseł przez
atakującego.
Do najskuteczniejszych metod ochrony haseł należą obecnie wymienione poniżej.
3.5.1
Wył
ą
czenie haseł typu LM
W systemach Windows 2000 SP2 oraz Windows XP możliwe jest wyłączenie algorytmu LM
wykorzystywanego do szyfrowania przechowywanych haseł. W tym celu należy w kluczu
rejestru:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash
ustawić wartość
NoLMHash
na
1
.
Zmiana tego klucza powoduje brak zgodności ze starszymi systemami, tzn. Windows 98/ME,
a także wymaga wymiany wszystkich haseł na nowe po zmodyfikowaniu rejestru, aby nowe
ustawienia zaczęły obowiązywać.
3.5.2 Odpowiednie zabezpieczenie plików SAM i SYSTEM
Jeżeli już uda się uzyskać plik SAM, to pozyskanie z niego haseł jest tylko kwestią czasu.
Dlatego też pliki SAM przede wszystkim powinny być chronione odpowiednimi prawami
dostępu w systemie plików NTFS. Zabezpieczenie to okazuje się jednak zawodne, jeżeli
włamywacz uzyska bezpośredni dostęp do komputera, tak więc równie istotna jest ochrona
samych maszyn, przede wszystkim serwerów.
Trzeba również pamiętać o kopiach pliku SAM, które mogą (ale nie muszą) znajdować się w
folderze „C:\Windows\Repair”. Zalecane jest wykasować tę kopię.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
10/41
Aby uniemożliwić zdobycie hashów przez sieć, należy wyłączyć zdalne udostępnianie
rejestru w usługach (Panel sterowanie->Narzędzia administracyjne->Usługi).
3.5.3 Wykorzystanie SYSKEY i szyfrowania dysku
SYSKEY jest dodatkowym zabezpieczeniem systemu haseł i stanowi dodatkową przeszkodę
do pokonania podczas włamania, zwłaszcza przy próbie wydobycia hasła z katalogu Repair.
Oczywiście
najbardziej
sensowne
jest
przechowywanie
klucza
poza
systemem
komputerowym, w przeciwnym razie plik SYSKEY może paść ofiarą włamywacza podobnie
jak plik SAM (wczytywanie z dyskietki lub podawanie jako hasła)
Ustawienia SYSKEY kontroluje i modyfikuje się poprzez uruchomienie z wiersza poleceń
aplikacji o tej samej nazwie.
Szyfrowanie dysku odbywa się dzięki komendzie cipher. Jest ono skuteczne, nawet gdy ktoś
ukradł nam dysk. Oczywiście jest możliwość rozszyfrowania dysku, jednak jest to zadanie
dość czasochłonne.
3.5.4
Wył
ą
czenie bootowania z dyskietki i
płyty
Aby zdobyć plik SAM lub go nadpisać konieczne jest uruchomienie innego systemu
operacyjnego, np. prostego Linuxa z dyskietki lub płyty CD. Dlatego ważne jest, aby zadbać
o to, by ustawienia w BIOSie uniemożliwiały takie działanie. System powinien w pierwszej
kolejności startować z twardego dysku.
3.5.5 Fizyczne zabezpieczenia
Możliwość bootowania z płyty lub dyskietki może być przywrócona w wyniku zresetowania
pamięci CMOS (i tym samym BIOSu) poprzez wyjęcie baterii lub przełączenie odpowiedniej
zworki na płycie głównej. Jedynym zabezpieczeniem jest w tym wypadku zamknięcie
obudowy, co utrudni włamywaczowi dostęp do płyty głównej. W przypadku maszyn o
szczególnym znaczeniu, np. serwerów, często wymontowuje się na stałe stacje dyskietek i
CD-ROM. Zabezpieczenie to nie działa, gdy komputer lub twardy dysk zostanie skradziony,
jednak dość dobrze chroni przed włamaniami, które w zamyśle atakującego mają pozostać
niezauważone.
3.5.6
Wła
ś
ciwa polityka zabezpieczeń
Użytkownicy każdego systemu informatycznego powinni być przeszkoleni w zakresie
odpowiedniego wyboru haseł i zasady nieudostępniania haseł innym. Wymagana moc haseł
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
11/41
powinna zależeć od tego, jak ważne są chronione zasoby i od poziomu umiejętności
użytkowników. Zbyt słabe hasła nie stanowią odpowiedniego zabezpieczenia, zbyt
skomplikowane są trudne do zapamiętania i wtedy użytkownicy będą skłonni zapisywać je i
pozostawiać w pobliżu komputera.
Systemy operacyjne Windows NT posiadają wbudowany mechanizm umożliwiający ustalanie
i egzekwowanie zasad związanych z hasłami użytkowników. Przede wszystkim pozwala to
wymuszać na użytkownikach wprowadzanie haseł o odpowiedniej złożoności, co czyni je
bardziej odpornymi na ataki słownikowe.
Zasady bezpieczeństwa definiuje się w:
Panel Sterowania \ Zasady zabezpieczeń lokalnych \ Zasady konta \ Zasady haseł
W domenie Windows 2000/2003 zasady można konfigurować za pomocą przystawki MMC
„Użytkownicy i komputery” usługi Active Directory. Dla każdego nowo zdefiniowanego hasła
system sprawdza:
•
czy nie zawiera ono całości lub części nazwy użytkownika,
•
czy posiada wymaganą minimalną długość,
•
czy jest odpowiednio złożone, tzn. czy zawiera duże i małe litery, cyfry oraz znaki
niealfanumeryczne,
•
opcjonalnie: czy nie było wykorzystywane już wcześniej (liczba pamiętanych haseł jest
określana przez administratora).
Możliwe jest także zażądanie, aby użytkownik miał obowiązek regularnie zmieniać hasło,
przy czym ustala się minimalny oraz maksymalny okres ważności jednego hasła.
Rozwiązaniem idealnym są oczywiście hasła jednorazowe, lecz taka strategia jest stosunkowo
rzadko wykorzystywana.
Podstawowa zasada tworzenia haseł głosi, że powinno się ono składać z dużych i małych
liter, cyfr oraz znaków niealfanumerycznych (np. przestankowych). Wówczas, zwłaszcza gdy
hasło jest ciągiem pozornie przypadkowym, maleje prawdopodobieństwo złamania go za
pomocą ataku słownikowego. Nie chroni to jednak przed atakiem typu brute-force, dla
którego ograniczeniem jest przede wszystkim długość hasła.
Inna, skuteczniejsza metoda polega na stosowaniu haseł zawierających znaki ASCII o kodzie
z przedziału 160 – 255. Znaki te są akceptowane przez system operacyjny na równi ze
„standardowymi” znakami, a jednocześnie nierozpoznawane przez obecnie stosowane
programy do łamania haseł, w tym L0phtCrack 4.0 i John the Ripper. Znaki takie
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
12/41
wprowadza się do systemu poprzez kombinację ALT-numer, gdzie numer to odpowiedni kod
wpisany na klawiaturze numerycznej. Być może w przyszłości programy hackerskie będą
radzić sobie z takim zabezpieczeniem, jednak mimo to użycie znaków specjalnych
dwukrotnie zwiększa alfabet wykorzystywany przy tworzeniu haseł, a więc bardzo znacząco
wydłuża czas ich odgadywania.
3.6 P
3.6 P
3.6 P
3.6 P
rzykład:
rzykład:
rzykład:
rzykład: edycja i usuwanie haseł
edycja i usuwanie haseł
edycja i usuwanie haseł
edycja i usuwanie haseł
systemu WIndows
systemu WIndows
systemu WIndows
systemu WIndows
Najprościej i najszybciej uzyskać dostęp do systemu operacyjnego można uzyskać po prostu
modyfikując hasło (w szczególności usuwając je). Oczywiście w tym przypadku działalność
włamywacza staje się widoczna w momencie, gdy uprawniony użytkownik próbuje
(bezskutecznie) zalogować się na swoje konto. Z drugiej strony, włamywacz może przed
zmianami wykonać kopie plików systemowych, a po zakończeniu pracy je przywrócić.
3.6.1
Usuwanie haseł
Usunięcie haseł jest zadaniem wyjątkowo łatwym. Wystarczy uruchomić system operacyjny z
dyskietki lub CD (np. Knoppix). Następnie montujemy partycję zawierającą pliki Windows i
usuwamy z niej plik SAM (ewentualnie wykonując wcześniej jego kopię w celu późniejszego
przywrócenia). Reakcją systemu Windows na brak pliku SAM podczas uruchamiania jest
utworzenie standardowych kont użytkowników, tzn. Administrator i Gość o pustych hasłach.
Metoda ta działa tylko wówczas, gdy system nie jest chroniony przez SYSKEY. W
przeciwnym razie podczas próby uruchomienia systemu nie zostanie wyświetlone okno
logowania, a zatem włamywacz nie uzyska dostępu do systemu.
3.6.2
Edycja haseł
Do modyfikowania haseł można posłużyć się programem Offline NT Password & Registry
Editor.
Wersja
dostępna
w
Internecie
http://home.eunet.no/~pnordahl/ntpasswd/
bootdisk.html
) umożliwia utworzenie bootowalnej płyty lub dyskietki zawierającej
minidystrybucję Linuxa. System ten po załadowaniu automatycznie uruchamia właściwą
aplikacja. Program pracuje w trybie tekstowym, jednak jego obsługa okazuje się niezwykle
prosta, ponieważ operacja zmiany haseł kierowana jest krok po kroku przez aplikację. Na
początku program wykrywa partycje i użytkownik proszony jest o wybranie partycji
zawierającej system Windows.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
13/41
Rys. 3-1 Wybór partycji – program Offline NT Password&Registry Editor
Partycja ta zostaje następnie zamontowana, po czym użytkownik wskazuje katalog z plikami
SAM i SYSTEM. Po zakończeniu tego etapu możliwa jest edycja danych zawartych w tych
plikach. Ponadto aplikacja umożliwia edycję innych danych związanych z kontami
użytkowników (Rys. 3-2) , w szczególności:
•
wyzerowanie liczby nieudanych prób logowania na dane konto,
•
odblokowanie lub włączenie konta,
•
wprowadzenie hasła nie ulegającego przeterminowaniu,
•
wyłączenie SYSKEY.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
14/41
Rys. 3-2 Główne menu – wybieramy „1” aby edytować hasło
(Zwróćmy uwagę na zapis na powyższym zrzucie w wierszu Hives’s name... \System32\Config\SECURITY)
Program wykrywa konta użytkowników w danym systemie i pozwala wybrać konto do
modyfikacji:
Rys. 3-3 Wybór użytkownika i wpisanie nowego hasła
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
15/41
Wszelkie zmiany wykonują się na kopiach plików i dopiero przy wychodzeniu z programu
następuje nadpisanie właściwych plików. Program podpowiada wartości domyślne na każdym
kroku, tak więc zmiana hasła jest możliwa dosłownie za kilkoma naciśnięciami klawisza
ENTER.
Główną funkcją programu jest oczywiście zmiana hasła dowolnego użytkownika, przy czym
najwygodniej jest zmienić hasło Administratora (to daje pełny dostęp do systemu) albo
użytkownika, o którym wiemy, że nie będzie w najbliższym czasie logował się do systemu (to
pozwoli włamywaczowi pozostać nie wykrytym). Wybranie opcji „*” daje możliwość
ustawienia pustego hasła.
Po zapisaniu zmian i restarcie system Windows wykrywa, że został nieprawidłowo zamknięty
i uruchamia program CHKDSK w celu sprawdzenia spójności danych. Następnie możemy się
już poprawnie zalogować używając nowego hasła.
3.7
3.7
3.7
3.7 P
P
P
P
rzykład:
rzykład:
rzykład:
rzykład:
programy do wyci
programy do wyci
programy do wyci
programy do wycią
gania hashy haseł z
gania hashy haseł z
gania hashy haseł z
gania hashy haseł z
systemów
systemów
systemów
systemów
Windows
Windows
Windows
Windows
3.7.1 Pwdump2
Pwdump2 działa lokalnie w systemie w kontekście konta z prawami administracyjnymi.
Program w przeciwieństwie do wersji poprzedniej funkcjonuje niezależnie od tego czy
zaimplementowano mechanizm SYSKEY. Pwdump2 aby ominąć SYSKEY, wywołuje proces
zmuszający inny proces (Isass.exe), używając jego identyfikatora do załadowania biblioteki
DLL (samdump.dll). Samdump.dll używa tych samych wywołań API co msv1_0.dll do
uzyskania dostępu do hashy haseł. Program nie musi wiedzieć jaki algorytm szyfrowania lub
klucze zostały zastosowane. Program wymaga przywileju debugowania (SeDebugPrivilege),
niezbędnego do „otworzenia” procesu o atrybucie systemowym (Isass.exe), który posiadają
wyłącznie Administratorzy. Dlatego tylko użytkownicy o uprawnieniach Administratora
mogą wykorzystać tą metodę, oraz jedynie na lokalnym komputerze.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
16/41
Rys. 3-4 Wydobycie hashy z komputera lokalnego i zapisanie ich do pliku
Widzimy, że łatwo rozpoznać administratora systemu. Nawet gdy nazwa konta
administracyjnego zostanie zmieniona, konto administracyjne można poznać po liczbie 500
stojącej tuż za nazwą. 500 to PID administratora systemu.
Poleceniem pwdump2 > hash.txt zapisujemy hashe do pliku hash.txt.
3.7.2 Pwdump3 i Pwdump3e
Program Pwdump3 pozwala na zdobycie hashy ze zdalnego komputera, lecz wymagana jest
znajomość przynajmniej jednego hasła Administratora.
Program wysyła na serwer pliki LsaExr.dll i pwservice.exe. Następnie zdalnie uruchamia
pwservice.exe, który działa analogicznie jak pwdump2. Pwdump3e dodatkowo szyfruje
przesyłane dane algorytmem Diffie-Hellman.
Poleceniem pwdump3 127.0.0.1 hash.txt Administrator wykonujemy program przeciwko
maszynie o IP 127.0.0.1. Wynik działania aplikacji zostanie zapisany w pliku hash.txt.
Program wykorzysta konto administratora lokalnego (hasło trzeba będzie podać w trakcie
działania programu).
3.7.3 Pwdump4
Program Pwdump4 wyciąga hashe LM i NT, zarówno z maszyny lokalnej jak i zdalnych. Jest
jakby połączeniem pwdump2 i pwdump3.
[TARGET] – umożliwia odczytanie danych z komputera lokalnego
[/l] – umożliwia odczytanie danych z lokalnego komputera
[/o:outputfile] – opcja umożliwia określenie nazwy pliku wyjściowego, w którym mają zostać
zapisane dane
[/u:username] – opcja przydatna podczas odczytywania danych z komputera znajdującego się
w sieci
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
17/41
Poleceniem pwdump4 /l /o:hash.txt wykonujemy to co pwdump2, a poleceniem
pwdump4 127.0.0.1 /u:Administrator /o:hash.txt – to co wykonuje pwdump3.
3.7.4 BKreg, Bkhive, Samdump2
3.7.4.1 Bkreg
Program odczytuje klucz systemu (tzw. Bootkey) z rejestru, a co za tym idzie, działa tylko
uruchamiany (za wyjątkiem niektórych wersji systemu Windows NT) przez członków grupy
"Administratorzy". Polecenie
bkreg key.txt zapisuje do pliku key.txt w formacie hex klucz
systemu.
Rys. 3-5 Odczytanie klucza systemu i zapisanie go do pliku za pomocą Bkrega
3.7.4.2 Bkhive
Program wyciąga klucz systemu z pliku system, który jest przechowywany w tej samej
lokalizacji co plik SAM. Wywołanie bkive lokalizacja_pliku_system key.txt zapisuje bootkey
w pliku key.txt.
Rys. 3-6 Odczytanie klucza systemu i zapisanie go do pliku za pomocą Bkhive
3.7.4.3 Samdump2
Program jako parametry wykorzystuje plik SAM i plik zawierający nasz Bootkey.
Wywołanie samdump2 lokalizacja_SAM lokalizacja_pliku_z_bootkeyem > hash.txt zapisuje
hashe do pliku hash.txt.
Rys. 3-7 Wydobycie hashy z komputera lokalnego i zapisanie ich do pliku
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
18/41
Jak widać na rysunku dodatkowo zostają wyświetlone konta bez haseł.
3.8
3.8
3.8
3.8
Przykład: LCP
Przykład: LCP
Przykład: LCP
Przykład: LCP
LCP jest darmowym programem, które służy do sprawdzania siły i odzyskiwania haseł w
systemach Windows NT/2000/XP/2003. Jego prototypem jest znany program LC5
(L0phtCrack 5).
Informacje o kontach mogą być importowane z:
• komputera lokalnego – wymagane są uprawnienia administratora na komputerze
lokalnym, używa metod pwdump2 z uruchomionym Active
Directory lub nie
• komputera zdalnego
• z rejestrów używając metod pwdump, gdy SYSKEY jest lub nie jest
uruchomiony,
• z pamięci używając metod pwdump3 i pwdump3e
• pliku SAM – LCP importuje hashe z pliku SAM, gdy SYSKEY nie jest lub jest
uruchomiony (należy wtedy podać lokalizację pliku System),
• pliku .LC (LC 2.0/2.5),
• pliku .LCS (LC3, LC4, LC5),
• pliku PwDump,
• pliku Sniff.
Odzyskiwanie haseł:
• atak słownikowy (opcje)
• imiona użytkowników jako słowa,
• sekwencje klawiszy(domyślne lub wskazane przez użytkownika),
• możliwość dodania własnego pliku słownikowego,
• modyfikacje słów ze słownika,
• atak hybrydowy (słownikowy i siłowy)
• ustawianie różnej liczby znaków dodawanych do lewej/prawej strony słowa
ze słownika,
• ustawianie zakresu dodawanych znaków,
• atak siłowy
• z standardowym/wybranym przez użytkownika zbiorem znaków,
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
19/41
• ustawianie zakresu kombinacji,
• używanie informacji o długości haseł,
• używanie informacji o znanych kombinacjach znaków w hasłach,
• używanie informacji o wielkościach liter,
• możliwość ustawiania początkowej i końcowej kombinacji.
Eksportowanie informacji:
• eksport wyników do pliku tekstowego,
• eksport znalezionych haseł do pliku słownika.
Maksymalna możliwa liczba kombinacji i stosunkowy czas potrzebny do odzyskania hasła z
różnymi zbiorami znaków przy ataku siłowym na hashe LM bez żadnych dodatkowych
informacji o haśle.
Zbiór znaków
Liczba
znaków
Liczba kombinacji
Relatywny czas
[h]
A-Z
26
8,353,082,582
1.00
E-Z
26
8,353,082,582
1.00
A-Z, 0-9
36
80,603,140,212
9.65
E-Z, 0-8
36
80,603,140,212
9.65
A-Z, 0-9, !@#$%^&*()-_+=
51
915,358,891,407
109.58
E-Z, 0-8, !$@#%^&*()-_+=
51
915,358,891,407
109.58
A-Z, 0-9, !@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ 69
7,555,858,447,479
904.65
E-Z, 0-8, !?$.,@#%^&*()-_+=~`[]{}|\:;"'<>/ 69
7,555,858,447,479
904.65
W przypadku łamania haszy metodą brute force istnieje możliwość skrócenia czasu całej
operacji poprzez podzielenie jej na niezależne części (opcja Distributed). Number of parts
mówi na ile części sesja brute force zostanie podzielona i ile plików zostanie stworzonych.
Charakter set wskazuje zakres znaków wykorzystywanych w ataku, Last combination i
Ending combination są to sekwencje od których atak się zacznie i na których się skończy
(wszystkie te opcje można w Opcjach). Dzięki takiemu podejściu można jednocześnie łamać
to samo hasło na różnych komputerach skracając skutecznie czas całej operacji.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
20/41
Sesje te można później połączyć przez opcję „Combine session” przez wybranie folderu,
gdzie odpowiednie części się znajdują.
Rys. 3-8 Dzielenie ataku brute force na niezależne części
3.8.1 Testowanie programu
Naszym zadaniem jest wydobycie haseł kont użytkowników z systemu operacyjnego
Windows XP. Używamy dystrybucji Knoppix, aby wydobyć plik SAM i plik System z
Windowsa XP. Następnie wybieramy Import -> Import from SAM file i podajemy lokalizację
tych plików. Następnie ustawiamy opcje dla tej sesji Session -> Options.
Dla ataku słownikowego podajemy lokalizację słownika z polskimi wyrazami, określamy
dodatkowe opcje takie jak sprawdzanie nazw użytkowników czy łatwych sekwencji
klawiszowych. Dla ataku siłowego wyznaczamy zbiór znaków i dla skrócenia poszukiwania
określamy minimalną długość słowa (w naszym wypadku 4 znaki). Dodatkowo dla ataku
hybrydowego ustawiamy na dodawanie od 0 do 1 znaku do każdego wyrazu ze słownika.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
21/41
Rys. 3-9 Opcje przeprowadzania ataku słownikowego, siłowego i hybrydowego
Program automatycznie odnalazł hasło dla użytkownika Wujek, które było wyrazem Wujek1
(w czasie ataku słownikowego sprawdzane są nazwy kont użytkowników z różnymi
kombinacjami). W dość zadowalającym czasie poradził sobie także z takimi hasłami jak
<MagneS> (w czasie ataku hybrydowego) i kJ3? (w czasie ataku brutalnego). Natomiast nie
wykrył hasła @w@ri@ i trzeba by było czekać, aż w czasie ataku brute force zostało by
złamane. Słowo to jest z używanego w programie słownika, lecz z zmienionymi znakami ‘a’
na ‘@’. LCP nie umożliwia przeprowadzenia takiej kombinacji w czasie ataku słownikowego.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
22/41
Rys. 3-10 Widok z kontami i znalezionymi dla nich hasłami
Znalezione hasła lub ich części znajdują się w kolumnach LM Password i NT Password.
Informacje o długości haseł znajdują się w kolumnach <8 i >14.
3.9
3.9
3.9
3.9
Przykład
Przykład
Przykład
Przykład
:::: John the Ripper
John the Ripper
John the Ripper
John the Ripper
John the Ripper to jeden z najszybszych i najbardziej popularnych programów do łamania i
testowania haseł. Początkowo stworzony w celu wykrywania słabych haseł w systemie UNIX.
Obecnie uruchamia się na piętnastu różnych platformach (oficjalnie wspiera Unix, DOS,
Win32, BeOS, OpenVMS). Formaty, które obsługuje to DES, MD4, MD5, Kerberos AFS
oraz hashe Windows NT/2000/XP LM). Dodatkowe moduły umożliwiają obsługę Windows
NT/2000/XP NTLM (MD4-based), LDAP, MySQL i podobnych.
W systemach UNIX (Linux) hasła często zapisywane są w pliku /etc/passwd (lub
/etc/shadow). John domyślnie potrafi odczytać informacje zawarte w plikach passwd, shadow
oraz w wyjściowym z programu pwdump czy samdump. Jeżeli posiadamy pliki utworzone w
inny sposób, musimy doprowadzić je do jednego ze znanych Johnowi formatów.
Podczas pracy programu, po naciśnięciu dowolnego klawisza, zostaje wyświetlona informacja
o aktualnym stanie pracy, w tym czas liczony od uruchomienia programu. Kombinacja
klawiszy Ctrl-C kończy pracę programu. John zapisuje wszystkie złamane hasła w pliku
tekstowym john.pot. W pliku john.ini (Windows) lub john.conf (UNIX/Linux)
zdefiniowane są reguły przeprowadzania różnych ataków.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
23/41
Standardowe wywołanie w linii poleceń:
john-386 [OPCJE] [PLIK Z HASHAMI]
Wywołanie samej komendy “john” wyświetla możliwe opcje programu.
Opcje:
single tryb łamania hasła, który wykorzystuje nazwy loginów i
domowe nazwy katalogów, jako potencjalne hasła, także z
możliwymi kombinacjami, zaleca się rozpoczynanie od tego
trybu, używa zasad z pliku konfiguracyjnego w sekcji
[List.Rules:Single]
wordlist=FILE
łamanie hasła metodą słownikową, czyta słowa ze pliku
słownikowego, John dostarcza słownik, który znajduje się w
katalogu run "$JOHN/run/password.lst" i jest domyślnym
słownikiem
rules
umożliwia przeprowadzenie różnych kombinacji na
słowach ze słownika na podstawie reguł zapisanych w sekcji
[List.Rules:Wordlist]
incremental[=MODE] łamanie hasła za pomocą ataku siłowego, umożliwia wybór
rodzaju ataku "incremental" mode [using section MODE]
external=MODE łamanie hasła za pomocą własnego trybu, dzieje się tak przez
konfiguracje sekcji pliku [List.External:MODE], gdzie
MODE to wybrana przez nas nazwa, sekcja ta powinna
zawierać funkcje, które John wykorzysta do tworzenia
potencjalnych haseł, funkcje są napisane w języku C i
kompilowane przez program przy wywołaniu polecenia
restore[=NAME] przywraca przerwaną sesję o nazwie NAME z pliku dla tej
sesji lub domyślnie z $JOHN/john.rec
session=NAME nadaje nowej sesji nazwę NAME
status[=NAME] wyświetla status przerwanej lub działającej sesji o nazwie
NAME
make-charset=FILE tworzy plik ze znakami bazujący na znakach w john.pot,
przydatny w ataku brute force
show
wyświetla złamane hasła dla podanego pliku z zakodowanymi
hasłami
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
24/41
test
wykonanie benchmarka
users=[-]LOGIN|UID[,..] ładuje konta użytkowników, dla których chcemy złamać
hasło lub wykonać inną operację, myślnik przed listą
wyklucza tych użytkowników
groups=[-]GID[,..]
ładuje lub nie użytkowników z tej grupy/grup
format=NAME wskazuje format zaszyfrowanych haseł: DES, BSDI, MD5,
BF, AFS,
Nie jest niezbędne podawanie opcji. Jeżeli plik z hashami jest poprawny, program zostanie
uruchomiony z domyślnymi ustawieniami.
3.9.1
Atak słownikowy
Program umożliwia przeprowadzenie ataku słownikowego, jak również wspiera definiowanie
zasad opartych o typ znaku i jego miejsce we wzorcu odnajdywania.
Opcja –rules pozwala na dokonanie permutacji podstawowej zawartości pliku słownika.
Definicje zasad znajdują się w pliku john.ini w katalogu run lub na stronie
http://www.openwall.com/john/doc/RULES.shtm
l
.
Przykład:
^[0123456789]$[@?]
Opis:
^
modyfikacja wzorca powinna mieć miejsce na jego początku, tutaj dodaje do wzorca
cyfrę
$
modyfikacja powinna mieć miejsce na jego końcu, tutaj dodaje do wzorca ‘@’ lub ‘?’
-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 ([a-zA-Z])
!?X pomiń wzorzec jeśli znajduje się on w klasie x ([a-zA-Z0-9])
c zamień na wielkie litery
Q
nie wykorzystuj nowego wzorca, jeśli jest taki sam jak pierwowzór
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
25/41
3.9.2
Atak siłowy
Aby przeprowadzić łamanie hasła metodą siłową należy użyć opcji –increment. W pliku
konfiguracyjnym (john.conf lub john.ini) znaleźć można opisy pięciu opcji dla tego
parametru:
•
All - litery małe i wielkie, cyfry, znaki interpunkcyjne, znaki z wciśniętym klawiszem
SHIFT
•
Alpha – [a-zA-Z]
•
Allnum – [a-zA-Z0-9]
•
Digits – [0-9]
•
LanMan - tak jak All, ale bez małych liter
Można w pliku zdefiniować i umieścić własny sposób przeprowadzania ataku.
Przykład:
[Incremental:MojAtak] # nazwa opcji
File = $JOHN/all.chr # plik zawieraj
ą
cy list
ę
znaków, tutaj taki jak dla
All
MinLen = 1 # minimalna długo
ść
hasła generowanego
MaxLen = 4 # maksymalna długo
ść
hasła generowanego
CharCount = 95 # liczba znaków na li
ś
cie
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
26/41
3.9.3 Testowanie
Użyjemy pliku z hashami stworzonego przez program samdump2.
Najpierw wywołałyśmy program z opcją –single. Hasło Wujek1 zostało automatycznie
odnalezione dla konta Wujek.
Kolejne wywołanie dla trybu słownikowego –wordlist=polish rules z różnymi
modyfikacjami
zapisanymi w pliku konfiguracyjnym nie przyniosło żadnych rezultatów.
Dlatego dopisano do
niego kilka nowych reguł, mianowicie:
#Nowe reguły
^[!@#$%^&*()<>?]
- dodaje na początek wyrazu jeden ze znaków w nawiasach[]
sa@
- zamienia wszystkie znaki ‘a’ na ‘@’
Dzięki tej modyfikacji program wykrył hasło @w@ri@ i początek hasła <Magnes.
Następnie zainicjowano atak siłowy dla zdefiniowanego dla słów od 1 do 5 znaków z
wszystkimi możliwymi znakami –increment = MojAtak.
Rys. 3-11 Odnajdywanie haseł za pomocą programu John the Ripper
Wyniki zostały zapisane do pliku John.log.
(Zwróćmy uwagę na fragment hasła ‘<Magnes’ powyżej.)
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
27/41
4.
4.
4.
4.
Przykłady programów służących do łam
Przykłady programów służących do łam
Przykłady programów służących do łam
Przykłady programów służących do łamania lub
ania lub
ania lub
ania lub
szpiegowania haseł
szpiegowania haseł
szpiegowania haseł
szpiegowania haseł
4.1
4.1
4.1
4.1 Brutus AET2
Brutus AET2
Brutus AET2
Brutus AET2
Brutus AET2 służy do odzyskiwania haseł dostępu do serwera POP, serwera WWW, FTP
lub Telnetu. Jest jednym z najszybszych w tej kategorii programów. Program potrafi
nawiązać do 60 jednoczesnych połączeń. Przydaje się też w wypadku różnych usług
internetowych, do których dostęp uzyskuje się po wpisaniu hasła w oknie dialogowym lub
formularzu WWW . Program potrafi również przeprowadzić atak siłowy lub słownikowy.
Brutus AET może być również stosowany przez administratorów sieci do wyszukiwania
słabych haseł użytkowników.
Rys. 4-1 Widok okna programu Brutus AET2
Sposoby łamania haseł:
•
atak siłowy – możliwość wyboru rodzaju znaków i zakresu długości hasła
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
28/41
Rys. 4-2 Okienko z opcjami dla ataku siłowego
•
atak słownikowy – możliwość wyboru słownika
•
Combo list – metoda sprawdza dla podanych w wybranym pliku nazw użytkowników
odpowiednie hasła, np. administrator:administrator, administrator:password,
administrator:administrator1
Wersja Brutusa AET2 umożliwia obsługę (ataki na) następujących protokołów:
HTTP (Basic Authentication)
HTTP (HTML Form/CGI)
POP3
FTP
SMB
Telnet
Brutus umożliwia przeprowadzenie ataku w trybie bez nazwy użytkownika lub z
pojedynczym użytkownikiem. Wspiera SOCKS proxy dla każdego protokołu, dzięki czemu
możemy stać się anonimowi.
Umożliwia import/eksport plików BAD (Brutus Application Definition) – pliki zawierające
informacje konfiguracyjne dla Brutusa, przeważnie dotyczące szczególnego typu
protokołu/urządzenia. Można je pobrać na stronie
http://www.hoobie.net/brutus/brutus-
application-definition-files.html
.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
29/41
4.1.1
Przykład łamania hasła do serwera FTP
W polu „Type” wybieramy FTP, a w polu „Target” wpisujemy IP\host serwera FTP. W
naszym przykładzie będzie to 213.218.117.56 lub ftp.ada55.winweb.pl. W „Try to stay
conected for” ustawiamy ile razy program ma połączyć się z serwerem w razie nieudanego
połączenia. Zaznaczymy opcje „Single user” i wpisujemy nazwę użytkownika, w tym
wypadku ada55.winweb.pl. Decydujemy się na atak słownikowy i wybieramy słownik. W
naszym przykładzie hasło „angel” znajdowało się w słowniku i zostało odnalezione po 38
próbach/22 sekundach.
Rys. 4-3 Widok ze złamanym hasłem do serwera FTP
4.2
4.2
4.2
4.2 Pod
Pod
Pod
Podgl
gl
gl
gl
ą
d hasła do Gadu
d hasła do Gadu
d hasła do Gadu
d hasła do Gadu
----gadu z pliku config.dat
gadu z pliku config.dat
gadu z pliku config.dat
gadu z pliku config.dat
Jeżeli hasło użytkownika Gadu-gadu zostało zapamiętane w programie (tzn. nie jest
wymagane podawanie hasła przy każdorazowym logowaniu), to można to je bardzo łatwo
odzyskać. Wystarczy odnaleźć plik config.dat, w którym aplikacja Gadu-gadu przechowuje
ustawienia dla każdego użytkownika. Oczywiście podgląd tekstowy pliku config.dat nie
zdradzi nam hasła, ponieważ jest ono zaszyfrowane. Jednak mamy do dyspozycji wiele
programików, umożliwiających złamanie tego hasła i odczytanie go właśnie z pliku
config.dat.
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
30/41
W systemie operacyjnym Windows XP pliki config.dat domyślnie przechowywane są w
folderze:
C:\Documents and Settings\nazwa_użytkownika_Windows\Gadu-Gadu\wpisana nazwa
profilu GG\config.dat
Do odczytu hasła z pliku można się posłużyć np. programem GG Config Reader. Po
wskazaniu mu pliku wyświetla on informacje widoczne na rysunku 4-1. Hasło można
odczytać na pozycji „Password2”.
Rys. 4-4 GG Config Leader
Hasło można również samemu rozkodować z pliku config.dat. Wystarczy otworzyć ten plik w
trybie tekstowym, skopiować tekst znajdujący się za znacznikiem „Password2” i wykorzystać
poniższą tabelkę. Długość zakodowanego hasła jest równa podwójnej długość prawdziwego
hasła.
Du
ż
e litery
A=BE
B=CE
C=DE
D=EE
E=FE
F=GE
G=HE
H=IE
I=JE
J=KE
K=LE
L=ME
M=NE
N=OE
O=PE
P=AF
Q=BF
R=CF
S=DF
T=EF
U=FF
V=GF
W=HF
X=IF
Y=JF
Z=KF
Polskie
du
ż
e litery
Ľ
=FK
Ć
=GM
Ę
=KM
Ł=DK
Ń
=BN
Ó=DN
Ż
=PK
�
=PI
Małe litery
a=BG
b=CG
c=DG
d=EG
e=FG
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
31/41
f=GG
g=HG
h=IG
i=JG
j=KG
k=LG
l=MG
m=NG
n=OG
o=PG
p=AH
q=BH
r=CH
s=DH
t=EH
u=FH
v=GH
w=HH
x=IH
y=JH
z=KH
Polskie
małe litery
š=JL
ć
=GO
ę
=KO
ł=DL
ń
=BP
ó=DP
ż
=PL
�
=PJ
Cyfry
0=AD
1=BD
2=CD
3=DD
4=ED
5=FD
6=GD
7=HD
8=ID
9=JD
Znaczki
~=OH
`=AG
!=BC
@=AE
#=DC
$=EC
%=FC
^=OF
&=GC
*=KC
(=IC
)=JC
_=PF
-=NC
+=LC
==ND
[=LF
]=NF
{=LH
}=NH
|=MH
\=MF
:=KD
;=LD
"=CC
'=HC
<=MD
>=OD
,=MC
.=OC
?=PD
/=PC
SPACE=AC
Najprostszy sposób ochrony przed tego typu atakiem polega na niezapisywaniu hasła w
programie, jeżeli wiemy, że ktoś inny może mieć dostęp do naszego komputera i że może
nam wykraść lub podejrzeć plik config.dat.
Również nie wolno zapominać o programach do wymiany plików (KaZaA, eMule, DC++,
uTorrent itp.). Należy zwrócić uwagę no to, jakie pliki się udostępnia. Testy pokazują, że na
wielu polskich HUB-ach na DC++ po wpisaniu: gadu config.dat można znaleźć dziesiątki
plików z hasłami kont Gadu-Gadu. Ktoś złośliwy może po prostu pokasować te konta lub
podać się za inną osobę.
Ktoś może zastosować też socjotechnikę i przekonać użytkownika GG do przesłania mu
swojego plik config.dat (np. mówiąc że zepsuło nam się Gadu-gadu i brakuje pliku
config.dat). Dobrze jest więc być rozważnym i nie wysyłać nikomu plików, do treści których
nie jesteśmy pewni.
4.3
4.3
4.3
4.3 Podgl
Podgl
Podgl
Podglą
d haseł poczty zapisanych w klientach poczty
d haseł poczty zapisanych w klientach poczty
d haseł poczty zapisanych w klientach poczty
d haseł poczty zapisanych w klientach poczty
Ethereal jest rozbudowanym analizatorem sieci. Aplikacja pozwala przechwytywać pakiety,
budować raporty, analizować wydajność sieci oraz testować ją. Zebrane dane można w
bardzo prosty sposób filtrować, dekodować jak również sortować. Można się nią również
posłużyć w celu szpiegowania haseł – np. haseł do skrzynek pocztowych. Wiadomo, że
programy pocztowe, takie jak Outlook, Thunderbird czy też The Bat przesyłają hasło w
pakietach formie niezaszyfrowanej. Wystarczy uruchomić w tle program przechwytujący
pakiety, aby móc odczytać hasła wysyłane przez program pocztowy.
Aby przechwycić pakiety uruchamiamy program Ethereal i wybieramy Capture/Options.
Tutaj wybieramy odpowiedni rodzaj interfejsu (kartę sieciową z której korzystamy np.
Intel(R) PRO/Wireless 2200BG Network Connection ), odznaczamy opcję „Capture packets in
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
32/41
promiscous mode” i zaznaczamy opcję „Update list of packets in real time”. Wciskamy
przycisk Start i program zaczyna nasłuchiwać. Jeżeli w tym momencie zaczniemy ściągać
pocztę – np. programem The Bat, to wyświetlą nam się następujące informacje:
Rys. 4-5 Pakiety przechwycone w programie Ethereal
Jak widać – nazwa użytkownika, jak i hasło przesyłane jest w formie jawnej. Przed tego
rodzaju atakiem najlepiej bronić się uniemożliwiając fizyczny dostęp do komputera i
instalację oprogramowania sniffującego. Fakt, czy hasła są pamiętane przez program
pocztowy, czy też nie, nie ma w tym momencie znaczenia – aby odebrać pocztę i tak musimy
podać hasło i przesłać je w pakiecie.
4.4
4.4
4.4
4.4
Hasło do filmu
Hasło do filmu
Hasło do filmu
Hasło do filmu
–
–
–
– w programie AllPlaye
w programie AllPlaye
w programie AllPlaye
w programie AllPlayerrrr
Twórcy popularnego odtwarzacza filmów o nazwie ALLPlayer chwalą się na swojej stronie
internetowej, że jako pierwsi na świecie dodali do odtwarzacza multimedialnego rewolucyjną
rzecz: możliwość zabezpieczenia oglądanego filmu hasłem. Rzeczywiście, od wersji 2.1
ALLPlayera pojawia się funkcja zabezpieczania filmów *.avi hasłem aktywowana po
wciśnięciu F10. Po założeniu hasła na plik filmowy nie można go otworzyć żadnym innym
odtwarzaczem, tylko ALLPlayerem i oczywiście trzeba wpisać jeszcze hasło. Niestety
autorzy nie postarali się - hasło to można dość łatwo złamać. W ALLPlayerze hasło może
mieć maksymalnie 8 znaków, więc łamanie metodą brute-force byłoby trochę czasochłonne, a
słownikowe nie zawsze skuteczne. Jest jednak inna ciekawa metoda. Okazuje się, że hasło
zapisywane jest w pierwszym wierszu pliku, jako ostatnie 8 znaków tego wiersza. Można to
łatwo sprawdzić doświadczalnie kopiując jeden plik z filmem i zabezpieczając go hasłem, a
następnie porównując go z plikiem niezabezpieczonym. Można tego dokonać wykorzystując
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
33/41
standardowe narzędzie FileCompare w Windows uruchamiane z linii poleceń i służące do
porównywania plików (tekstowo lub binarnie). W tym celu w linii komend wpisujemy:
fc /b plik1 plik2
Pliki są porównywane binarnie i wyświetlane są różnice w kolumnach (rysunek 4-2).
Pierwsza kolumna zawiera numer bajtu, druga to wartość tego bajtu w pliku pierwszym,
trzecia kolumna to wartość bajtu w pliku drugim. Oczywiście wyświetlane są tylko wartości z
różniącymi się bajtami.
Rys. 4-6 Działanie narzędzia File Compare
Teraz wystarczy otworzyć plik filmu zabezpieczony hasłem w jakimś edytorze
szesnastkowym (np. Hackman 7.01) i dokonać edycji bajtów, które uległy zmianie.
Oczywiście z reguły nie będziemy mieli do dyspozycji kopii filmu bez hasła (inaczej łamanie
hasła nie miałoby sensu) jednak wystarczy skopiować pierwszy wiersz z jakiegokolwiek pliku
avi i wstawić go do pliku zabezpieczonego hasłem i powinno działać.
Rys. 4-7 Edytor szesnastkowy Hackman – zaznaczono hasło pliku avi
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
34/41
Istnieje też możliwość rozszyfrowania hasła. Jedyne co musimy zrobić to skopiować
8 ostatnich bajtów pierwszego wiersza pliku i je rozszyfrować wg tabelki:
a
9E A BE ą
46
9
C6
,
D3
b
9D B
BD ć
19
0
CF
<
C3
c
9C C
BC ę
15
!
DE
.
D1
d
9B D BB ł
4C
@
BF
>
C1
e
9A E
BA ń 0E
#
DC
/
D0
f
99 F
B9
ó 0C
$
DB
?
C0
g
98 G B8
ś
63
%
DA
A3
h
97 H B7
ź
60
^
A1
|
83
i
96 I
B6
ż
40
&
D9
j
95 J
B5
Ą 5A
*
D5
k
94 K B4
Ć 39
(
D7
l
93 L
B3
Ę 35
)
D6
m 92 M B2
Ł 5C
`
9F
n
91 N B1
Ń 2E
~
81
o
90 O B0
Ó 2C
-
D2
p
8F P
AF Ś 73
_
AD
q
8E Q AE Ź 70
=
C2
r
8D R
AD Ż 50
+
D4
s
8C S
AC 1 CE
[
A4
t
8B T
AB 2 CD
{
84
u
8A U AA 3 CC
]
A2
v
89 V A9 4 CB
}
82
w 88 W A8 5 CA
;
C4
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
35/41
x
87 X A7 6 C9
:
C5
y
86 Y A6 7 C8
'
D8
z
85 Z
A5 8 C7
"
D0
Zgodnie w powyższą tabelą dekodujemy hasło:
Hex:
9D 8D 8A 94 8C 9A 93 9E
Hasło:
b r u k s e l a
4.5
4.5
4.5
4.5
Hasła do plików
Hasła do plików
Hasła do plików
Hasła do plików
rar
rar
rar
rar i zip
i zip
i zip
i zip
W celu złamania hasła użytego przy kompresji plików programem WinRar lub WinZip
można wykorzystać wiele dostępnych w Internecie komercyjnych lub niekomercyjnych
narzędzi. Większość przeprowadza atak metodą słownikową lub brute-force. Nie istnieje tu
jednak tak prosty sposób łamania hasła jak w przypadku Allplayera czy Gadu-gadu.
Aby złamać hasło w pliku skompresowanym Rar’em można wykorzystać narzędzie
RAR Password Cracker. Wersja demonstracyjna programu umożliwia łamanie haseł o
długości tylko do trzech liter. W celu przeprowadzenia ataku można wykonać prosty kreator,
w którym wskazuje się plik skompresowany, metodę ataku (słownikową lub brute-force) oraz
jej parametry. Dla metody słownikowej podaje się plik (lub pliki) słownika oraz możliwe
sposoby modyfikacji słów ze słownika (wszystkie możliwe kombinacje wielkich i małych
liter, tylko małe litery, tylko wielkie litery, słowa pisane z wielkiej litery) – rysunek 4.2. Aby
przeprowadzić atak brute-force podajemy zestaw znaków spośród których ma być
dokonywane sprawdzenie oraz maksymalną długość hasła (rysunek 4.3).
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
36/41
Rys. 4-8 Atak słownikowy – RAR Password Cracker
Rys. 4-9 Atak brute-force – RAR Password Cracker
Do łamania hasła w plikach skompresowanych ZIP-em można wykorzystać np. narzędzie
Visual zip password recovery processor. Narzędzie niestety nie jest darmowe, rejestracja
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
37/41
kosztuje 29$. Program daje możliwość przeprowadzania wielu różnych rodzajów ataków oraz
wielu ustawień w zależności od tego jak dużo wiemy o haśle:
•
możliwość definiowania zakresu długości hasła, użytych znaków i kombinacji znaków
•
możliwość zdefiniowania pliku ze słownikiem lub wykorzystania słownika
standardowego (wbudowanego) oraz sposobów modyfikacji słów ze słownika (dodanie
pre/postfix-u, zmiana wielkości liter etc.)
•
możliwość samodzielnego szybkiego testowania hasła (wpisując swoje propozycje do
konsoli)
•
definiowanie sposobu kodowania znaków
•
określenie priorytetu pracy programu (praca w tle z priorytetem niskim, średnim lub
wysokim)
•
wyświetlenie statystyk
Rys. 4-10 Visual zip password recovery processor – ustawienia hasła
W programie mamy do wyboru wiele różnych sposobów przeprowadzania ataku:
•
„automatic mode” – program próbuje różnych sposobów ataku. Autorzy programu piszą o
90% skuteczności. W razie skomplikowanego hasła ostatecznie przeprowadzany jest atak
brute-force
•
„brute-force”
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
38/41
•
wordlist attack – atak słownikowy. Wbudowany jest dość duży słownik języka
angielskiego
•
„false-type” attack – ten rodzaj ataku pomaga odzyskać utracone hasło wskutek naszej
pomyłki przy wpisywaniu tego hasła. Powiedzmy, że chcieliśmy zabezpieczyć plik
hasłem „Wrocław”, jednak przy jego wpisywaniu popełniliśmy literówkę i wpisaliśmy
„Wrokław”. Albo nie pamiętamy dokładnie, które litery były wielkie a które małe w
haśle. W tym momencie możemy podać hasło, które powinno wg nas być prawdziwe, a
program sprawdzi możliwe modyfikacje tego hasła
•
template attack – możliwość określenia sposobu “budowy” hasła – np. pamiętamy, że na
początku były 3 małe litery, potem jakieś słowo (np. z określonej listy słów) a na końcu 0
lub 1 cyfra.
•
MultiComputer „brute-force” – możliwość przeprowadzania ataku na kilku komputerach,
Komputery nie muszą się ze sobą komunikować przez sieć, wystarczy że zainstalowany
na każdym z nich będzie program Visual zip password recovery procesor oraz podamy w
nim ilość komputerów i numer komputera
•
Plan-text attack – daje możliwość dekompresji archiwum bez łamania hasła, jeżeli
posiadamy kopię jakiegoś pliku ze skompresowanego archiwum w formie niespakowanej.
Nie jest to jednak metoda w 100% skuteczna
•
Guaranteed WinZip attack
Rys. 4-11 Visual zip password recovery processor – rodzaje ataku
W jaki sposób można zabezpieczyć się przed łatwym rozszyfrowaniem hasła pliku
skompresowanego? Oczywiście należy używać odpowiednio długiego (powyżej 6 znaków) i
nietrywialnego hasła. Poza tym dużo bezpieczniejsze wydaje się kompresowanie plików
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
39/41
RAR-em. Wynika to ze sposobu oceny poprawności hasła przy rozpakowywaniu plików. Przy
kompresji ZIP wystarczy rozpakować niewielki kawałek archiwum, aby móc stwierdzić, czy
hasło jest poprawne czy też nie. W związku z tym ataki typu „brute-force” mogą się tutaj
okazać skuteczne i wykonalne (o ile hasło jest odpowiednio krótkie). Natomiast kompresja
RAR sprawdza poprawność hasła dopiero po rozpakowaniu całego pliku, co czasami trwa
kilka sekund do nawet kilku minut. W tym momencie atak „brute-force” jest praktycznie
niewykonalny, jeżeli skompresowane archiwum jest sporej wielkości. Załóżmy, że np. do
zabezpieczenia pliku użyto hasła złożonego tylko z małych liter i cyfr (co daje w sumie 34
znaki) i hasło ma długość zaledwie 6 znaków. Daje to 346 = 1544804416 kombinacji do
sprawdzenia. Załóżmy, że spakowaliśmy dość spory plik i jego rozpakowanie i sprawdzenie
poprawności hasła zajmuje 3 sekundy. Szacowany czas ataku „brute-force”:
1544804416 * 3 sekundy = 77240220,8 minut = 1287337 godz. = 53639 dni = ponad 146 lat!
Jak widać taki atak jest nierealny do wykonania na jednym komputerze, nawet jeśli użyto
zaledwie 6-znakowego hasła i do tego złożonego tylko z małych liter i cyfr.
Wniosek stąd prosty: jeżeli chcemy zabezpieczyć cenne informacje to dobrze jest je
skompresować w jeden duży plik, a następnie ponownie skompresować ten plik kompresorem
RAR. Jeżeli użyjemy przy tym „losowego” hasła (nie będącego żadnym słowem, aby
wykluczyć ataki słownikowe) to nasze dane powinny być bezpieczne.
4.6
4.6
4.6
4.6 Podgl
Podgl
Podgl
Podgl
ą
d haseł wy
d haseł wy
d haseł wy
d haseł wy
ś
wietlonych w formie gwiazdek
wietlonych w formie gwiazdek
wietlonych w formie gwiazdek
wietlonych w formie gwiazdek
Wiele programów daje możliwość zapamiętywania hasła użytkownika w programie - np.
programy pocztowe takie jak Outlook lub The Bat zapamiętują hasło, aby nie trzeba było go
wpisywać przy każdorazowym pobieraniu poczty. Hasła takie są wyświetlane przy
konfiguracji ustawień konta w kontrolce typu textbox z parametrem password. Kontrolka ta
wyświetla tekst w niej zapisany w postaci gwiazdek (lub ewentualnie innych znaków – np.
kulek). Istnieją jednak programy umożliwiające podejrzenie zapisanego w takiej kontrolce
hasła – wystarczy najechać wskaźnikiem myszy na kontrolkę z hasłem w postaci
gwiazdek/kulek i zawartość tej kontrolki wyświetli się w oknie programu służącego do
podglądu. Przykładowe programy służące do tego celu to:
•
Snad Boy’s Revelation -
http://www.snadboy.com/
•
Passreader -
http://www.haking.gsi.pl/crackery.html
•
Asterisk Logger v1.02 -
http://www.nirsoft.net/utils/astlog.html
•
ShowPass 1.01 -
http://www.majorgeeks.com/download4287.html
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
40/41
•
Mail PassView v1.37 -
http://www.nirsoft.net/utils/mailpv.html
•
Asterisk Key -
http://www.lostpassword.com/asterisk.htm
•
The Bat! Password Recovery 1.34 -
http://thebat.pl/files/tbpr.zip
Działanie tych programów jest dość proste i bazuje na fakcie, że każda kontrolka (tak więc
również textbox z hasłem) jest w WinAPI oknem (Window) i ma swój uchwyt (Handle).
Znając uchwyt do kontrolki tekstowej można zmodyfikować jej ustawienia (flagi) sterujące
sposobem wyświetlania tekstu i w ten sposób odczytać hasło. Pozyskanie uchwytu do okna
odbywa się w tych programach właśnie poprzez wskazanie kontrolki za pomocą
odpowiedniego wskaźnika.
Rys. 4-12 Program Snad Boy’s Revelation
5.
5.
5.
5.
Li
Li
Li
Literatura
teratura
teratura
teratura i wykorzysta
i wykorzysta
i wykorzysta
i wykorzystane materiały
ne materiały
ne materiały
ne materiały
1.
Resetowanie hasła administratora:
http://home.eunet.no/~pnordahl/ntpasswd/bootdisk.html
2.
Łamanie haseł Allplayera i Gadu-gadu:
http://www.ehaker.pl/
J.G., „Inżynieria bezpieczeństwa sieciowego i internetowego”, maj 2007. Wykorzystano studencką pracę
badawczą wykonaną przez AP i KK.
41/41
3.
„Tajemnice internetu, hackingu i bezpieczeństwa”, Wallach Wang, Helion 2006
4.
„Bezpieczeństwo komputerów. Przestępstwa i oszustwa internetowe. Przykłady i
metody obrony”, dr hab. Piotr Bała, Wydział Matematyki i Informatyki UMK, Toruń
25.11.2005
5.
PC Word Komputer – artykuł „Brutalni łamacze”
6.
Materiały dotyczące bezpieczeństwa systemów Windows:
www.antiserver.it/Win%20NT/Security/
7.
Opis sposobów pozyskiwania haseł w systemie Windows:
http://www.windowsnetworking.com/kbase/WindowsTips/WindowsXP/AdminTips/S
ecurity/RecoverLostWindowsNTAdministratorPassword.html
8.
Strona domowa programu LCP:
http://www.lcpsoft.com/english/index.htm#lcp
9.
Strona domowa programu John the Ripper:
http://www.openwall.com/john/doc/
10.
Materiały dotyczące tęczowych tablic:
http://www.chip.pl/arts/archiwum/n/articlear_171966.html
11.
Strona domowa programu Brutus:
http://www.hoobie.net/bruts