2014. január 26., vasárnap

RAR jelszótörés

Biztos mindenkivel előfordult már hogy olyan rar fájllal találkozott ami jelszóval volt védve, viszont a jelszó nem volt meg hozzá. Nem kell elkeseredni, van erre is megoldás. Alapvetően két féle támadás létezik:
-brute force támadást
-szótár alapú támadást
Brute force(magyarul: nyers erő):
Tegyük fel hogy van egy 4 karakteres jelszónk. A brute force támadás során a programok általában egy megadott karakter készlettel dolgoznak(pl.: abc012345@&{}). Mivel 4 karakteres a kód, ezért az első kód amit ki fog próbálni az a ‘aaaa’ lesz, a következő a ‘aaab’ stb. Nem az a lényeg hogy milyen sorrendben hanem az hogy minden lehetséges kódot ki fog próbálni. A sebességének csak a számítógépünk teljesítménye szab határt.    
Pár karakteres jelszóknál jó lehet ez a fajta támadás, viszont sok karaktereseknél nem érdemes futtatni mert sosem fog végezni.  

Szótár alapú támadás:
Ennél a támadásnál szükségünk lesz egy jelszó fájlra. Bonyolultabb jelszavakat nem sok esélyünk van ezzel a módszerrel feltörni, viszont az egyszerűbbek ellen nagyon hatásos.

A cikkben a crark nevű programmal fogunk részletesen foglalkozni.

Egy kis használati útmutató:
-lXX : Beállítja a jelszó minimális méretét. (0 - 255) Alapértelmezetten: 1
-gXX : Beállítja a jleszó maximális méretét. Alapértelmezetten: 8
-pXXXX : Beállítja a jelszóra vonatkozó instrukciókat tartalmazó fájl nevét alapértelmezetten: password.def
-b : teljesítmény értékelés
-v : debug mód
-c : kikapcsolja a GPU támogatás
-d : GPU késleltetést állít be. 0: leggyorsabb 5: leglassabb
-n : Beállítja a GPU eszközt. Alapértelmezett: 0
-fXXX: Crypto funkciókat állít be.

Ahhoz hogy használni tudjuk a programot létre kell hoznunk egy olyan fájlt amiben megadjuk hogy milyen karakter készlettel dolgozzon stb.(password.def)

A fájlban így kell megadni:
##
[karakterkészlet]
Meg tudjuk adni kézzel is hogy pl. [abcd\$\*] (Mint láthatjuk a speciális karakterek escapelni kell)
Továbbá megadhatunk előre beállított karakterkészleteket, makrókat:

$1 - Számok 0-9
$a - Kisbetűs latin karakterek (26 karakter)
$A - Nagybetűs latin karakterek
$! - Speciális karakterek
$i - kisbetűs karakterek a nemzeti abc szerint
$I - nagybetűs karakterek a nemzeti abc szerint
$0 - Egyéb felhasználó által megadott karakterek
? - Az összes eddigi együtt

$w - ezzel az opcióval tudunk megadni szótárt.
A password.def-ben így kell megadni:
$w = “wordlist.txt”
##
$w
A szótáron lehet különböző manipulációkat is végezni.
.u - nagybetűssé változtatja a szót
.e - kisbetűssé változtatja a szót
.t - levágja a szót a megadott hosszig
.j - néhány betűt naggyá tesz
.r - megfordítja a szavakat
.s - összezsugorítja a szavakat
.d - megduplázza a szavakat
.u(1) - csak az első betűt változtatja naggyá
.u(-) - csak az utolsó betűt változtatja naggyá
.j(0) - a páratlan karakterek lesznek nagyok
.j(1) - a páros karakterek lesznek nagyok
.j(2) - a magánhangzók lesznek nagyok
.j(3) - a mássalhangzók lesznek nagyok 
Készítettem egy kis videót is a progi használatáról: