A John the Ripper (röviden JtR vagy egyszerűen John) egy népszerű és hatékony jelszófeltörő eszköz, amelyet széles körben használnak jelszó-helyreállításra, biztonsági auditokra és penetrációs tesztekre. Bár a kezdők számára ijesztőnek tűnhet, a JtR paraméterezésének megértése kulcsfontosságú a hatékony használatához. Ebben a részletes útmutatóban lépésről lépésre végigvezetjük a legfontosabb paramétereken és beállításokon, hogy a maximumot hozhasd ki ebből a nagyszerű eszközből.
Miért fontos a paraméterezés?
A JtR alapértelmezett beállításokkal is képes jelszavakat feltörni, de a helyes paraméterezés jelentősen felgyorsíthatja a folyamatot és növelheti a sikeres feltörés esélyét. A paraméterek segítségével pontosan meghatározhatjuk, milyen módszereket, szótárakat és szabályokat használjon a program, ezáltal optimalizálva a támadást az adott helyzethez.
Alapvető Paraméterek
Kezdjük az alapokkal! Ezek a paraméterek szinte minden JtR használati esetben alkalmazhatók.
- –wordlist=<fájl> (-w): Ez a paraméter határozza meg, hogy melyik szótárfájlt használja a JtR a jelszavak feltörésére. Fontos, hogy a szótár releváns legyen a célpont szempontjából. Pl.:
john --wordlist=password.lst hash.txt
- –single: Ez a paraméter egyetlen jelszót próbál feltörni a felhasználónév és a hozzá tartozó hash alapján. Hasznos lehet, ha gyanítjuk, hogy egy egyszerű jelszóról van szó. Pl.:
john --single hash.txt
- –format=<formátum>: Ez a paraméter határozza meg a hash formátumát. A JtR automatikusan felismerheti a legtöbb formátumot, de bizonyos esetekben (pl. kevésbé ismert hash algoritmusok) manuálisan kell megadnunk. Pl.:
john --format=md5 hash.txt
- –rules: Ez a paraméter engedélyezi a szabályok használatát a szótárfájlban lévő szavak módosítására. A szabályok segítségével például nagybetűssé tehetünk szavakat, számokat adhatunk hozzájuk, vagy szimbólumokat illeszthetünk be. Pl.:
john --wordlist=password.lst --rules hash.txt
- –incremental=<mód>: Ez a paraméter engedélyezi az incremental módot, amely brute-force módszert használ, de intelligensebb, mint a hagyományos brute-force. A
--incremental:ASCII
például minden ASCII karaktert kipróbál, míg a--incremental:Digits
csak számokat. Pl.:john --incremental:Digits hash.txt
- –session=<név>: Ez a paraméter létrehoz egy munkamenetet, aminek köszönhetően megszakíthatjuk és később folytathatjuk a feltörési folyamatot. Pl.:
john --session=mypasswordcrack --wordlist=password.lst hash.txt
és a folytatáshozjohn --session=mypasswordcrack --resume
Haladó Paraméterek
Ha már magabiztosabb vagy az alapokkal, érdemes megismerkedni a haladóbb paraméterekkel is, amelyek finomhangolhatják a JtR működését.
- –fork=<szám>: Ez a paraméter meghatározza, hogy hány processzt használjon a JtR párhuzamosan a feltöréshez. Minél több processzt használunk, annál gyorsabb lehet a feltörés, de figyelni kell a rendszer erőforrásaira. Pl.:
john --fork=4 --wordlist=password.lst hash.txt
- –gpu-enable: Ez a paraméter engedélyezi a GPU használatát a jelszavak feltörésére. A GPU-k általában sokkal gyorsabbak a CPU-knál a hash-ek számításában, de nem minden hash algoritmus támogatja a GPU-s gyorsítást.
- –max-len=<szám>: Ez a paraméter meghatározza a maximális jelszóhosszat, amelyet a JtR kipróbál. Pl.:
john --incremental:All --max-len=8 hash.txt
(csak 8 karakteres vagy rövidebb jelszavakat próbálja meg) - –min-len=<szám>: Ez a paraméter meghatározza a minimális jelszóhosszat, amelyet a JtR kipróbál.
- –mask=<maszk>: Ez a paraméter egy maszkot definiál, ami lehetővé teszi, hogy részletesebben meghatározzuk, milyen karaktereket próbáljon a JtR a jelszavak feltörésére. Pl.:
john --mask=?l?l?d?d hash.txt
(két kisbetű, majd két szám)
Tippek és Trükkök
- Kombináld a módszereket: Ne ragadj le egyetlen módszernél! Kombináld a szótáralapú támadásokat a szabályokkal és az incremental módszerrel a legjobb eredmény eléréséhez.
- Használj releváns szótárakat: Keress olyan szótárakat, amelyek relevánsak a célpont szempontjából. Pl.: ha egy weboldalt törsz fel, keress olyan szótárakat, amelyek tartalmazzák a weboldal témájához kapcsolódó szavakat.
- Kísérletezz a szabályokkal: A szabályok segítségével rengeteg variációt generálhatsz a szótárban lévő szavakból. Nézz utána a JtR szabályainak és kísérletezz velük!
- Figyelj a teljesítményre: A
--fork
paraméterrel növelheted a teljesítményt, de figyelj arra, hogy ne terheld túl a rendszert. - Használj munkameneteket: A munkamenetek segítségével bármikor megszakíthatod és folytathatod a feltörési folyamatot.
Példa Parancsok
Íme néhány példa parancs a JtR használatára:
- Alap szótáralapú támadás:
john --wordlist=rockyou.txt hash.txt
- Szótáralapú támadás szabályokkal:
john --wordlist=rockyou.txt --rules hash.txt
- Incremental támadás számokkal:
john --incremental:Digits hash.txt
- Incremental támadás az összes ASCII karakterrel (max 8 karakter):
john --incremental:All --max-len=8 hash.txt
- Munkamenet létrehozása és folytatása:
john --session=mytarget --wordlist=password.lst hash.txt
, majd későbbjohn --session=mytarget --resume
Összegzés
A John the Ripper egy rendkívül sokoldalú eszköz, amelynek a hatékony használatához elengedhetetlen a paraméterezés megértése. Reméljük, ez a részletes útmutató segített eligazodni a JtR világában, és most már magabiztosabban vághatsz bele a jelszófeltörésbe (legálisan persze!). Ne feledd, a gyakorlás teszi a mestert, ezért kísérletezz bátran a különböző paraméterekkel és beállításokkal!