Generate / Download Rainbow Tables

Dieses Thema im Forum "Security Tutorials" wurde erstellt von KnoX, 9. August 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 9. August 2007
    ~#################################################################~

    Cracking The ing Hash V1.0

    ~#################################################################~

    by Hytronic

    hytronic@gmx.de


    Ich habe bemerkt, dass es bei einigen Leuten große Defizite in Sachen Rainbow Tables gibt. Dieses Tut soll hauptsächlich denjenigen helfen,
    die nicht so gut Englisch können und somit die Anleitung auf der Website von RainbowCrack nicht richtig verstehen. Die Leute die nur mit
    Bruteforce arbeiten, sollten dieser genialen Methode eine Chance geben.

    Zuerst will ich erklären, was Rainbow Tables überhaupt sind.

    Um Passwörter zu cracken gibt es verschiedene Methoden. Die bekannteste ist die Bruteforce Attacke. Bei einer Bruteforce Attacke,
    werden einfach alle möglichen Kombinationen ausprobiert, was bei schlechten Umständen sehr lange dauern kann. Und bei den Rainbow Tables
    wird die "time-memory trade-off technique" (table precomputation) benutzt. Bei der time-memory trade-off technique wird das ganze einfach
    vorrausberechnet, das Ergebnis dieser "Vorrausberechnung" wird dann in den Rainbow Tables abgespeichert. Es dauert sehr lange die Tables
    zu berechen, deswegen wäre es vorteilhaft viel Zeit und einen möglichst schnellen Rechner mitzubringen. Aber wenn ihr erst einmal die
    Rainbow Tables fertig generiert habt, dann werdet ihr mit einem time-memory trade-off cracker hundermal schneller die passwörter gecrackt
    haben, wie mit einem Bruteforcer.

    Um die Rainbow Tables zu generieren brauchen wir ersteinmal das passende Programm, dies bekommen wir ganz legal unter dieser url:

    http://www.antsight.com/zsl/rainbowcrack/ (Hauptseite von RainbowCrack)


    Charset:

    Das frisch Gedownloadete entpacken wir gleich mal. In dem entpackten Ordner befindet sich eine Datei namens "charset.txt". Die öffnen wir
    nun, das sieht dann ungefair so aus:

    alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
    alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
    alpha-numeric-symbol14 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=]
    all = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]

    numeric = [0123456789]
    loweralpha = [abcdefghijklmnopqrstuvwxyz]
    loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789]


    Das linke Wort von dem "=" Zeichen wird "charset name" genannt. Die Zeichen in der Klammer "[]" werden logischerweise "charset" genannt
    Das ganze Zeug kann man jetzt beliebig modifizieren. Wenn ich jetzt zB. zu dem plain charset "ABCDEFGHIJKLMNOPQRSTUVWXYZ" noch paar
    Sonderzeichen dazu machen will, sieht das so aus:

    alpha-special = [ABCDEFGHIJKLMNOPQRSTUVWXYZ%^&*]

    Aber normal brauch man die "charset.txt" nicht modifizieren.

    Die Zeichen die in der Klammer "[]" (charset) sind, kann man dann später cracken. Wurde im Passwort ein Zeichen verwendet das nicht im
    charset aufgeführt ist, kann man das Passwort nicht cracken! Also solltet ihr euch gut überlegen welches charset ihr nehmen wollt. Wenn wir
    eine größere "charset Size" haben, wird der "keyspace" auch höher, das bedeutet, je mehr chars (Zeichen) ihr cracken wollt, desto größer
    werden eure Rainbow Tables...


    Syntax:

    Nun kommen wir zum wichtigsten Punkt!
    der Syntax, hier haben die meisten Leute Probleme.

    Die Syntax um einen Rainbow Table zu generieren sieht so aus:

    rtgen "hash algorithmus" "charset" "Stelle1" "Stelle2" "wievielte Tabelle" "chain lenght" "chain count" "Name"

    rtgen lm alpha 1 7 0 2100 20000000 all

    rtgen lm alpha 1 7 0 2100 20000000 all


    Bedeutung:

    hash algorithmus:
    hier kann der hash algorithmus angegeben werden, zB. sha-1, md5, lm, ntlm... jenachdem was ihr später cracken wollt.

    charset:
    sollte klar sein.

    Stellen:
    Im Beispiel ist 1-7 angegeben. Bedeutet, dass man Passwörter von der Länge 1-7 cracken kann. Wenn "4 7" angegeben ist, könnte man "abc"
    (ohne "") nicht mehr cracken.

    wievielte Tabelle:
    Gibt an um die wievielte Tabelle es sich handelt.

    chain lenght:
    Ist sowas wie die Qualität bei Rainbow Tables. Wenn ihr zB. "10000" angebt, dann wird eine relativ hohe "success rate" angesteuert. Dabei
    wird der Rainbow Table nicht größer! Dafür brauch man aber länger um den Table zu generieren ! (von Werten über 10000 ist abzuraten,
    außer man hat eine gute cpu!)

    chain count:
    Diese Zahl bestimmt die größe eines Reinbow Tables. Je größer die Zahl desto höher die "succes rate", aber auch der Rainbow Table wird
    selber größer. Bei "45875500" wird der Table 700 MB groß (praktisch, dann hat man gerade einen Table auf einer CD)

    Name:
    Hier könnt ihr einfach einen Namen eintippen zB. "test", "bla"...


    Besondere Einstellungen:

    Rainbow Tables können auch in mehreren Stücken erstellt werden, dies geht so:

    rtgen lm alpha-numeric 1 7 0 5400 40000000 #0
    rtgen lm alpha-numeric 1 7 0 5400 40000000 #1
    rtgen lm alpha-numeric 1 7 0 5400 40000000 #2
    rtgen lm alpha-numeric 1 7 0 5400 40000000 #3
    rtgen lm alpha-numeric 1 7 0 5400 40000000 #4

    rtgen lm alpha-numeric 1 7 1 5400 40000000 #0
    rtgen lm alpha-numeric 1 7 1 5400 40000000 #1
    rtgen lm alpha-numeric 1 7 1 5400 40000000 #2
    rtgen lm alpha-numeric 1 7 1 5400 40000000 #3
    rtgen lm alpha-numeric 1 7 1 5400 40000000 #4

    rtgen lm alpha-numeric 1 7 2 5400 40000000 #0
    rtgen lm alpha-numeric 1 7 2 5400 40000000 #1
    rtgen lm alpha-numeric 1 7 2 5400 40000000 #2
    rtgen lm alpha-numeric 1 7 2 5400 40000000 #3
    rtgen lm alpha-numeric 1 7 2 5400 40000000 #4

    rtgen lm alpha-numeric 1 7 3 5400 40000000 #0
    rtgen lm alpha-numeric 1 7 3 5400 40000000 #1
    rtgen lm alpha-numeric 1 7 3 5400 40000000 #2
    rtgen lm alpha-numeric 1 7 3 5400 40000000 #3
    rtgen lm alpha-numeric 1 7 3 5400 40000000 #4

    rtgen lm alpha-numeric 1 7 4 5400 40000000 #0
    rtgen lm alpha-numeric 1 7 4 5400 40000000 #1
    rtgen lm alpha-numeric 1 7 4 5400 40000000 #2
    rtgen lm alpha-numeric 1 7 4 5400 40000000 #3
    rtgen lm alpha-numeric 1 7 4 5400 40000000 #4


    Jetzt wäre jeder Rainbow Table in 5 Teile gespalten und wieviel Rainbow Tables haben wir (ganze)? Richtig 5! Insgesamt hätten wir 25 Teile!


    Success Rate:

    Um die "success rate" zu erhöhen kann man auch einfach mehr Rainbow Tables generieren.
    Wenn zB. ein Table eine success rate von "71,70%" hat, dann könnte man 3 Tables mehr generieren, so dass man insgesamt 4 hätte. Dann wäre
    man bei "99.36%". Um die "success rate" zu berechnen, habe ich die Links im "Anhang" beigefügt. Es gibt auch ein kleines Programm namens
    Matlab, habe aber keine Erfahrung damit...

    Hier nochmal ein kleines Beispiel um die success rate mit mehreren tables zu erhöhen:

    1 - (1 - 0.7170) ^ 1 = 0.717 (71.7%)
    1 - (1 - 0.7170) ^ 2 = 0.920 (92%)
    1 - (1 - 0.7170) ^ 3 = 0.977 (97.7%)
    1 - (1 - 0.7170) ^ 4 = 0.994 (99.4%)


    Tipps:

    Dazu könnte man sich jetzt eine schöne Batch bauen. Aber des kann glaube ich jeder. Ich würde euch raten das Generieren auf andere Rechner
    zu verteilen. Man kann sich auch Tables im Internet per Post bestellen, aber das ist ziemlich teuer. Am Besten ein paar Kumpels suchen die
    einem helfen...

    Ihr könnt das Generieren auch unterbrechen, is ziemlich praktsich wenn man den Rechner nicht rund um die Uhr laufen lassen kann. Einfach
    "strg+c" drücken und beim nächsten mal einfach den letzten Befehl (Syntax) wiederbenutzen.

    Außerdem geht das Generieren von den Rainbow Tables ziemlich auf die CPU, aber das geile an dem Programm ist, dass man garnichts davon
    merkt, weil das Programm seine Performance automatisch zurückfährt, sobald ein anderer Prozess die CPU braucht!

    Aufgrund einer Schwäche des LanManagers (lm), können wir uns eine Menge Zeit sparen! Denn zB. mit dem normalen
    alpha charset [ABCDEFGHIJKLMNOPQRSTUVWXYZ] können wir sowohl "GROßE" als auch "kleine" Buchstaben knacken. Dies ist möglich da alle
    "kleinen" Buchstaben im Passwort zu "GROßEN" geändert werden, bevor sie gehasht werden. Außerdem werden Passwörter die mehr als 7 Stellen zu
    verzeichnen haben, in 2 "halb Passwörter" geteilt und jede Hälfte wird somit seperat gehasht. Das bedeutet, dass ihr keine Rainbow Tables
    mit mehr als 7 Stellen generieren müsst. Aber Vorsicht, dies funktioniert nur mit dem LM HASH!!!


    Anhang:

    http://www.plain-text.org <- guter Online Calculator

    oxid.it - Home <- winrtgen benutze ich persönlich nur für die Berechnung. Leider nur für Win, wenn ich mal Zeit habe werde ich noch ein
    kleines Tool für Linux schreiben, aber wenn es solche Calculators schon für Linux geben sollte, dann sagt es mir bitte!

    ophcrack <- ein time-memory-trade-off-cracker + vorberechnete Rainbow Tables (nur lm). (Ein kleiner Online Cracker ist auch noch auf der
    Seite zu finden)

    ps: In diesem Tut wird jetzt nicht erklärt, wie man Hashes crackt, aber auf den websites ist das eigentlich genau beschrieben, sollte kein
    Problem sein (vielleicht editiere is es noch dazu, keine Ahnung)

    DIESES TUTORIAL DARF NUR IN UNVERÄNDERTER FORM WEITERVERBREITET WERDEN!
    Der Autor übernimmt keinerlei Haftung für die Schäden die auftreten können.


    WISSEN IST MACHT!



    DOWNLOAD RAINBOW TABLES
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.