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

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Posiadasz urządzenie od UPC lub inne, które łączy się po Wifi? Chciałbyś poznać jego hasło do sieci? W tym artykule opiszemy sposób, dzięki któremu będziemy mogli poznać aktualne hasło do WiFi przech...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
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...
Claude otwiera się na offensive security. Anthropic wprowadza trzy poziomy dostępu

Claude otwiera się na offensive security. Anthropic wprowadza trzy poziomy dostępu

Ostatnie miesiące nie należą do najłatwiejszych dla zespołów odpowiedzialnych za podatności i aktualizacje. Liczba publikowanych CVE rośnie, a wraz z nią ilość pracy związanej z oceną ryzyka, testowaniem...
Microsoft wycofuje memberOf z Entra ID. Co stanie się z grupami dynamicznymi po 3 listopada?

Microsoft wycofuje memberOf z Entra ID. Co stanie się z grupami dynamicznymi po 3 listopada?

Microsoft ogłosił zakończenie publicznej wersji zapoznawczej dla wykorzystania atrybutu memberOf w Microsoft Entra ID. Po 3 listopada 2026 roku konfiguracje wykorzystujące ten mechanizm przestaną być...