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

Od kart perforowanych do hasła. Historia logowania

Od kart perforowanych do hasła. Historia logowania

Dziś logowanie jest czynnością banalną: login, hasło, kliknięcie. Trudno sobie wyobrazić komputer bez kont użytkowników i uwierzytelniania. A jednak przez pierwsze dekady informatyki logowanie w ogóle...
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...
Jak zoptymalizować budżet na cyberbezpieczeństwo w 2026 roku

Jak zoptymalizować budżet na cyberbezpieczeństwo w 2026 roku

W czasach rosnących zagrożeń i coraz bardziej zaawansowanych ataków wydatki na cyberbezpieczeństwo nie są już tylko „kosztem” -  stały się strategiczną inwestycją chroniącą integralność danych, reputację o...
Uwaga na PDFSider – nowy zaawansowany malware używany przez grupy ransomware

Uwaga na PDFSider – nowy zaawansowany malware używany przez grupy ransomware

Nowo zidentyfikowana rodzina złośliwego oprogramowania o zaawansowanych możliwościach jest wykorzystywana w atakach ukierunkowanych (APT) – również przez wiele grup ransomware. Zagrożenie zostało...
Hakerzy z Korei Północnej używają AI do generowania backdoorów PowerShell w kampaniach phishingowych

Hakerzy z Korei Północnej używają AI do generowania backdoorów PowerShell w kampaniach phishingowych

Najbardziej aktywny północnokoreański aktor zagrożeń, znany jako Konni (śledzony również pod nazwami takimi jak Opal Sleet, TA406 czy Earth Imp), rozszerzył swoje taktyki cyberataków, sięgając po narzędzi...