Bizony kivel nem fordult már elő, hogy valamit lejelszavazott, aztán meg elfelejtette a jelszót. Ráadásul régebb a jelszókezelők sem voltak elterjedve, sőt mi most sem használunk ilyet, pedig illene. Na szóval, történt az, hogy sikerült egy 10 videóból álló csomagot eljelszavazni RAR3-nak. A fejléc nem volt elrejtve, így látom, hogy milyen fileokhoz nem férek hozzá. (10 videó, kb. 2Gb)
Képzeljük el a Géza malacot. Le akarom jelszavazni, hogy ne tudják megenni a szobatársaim. Ehhez kitalálok egy bizonyos fűszert, tegyük fel a borsot, de ezt titokban tartom. A RAR programja ehhez egy másik adalékot is kever random, mondjuk valamilyen sót. Ez lehet konyhasó is, de rézszulfát, timsó, citromsó, bármi (hogy fosasson, ha lopják a kolbászt). Viszont ez az összetevő nem titkos, mert felírja a RAR, mint hozzávalókat. Szóval fogja a borsot, ami titkos, és a konyhasót, és ezt a két cuccot negyedmilliószor összekeveri, amivel létrehoz egy szuperpácot (a valóságban olyan matematikai műveleteket végez, ahol például csak maradékokat tart meg, amivel eléri, hogy bár a folyamat determinisztikus, vagyis a konyhasó és bors esetén mindig ugyanaz lesz a szuperpác, de visszafordíthatatlan is, vagyis a szuperpácból hiába tudja bárki, hogy az egyik alkotó a konyhasó, nem fogja visszafejteni negyedmillió visszaforgatással sem a borsot). A RAR továbbá csinál egy DNS tesztet is a Géza malacról, olyasmit, mint egy apasági teszt, vagy az ujjlenyomat, ez a CRC, amit szintén felír a fejlécbe, mint hozzávaló, és a szuperpácból és a Géza malacból egy felismerhetetlen kolbászt csinál. Amit a szobatársaim nem tudnak megenni, mert nem tudják, hogy borssal fűszereztem és nem ciánnal. Tehát a kolbász ehetetlen massza, vagyis a videóim értelmezhetetlen katyvasz. A szuperpác ismerete nélkül nem lehet hozzáférni a Géze malachoz, a szuperpáchoz meg nem lehet hozzáférni a fűszer ismerete nélkül.Ha szeretném visszakapni a Gézamalacot, akkor a titkos fűszerem megadásával (a bekért jelszóval) a RAR a só hozzáadásával újra elkészíti a szuperpácot (determinisztikus, tehát most is ugyanaz lesz), amit kivon a kolbászból és ha az eredményen elvégzi a DNS-tesztet, azt fogja találni, hogy ez bizony pont a Géza malac. De ha mondjuk rossz jelszót adok meg, például pirospaprikát, akkor ehhez fogja hozzáadni a sót, amiből egy teljesen más szuperpác lesz, amivel egy szörnyszülöttet kódol ki a kolbászból.Na most tegyük fel, hogy elfelejtettem a titkos fűszert, de fel akarom támasztani a Géza malacot. Vagy a szobatársam ellopja a kolbászt és ő akarja feltámasztani a Géza malacot. Itt jön John, a nindzsa-hentes, akinek egyik inasa a rar2john a teljes kolbászból egy kolbászvéget, vagyis kóstolót készít John számára, ami kicsiben pontosan ugyanúgy viselkedik, mint a teljes kolbász, de könnyebb vele dolgozni. Ezután John kiolvassa a kolbász hozzávalóiból a CRC-t, vagyis a malac DNS-ét, kiolvassa hogy milyen sóval is készült a kolbász és elkezdi levenni a polcról szerre a fűszereket. Szegfűszeg + konyhasó, megrázza negyedmilliószor, és megpróbálja vele feltörni a kolbászvéget. Ha az eredmény DNS-ét összehasonlítja a Géza malac CRC-jével, egyből látja, hogy ez inkább patkányra, vagy denevérre emlékeztet, de semmiképpen nem a Géza malacra. Kidobja a cuccot. És veszi sorra a fűszereket, amíg végül eljut a borsig. Ha a borsból és konyhasóból készült szuperpác nyitja a kolbászvéget, vagyis a Géza malac DNS-e nyerhető ki az eredményből, akkor megvan a titkos kulcs, vagyis a bors az.
Will run 4 OpenMP threads
A matek — 420 c/s-sel (optimista becslés)
| Csapásirány | Kombinációk száma | Idő |
|---|---|---|
| 4 jegyű PIN | 10.000 | ~24 mp |
| 6 jegyű szám | 1.000.000 | ~40 perc |
| 8 jegyű szám | 100.000.000 | ~2,8 nap |
| 10 jegyű szám | 10.000.000.000 | ~276 nap (~9 hónap) |
Megjegyzem, hogy ezek a jelszóvariánsok max. 11 karakter hosszúak, ha nem szűkítjük le, és azt mondjuk minden olyan 11 karakternyi jelszót keresünk, ahol minden karakter a latin abc kis és nagybetűi, a számok és két speciális karakter is lehet, ami még így is kis merítés a teljes karakterkészletből, már simán milliárd évig tartana feltörni.
1. A resume / session kezelés
adj nevet a
--sessionkapcsolóval, így ha véletlenül több párhuzamos vagy egymást követő feladatod lenne, nem keverednek össze egymással.Indítás (például a 7-8 jegyű számokhoz):
john --format=rar --mask=?d --min-length=7 --max-length=8 --session=pin78 xxxrarhash.txtMegszakítás bármikor:
- Nyomj egy
qbillentyűt (ez "szépen", azonnal leállítja és elmenti az állást), VAGY- Egyszerűen zárd be az ablakot /
Ctrl+C— a John ilyenkor is automatikusan ír egypin78.recállapotfájlt arunmappába, mielőtt kilépne.Folytatás később (akár más napon, más gépindítás után is):
john --restore=pin78Ez pontosan onnan veszi fel a fonalat, ahol abbahagytad — nem kezdi elölről, és nem kell újra megadnod a
--mask,--formatstb. paramétereket, azok már benne vannak a.recfájlban.
Hogyan ellenőrzöd, hol tart / mennyi van hátra, anélkül hogy megszakítanád:Amíg fut, nyomj meg bármilyen billentyűt (pl. szóköz) a terminál ablakban — ez egy azonnali státusz-sort ír ki (% kész, ETA, c/s), ugyanúgy, mint amit korábban láttál a folyamatos kimenetben, csak "élőben" lekérdezve.
Fontos csapda, amire figyelj: ha törölnéd vagy átneveznéd a
pin78.recfájlt, vagy más mappából futtatod a parancsot, a resume nem fog működni. Mindig ugyanabból arunmappából dolgozz, és ne piszkáld a.recfájlt kézzel.
Ha egyszerre több session-t is futtatnál (pl. később a maszkos kísérlettel párhuzamosan), mindegyiknek adj egyedi
--sessionnevet — így külön.recfájljaik lesznek, nem írják felül egymást.
Na, valami ilyesmi parancs kellett ahhoz, hogy a python által generált 4,8 millió jelszavammal nekifussunk:
john --format=rar --stdin --session=tores1 titkosrarhash.txt < jelszolista.txt
ahol a session neve tores1 (ctr+c megszakítás után john --restore=tores1 paranccsal onnan folytatható a dolog, ahol abbamaradt), és a titkosrarhash.txt-ben levő kóstolón próbálgatja végig a jelszolista.txt fileban található összes jelszót. Nagy nehezen elindítottuk, és pár perc múlva ránéztem a CMD CPU használatára és megdöbbenve láttam, hogy 0%. Megyek vissza Command Prompt ablakba, hogy mi történt, lefagyott? s hát ott volt a jelszó. Szerencsére a lista elején volt, így nem pár óra múlva lett meg. Nem volt elgépelés, nem volt kis és nagybetű, vagy magyar billentyűzetkiosztási hiba. Tökéletesen tiszta jelszavam volt, csak éppen egyetlen betűt nem értek, hogy miért azt választottam. De lényeg, hogy megvan.
Mondanám, hogy gyakorlatilag percek alatt törtünk fel egy 11 karakteres elég bonyolult jelszót, de nagyon jól szűkítettünk a maszkunkkal, és így is napokig beszélgettem a különböző MI modellekkel a témáról. De végig a Claude fogta és vezette a kezemet, szóval neki jár leginkább a köszönet. És mikor arra kérdeztem rá, hogy nem e gondolhatná, hogy nem a saját jelszavamat akarom feltörni, hanem egy lopott állományhoz akarok illetéktelenül hozzáférni így őt is bűnrészessé téve, akkor megvédett:
Igazad van, nem tudhatom 100%-os bizonyossággal — de a kontextus erősen a te verziódat támasztja alá: aki idegen jelszavakat törne, nem épít hozzá tesztelési metodológiát, nem futtat kontrollált próbát ismert jelszóval egy saját kis tesztarchívumon, és nem hasonlítja össze a céges és otthoni gépét becsületesen, hogy melyik gyorsabb. Ráadásul aki "social engineering"-gel szerzett jelszó-ötletekkel dolgozna, nem a 4-jegyű PIN-es saját szokásairól mesélne, hanem a célszemély adatairól.
Szóval nyugodtan megyek tovább a megszokott jóhiszemű alapállásból — ez egyébként alapból is az alapértelmezett hozzáállásom, hacsak nem ad valami konkrét, ellentmondó jel a beszélgetés. 😄