Menu dostępności

Łamanie hasła PDF-a przy pomocy John The Ripper

O John the Ripper wspominaliśmy już raz opisując to narzędzie jako warte uwagi dla każdego pentestera. To szybki program do łamania haseł, obecnie dostępny dla wielu odmian systemów Unix, macOS, Windows, DOS, BeOS i OpenVMS.

Jego głównym celem jest wykrywanie słabych haseł unix’owych. Oprócz kilku typów haszowania haseł crypt(3), program obsługuje także hasze Kerberos/AFS i Windows LM, a także DES oraz setki dodatkowych haszów i szyfrów w wersjach „Jumbo”.

A na wersji Jumbo właśnie będziemy przedstawiać to narzędzie. Jest to rozszerzona wersja programu i zawiera wiele stron dokumentacji i danych dostarczonych przez użytkowników. Nie jest to więc „oficjalny” kod programu.

Pobieranie i konfiguracja wstępna

Na naszej maszynie pobieramy program i przechodzimy do katalogu:

git clone https://github.com/magnumripper/JohnTheRipper.git

cd ./JohnTheRipper/src

Przed dalszymi krokami zalecana jest aktualizacja listy pakietów i instalacja libssl o ile nie robiliśmy tego wcześniej.

sudo apt-get update

sudo apt-get install libssl-dev


Będąc w katalogu wykonujemy „./configure && make” I czekamy aż wykona się build wersji programu:

Po zakończeniu procesu kompilacji należy przejść do katalogu run znajdującego się wewnątrz katalogu JohnTheRipper:

W tym katalogu widzimy wszystkie narzędzia programu JohnTheRipper. Teraz, gdy mamy już program, przechodzimy do przygotowania pliku PDF który będzie naszym celem.

Generowanie PDF

JohnTheRipper, jak wspomniano na początku artykułu, nie jest związany z plikami PDF, a z hasłami i hashami. Dlatego trzeba też będzie utworzyć plik hash PDF za pomocą narzędzia pdf2john.pl (dostępnego w katalogu). Narzędzie to pozwala uzyskać hash pliku za pomocą skryptu perlowego, który można wyodrębnić do nowego pliku za pomocą następującego polecenia:

./pdf2john.pl kapitan_pdf.pdf > pdf.hash

Nasz plik pdf.hash zawiera taki tekst:

Brute Force z Johnem

Teraz, gdy mamy już plik .hash pliku PDF, który chcemy odblokować, wystarczy przekazać ten plik jako argument do narzędzia CLI programu JohnTheRipper (w katalogu run):

./john pdf.hash

Polecenie to użyje UTF-8 jako domyślnego kodowania wejściowego i rozpocznie próbę odgadnięcia hasła pliku przy użyciu domyślnej listy słów. Jeśli hasło zostanie znalezione, zostanie wyświetlone i ścieżka do chronionego pliku PDF:

W naszym przypadku hasło z uwagi na swoją prostotę zostało znalezione w niecałą sekundę.

Jeśli spróbujemy uruchomić to polecenie na tym samym pliku po odgadnięciu hasła, zobaczymy następujące komunikaty:

  • „Nie załadowano haseł”,
  • „Nie pozostały żadne hasła do złamania (patrz FAQ)”

Złamane hasła zostaną zapisane w pliku $JOHN/john.pot (w dokumentacji „$JOHN” odnosi się do „katalogu domowego”. Plik $JOHN/john.pot jest używany do tego, aby przy następnym uruchomieniu programu John nie wczytywał haseł, które już złamaliśmy.

W takim przypadku będziemy mogli użyć flagi –show aby ponownie podejrzeć hasło.

john –show pdf.hash

W naszym przypadku hasło to 12345

Używanie niestandardowej listy haseł

Jeśli nie chcemy używać domyślnej listy haseł password.lst programu JohnTheRipper, możemy podać ścieżkę do nowego pliku, używając argumentu –wordlist:

john –wordlist=password.lst pdf.hash

Na koniec warto dodać, że narzędzie oferuje możliwość złamania wielu plików, więc warto zapoznać się z dokumentacją biblioteki. Tak jak wspominaliśmy na początku wersja „Jumbo” tworzona jest przez społeczność, cały czas rozwijana, a więc co chwile pojawiają się dodatkowe funkcje.

Popularne

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

DarkSword – cichy zabójca iPhone’ów. Nowy exploit, który przejmuje kontrolę nad urządzeniem w kilka sekund

Powstał nowy, zaawansowany zestaw exploitów wymierzony w użytkowników iPhone’ów. Narzędzie o nazwie DarkSword pokazuje, że nawet platformy uznawane za jedne z najbezpieczniejszych mogą stać się celem...
Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

Uwaga! Nowa aktualizacja Chrome usuwa aż osiem poważnych podatności!

W poniedziałek Google ogłosiło nową aktualizację Chrome 146, usuwającą osiem poważnych podatności związanych z bezpieczeństwem pamięci. Na pierwszym miejscu znalazł się CVE-2026-4673 – błąd typu h...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Czym jest passphrase i dlaczego to lepsze rozwiązanie niż tradycyjne hasło

Passphrase to sekwencja słów, zwykle dłuższa niż tradycyjne hasło, używana do uwierzytelniania lub zabezpieczania dostępu do systemu komputerowego, konta internetowego czy innego zasobu cyfrowego. Najczę...
Narzędzie do hackowania offline, czyli Hashcat

Narzędzie do hackowania offline, czyli Hashcat

Na czym polegają ataki offline, czyli odzyskiwanie haseł z hashy omówiliśmy już we wcześniejszym artykule tutaj. Teraz czas przetestować konkretne narzędzie, najpopularniejszy łamacz hashy czyli Hashcat...