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

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...
Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Eksperci ds. cyberbezpieczeństwa alarmują o dwóch nowych lukach typu zero-day w systemie Windows, mogących mieć poważne konsekwencje dla bezpieczeństwa użytkowników i firm. Podatności, którym nadano naz...
YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

Jeszcze w piątek opisywaliśmy nowe podatności typu zero-day, o nazwach YellowKey oraz GreenPlasma, uderzające w mechanizmy bezpieczeństwa systemów Windows. Najnowsze informacje pokazują jednak, że spr...
Jeszcze o Mythos!

Jeszcze o Mythos!

W bardzo dobrym artykule autorstwa mojego redakcyjnego kolegi możemy znaleźć kompendium wiedzy o Mythos – niedawno ogłoszonym modelu AI od Anthropic. Produkt ten wywołał panikę w branży ze względu na zdolno...
Czym jest Microsoft Entra Backup and Recovery?

Czym jest Microsoft Entra Backup and Recovery?

Przez długi czas odzyskiwanie zmian w Microsoft Entra opierało się głównie na kilku osobnych mechanizmach: soft-delete dla części obiektów, logach audytowych, eksportach konfiguracji i ręcznym odtwarza...