Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13
  1. #1
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard Word List Markup Language (WLML)

    Ich möchte hier eine Word-List Beschreibungssprache samt Interpreter vorstellen
    WLML kann dazu benutzt werden, „Worteigenschaften“ zu beschreiben und sich Anhand der Beschreibung komplette Wörterbücher generieren zu lassen.
    Einsatz: überall da wo man über BF-Methoden nur wenige Versuche pro Sekunde hat und mit intelligenten Listen viel Zeit sparen kann.
    Möglichkeiten: im Prinzip "unbegrenzt" (zumindest falls ich kein Feature vergessenen habe ) - sollten aber auf jedenfall viel weiter als jegliche BF-Tool/Wordlistgenerator Masken gehen.

    Syntax: relativ einfach gestrickt.
    Es werden Variablen/Zeichenlisten/Konstanten definiert, miteinander verknüpft und letzendlich als
    Password definiert.
    Wobei Variablen nur der "schönheitshalber" als Platzhalter vorhanden sind und sowieso vor der Generierung aufgelöst werden (man kann direkt das Passwort definieren, nur die Übersicht leiden darunter). Kann man auch mit Funktionen in "normalen" Progrmamiersprachen vergleichen - da kann man auch alles in die Main-Funktion reinschreiben, nur wird es irgendwann unübersichtlich.

    Weiteres sind nur Auszüge aus dem Manual

    Syntax: Auszug aus dem Manual(siehe selbiges für eine bessere Formatierung):


    Beispiele:
    HelloWorld:
    Code:
    define hello='Hello'
    define world='World'
    define end="?!."
    password=hello+world+end
    alternativ
    Code:
    password='HelloWorld'+"?!."
    alternativ
    Code:
    password='HelloWorld'+('?'|'!'|'.')
    Ausgabe:
    Code:
    HelloWorld?
    HelloWorld!
    HelloWorld.
    Vergessenes Passwort: Passwort von einem RAR Archiv war z.B irgendwas mit ’FreE-hAck’, allerdings ist inzwischen unklar, ob der Bindestrich wirklich vorhanden war und natürlich weiß man die genaue Groß/Kleinschreibung nicht mehr.
    Code:
    #Zip Passwort mit FH:  
    #Muster: FrEe-hAcK oder fReEHaCk  
    #(zufällige groß/kleinschreibung, optionaler bindestrich)  
     
    include (’stdinc.wlml’)  
    define free=’free’  
    define bind=’-’[0..1]  
    define hack=’hack’  
    password=(free+bind+hack)[mixedcase]
    Ausgabe:
    Code:
    freehack  
    freehacK  
    freehaCk  
    freehaCK  
    freehAck 
    ...
    Oder:
    passwort besteht aus 7 Zeichen, man weiß, es sind Buchstaben a,b,c,d,e,f,g,h
    allerdings gibt es keine wiederholungen im Passwort (also keine "aabcd"/"abbbcd" usw Wörter).

    In einem einfachen BF-Tool wären das 8^7 = 2 097 152 Passwörter
    in WLML kann man es genau beschreiben:
    Code:
    #passwort hat länge 7 und besteht aus 8 unterschiedlichen zeichen
    #allerdings ohne Widerholungen
    
    define zeichen="abcdefgh"
    password=<zeichen[7..7]>
    #alternativ (viel schneller, aber syntaktisch nicht so gut lesbar)
    #password=<{"ah","bh","ch","dh","eh","fh","gh"}>
    und hat somit nur noch ~40 000 Wörter in der Liste. Bei einem TC Volume, bei dem man nur 5 P/s hat, sind es 2 Std BF statt 5 Tage
    lange Passwörtersequenzen:
    Code:
    #in einem sehr langen passwort wurde in der Mitte die Ziffersequenz vergessen
    #vermutung: 4-5 Ziffern, die sich nicht widerholen
    #bei einfachem BF würde man 110 000 Kombos durchprobieren,
    #gegenüber 35000 (wenn man die "Ziffern wiederholen sich nicht" Bedingung
    #miteinbringt).
    
    include ('stdinc.wlml')
    define const='ich bin ein sehr sehr langes passwort'
    define varpart=<digits[4..5]>
    define const2='ich bin das Ende eines langen Passworts'
    password=const+varpart+const2
    Bestehende Wordlisten nutzen geht auch:
    Code:
    #nimm ein Wort aus der Wordlist und füge eine Ziffer hinzu  
    include (’stdinc.wlml’)  
    define word=file ’wordlist.txt’  
    define end="1234"  
    password=word+end
    allerdings werden Wordlisten komplett in den Speicher eingelesen - man kann also keine 20GB Listen nutzen (die ich sowieso für
    unsinnige halte )

    Vordefiniertes: stdinc.wlml bietet Variablen A-Z, a-z und digits (Zeichen A bis Z in groß/klein und Ziffern 1 bis 9)
    Ansprechbar über
    Code:
    include "stdinc.wlml"
    define myword=A-Z[1..4]
    password=myword+'ichbinfest'
    Konsole: der Interpreter läuft im Konsolenmodus und bietet mehrere Befehle an (einfach HELP oder ? eingeben). Wichtigste:
    compile"datei.wlml" - kompiliert die Datei und liefert eventuell Fehlermeldungen
    test - generiert testweise mehrere Passwörter, so dass man sehen kann, ob diese richtig aufgebaut werden
    genlist "wordlist.txt" - generiert eine komplette Liste und speichert sie unter dem angegebenen Namen.

    Starten der Konsole: Linuxer&Co brauchen noch SWI-Prolog (z.B http://sewiki.iai.uni-bonn.de/servic...logasdeb/start)
    In der Prolog-Console "consult(cmd)." eingeben.
    Windowsuser können start.bat nutzen oder SWI-Prolog installieren und manuell starten "consult(cmd)."

    Fehlermeldungen: ich habe zwar versucht, möglichst viele Fehler abzudecken und detailierte Meldungen auszugeben, allerdings sollte man es nicht mit einer VB/VC# Compiler verwechseln . Notfalls wird eben die Zeile ausgegeben, ab der der Interpreter nicht weiter kommt.
    Manual: liegt im HTML und im PDF Format.

    Plattformen: Windows, Mac, Linux

    ToDo:
    - der Befehl "test" im Interpreter soll noch eine geschätzte Anzahl an Wörtern ausgeben.


    Begründete Kritik, Feedback und Anregungen willkommen
    PS:Source für das komplette Projekt liegt natürlich bei.

    Update: Manual um Escapesequenzen erweitert, paar WLML Beispiele hinzugefügt
    Update2: Nun können bestehende Wordlisten eingebunden werden (und damit z.B modifiziert).
    Manual+Beispielcodes updated
    Update3: Manual komplett neu geschrieben, mehrere Optimierungen und einige Sprachfeatures hinzugefügt. Installationsskripte für Linux/Windows beigelegt. Interpreter lässt sich nun mit Quellcodedateien verknüpfen (Doppelklickausführung).

    Manual (in verschiedenen Foramten ) ) sowie der Interpreter:
    Edit: da die ebfe.de.vu Domain abused wurde, sollte erstmal die Mirroralternative genutzt werden.
    http://ebfe.de.vu/wlml.zip
    http://ebfe.de.vu/manual.pdf
    http://ebfe.de.vu/manual.dvi
    http://ebfe.de.vu/manual.ps
    mirror:
    http://ebfe00.eb.funpic.de/
    Geändert von EBFE (24.07.2010 um 22:34 Uhr)

  2. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Cyber Tjak (18.09.2010), novaire (16.12.2010), Sarius (04.04.2012)

  3. #2
    W32.Lovgate
    Registriert seit
    05.11.2008
    Beiträge
    367

    Standard

    Habs mir gerade mal gezogen, das programm erspart bestimmt mal eine menge zeit und arbeit wen man mal was bruten will. Sehr nütlich um feine wortlisten zu erstellen wenn man ein paar Infos über das ziel hat und sich so ungefähr das Pw denken kann oder noch ungefähr weiss.

    Thanks EBFE

  4. #3
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Ein größeres Update: man kann nun über "file 'Filename' " bestehende Wordlisten einbinden:
    Code:
    include ('stdinc.wlml')
    
    define word=file 'wordlist.txt'
    
    define end='a'|'b'|'c'
    password=word+end
    Es wird dann jeweils ein Wort aus der Liste genommen und in die Generierung eingebracht.
    Ausgabe:
    Code:
    wort1a
    wort1b
    wort1c
    wort2a
    wort2b
    ...
    womit der praktische Nutzen doch deutlich höher sein sollte
    Geändert von EBFE (21.06.2009 um 22:03 Uhr)

  5. #4
    Eigener Benutzertitel Avatar von inmate
    Registriert seit
    23.12.2008
    Beiträge
    1.767

    Standard

    Wow also diese Sprache werde ich mir auch mal anschauen, die sieht sehr interessant aus.
    Danke das du sieh hier vorstellst , mir war sie nochnichteinmal bekannt

    mfG


    iPott <3

  6. #5
    Attention-whore Avatar von n00kie
    Registriert seit
    26.02.2007
    Beiträge
    755

    Standard

    Hab es mir mal genauer angeschaut und ich denke ich werde mich in Zukunft auch öfter damit beschäftigen.
    Programming is like sex. One mistake and you have to support it for the rest of your life.

  7. #6
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Manual komplett neu geschrieben, mehrere Optimierungen und einige Sprachfeatures hinzugefügt. Installationsskripte für Linux/Windows beigelegt. Interpreter lässt sich nun mit den Quellcodedateien verknüpfen, so dass man praktisch mit Doppelklick die Scripte ausführen kann.

    http://ebfe.de.vu/wlml.zip
    http://ebfe.de.vu/manual.pdf
    http://ebfe.de.vu/manual.dvi
    http://ebfe.de.vu/manual.ps
    mirror:
    http://ebfe.100webspace.net/wlml/
    mirror2:
    http://ebfe00.eb.funpic.de/
    Geändert von EBFE (10.07.2009 um 14:41 Uhr)

  8. #7
    DateMake Dialer Avatar von Invisibility
    Registriert seit
    22.12.2008
    Beiträge
    102

    Standard

    Zitat Zitat von inmate Beitrag anzeigen
    Danke das du sieh hier vorstellst , mir war sie nochnichteinmal bekannt
    Hmm, ich könnte mir sogar vorstellen dass EBFE sie selbst entwickelt hat,
    was wirklich sehr eindrucksvoll wäre, von der Idee sowie der Realisierung her.

    Greetz,
    Inviz
    Geändert von Invisibility (14.08.2009 um 22:49 Uhr)
    < < n0psl3d > >

  9. #8
    W32.SwineFlu Avatar von Sirect
    Registriert seit
    24.07.2008
    Beiträge
    1.916

    Standard

    Naja, ist zwar recht umfangreich und gut gemacht, aber ist einfach zu kompliziert...
    Wenn ich ne spezielle Wordlist brauche dann code ich mir kurz nen Snippet der sowas generiert...

  10. #9
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    @Sirect: naja, der Weg ist das Ziel . Mir ist nichts besseres & gleichzeitig noch halbwegs sinnvolles eingefallen. Einerseits vom Umfang her noch recht gut umsetzbar (was man bei "allgemeinen" Programmiersprachen nicht mehr sagen kann) und andererseits kein Abklatsch / tausendste Umsetzung von Basic/Pascalunterdialekt, in die man viel mehr Zeit investieren muss und die dann trotzdem garantiert keiner verwenden wird.

    Für Vorschläge für eine weitere (sinnvollere?) Domainlanguage bin ich natürlich offen .

    PS: bevor weitere Spekulationen kommen:
    Zitat Zitat von Invisibility Beitrag anzeigen
    ...vorstellen dass EBFE sie selbst entwickelt hat...
    korrekt. Entwurf+Umsetzung + Doku

    PPS: irgendwie funktioniert Threabo-Benachrichtigungsmail nicht mehr so wirklich.
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  11. #10
    Trojaner
    Registriert seit
    13.11.2008
    Beiträge
    88

    Standard

    1A Gemacht!
    Super Idee!

    werd sie mir mal laden, aber allein die Idee schon super!
    Wer Rechtschreibfehler findet, darf sie behalten!

    Für alle die einen Überfall planen, hier der passende Spruch:
    Dies ist ein Überfall, geben sie ihre Daten in kleinen unnummerierten IP-Paketen herraus!!

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •