<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.9600.19400">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Liebe LUGer, lieber Christoph,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>schade, wollte mir einen abbrechen, um die Aufgabe 
zu lösen. Aus Erfahrung weiß ich, sind die 2 ersten und die 2 letzten Zeichen 
des sha256-hashes bei einem Vergleich auch noch gleich, dann hochwahrscheinlich 
BINGO!</FONT></DIV>
<DIV><FONT size=2 face=Arial>So habe ich mir b9 und e9 gemerkt und ein wenig mit 
einem "hasher" herumprobiert.</FONT></DIV>
<DIV><FONT size=2 face=Arial>Dann neugierig Christophs Link geklickt und sofort 
auf dieser site b9 und e9 entdeckt. Spiel abgebrochen, Lösung gesehen. Ich gebe 
zu, mit ein paar doofen Passworten mein Glück versuchen zu wollen, C.M 
Spielverderber :))</FONT></DIV>
<DIV><FONT size=2 face=Arial>Nä, gar nicht, habe besseres zu tun, lasse mir von 
C. B. erklären, wie ich einen sha256-hash knacke. Da bin ich aber arg gespannt. 
Jedenfalls bräche für mich eine Welt zusammen, gäbe es eine Einfachlösung, 
Regenbogen-Tabelle zählt jetzt aber nicht dazu.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Gruß</FONT></DIV>
<DIV><FONT size=2 face=Arial>Heinz</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>PS:</FONT></DIV>
<DIV>Rainbow Tables nehmen ja nur Zeichen auf, die man einfach eingeben kann. 
Tut mir leid, ich verwende auch Binärzeichen, wobei linefeed mein Liebling ist. 
Gruß an die Konsolenhacker. Ergo: Kennt man ein Mittel, dann gibt es auch ein 
Gegenmittel. Kriege kann man auch nur durch einen bis dato unbekannten Trick 
gewinnen.</DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=christoph.maya@gmail.com 
  href="mailto:christoph.maya@gmail.com">Christoph Maya</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=lug-ld@lists.lug-ld.de 
  href="mailto:lug-ld@lists.lug-ld.de">LUG-LD Maillingliste</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, August 08, 2019 8:22 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [lug-ld] PW+Salt jetzt 
  geklärt</DIV>
  <DIV><BR></DIV>
  <DIV><A 
  href="https://md5hashing.net/hash/sha256/b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9">https://md5hashing.net/hash/sha256/b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9</A>
  <DIV><BR></DIV>
  <DIV>Let me Google that for you!&nbsp;</DIV>
  <DIV><BR></DIV>
  <DIV>Gruß&nbsp;</DIV>
  <DIV>Christoph&nbsp;</DIV></DIV><BR>
  <DIV class=gmail_quote>
  <DIV class=gmail_attr dir=ltr><A 
  href="mailto:alf@alfmoni.de">alf@alfmoni.de</A> &lt;<A 
  href="mailto:alf@alfmoni.de">alf@alfmoni.de</A>&gt; schrieb am Do., 8. Aug. 
  2019, 04:18:<BR></DIV>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Lösung 
    an Christian geschickt...<BR><BR>Gibts was zu gewinnen?? 
    ;)<BR><BR>Grüße<BR>Alf<BR><BR>Am 08.08.19 um 00:12 schrieb Christian 
    Boltz:<BR>&gt; Hallo Heinz, hallo zusammen,<BR>&gt;<BR>&gt; Am Mittwoch, 7. 
    August 2019, 22:49:26 CEST schrieb Pahle Heinz:<BR>&gt;&gt; Also, wenn ich 
    die Passwortdatei klaue, dann habe ich das<BR>&gt;&gt; Hash-Verfahren ($..$) 
    und Salt ($..$) parat. Salt verhindert nicht im<BR>&gt;&gt; geringsten das 
    Erlangen des PWs. Denn: Ich "kurbele" eine Variable<BR>&gt;&gt; durch, füge 
    jedesmal Salt dazu, hashe und vergleiche was herauskommt<BR>&gt;&gt; mit dem 
    was in der Datei steht.<BR>&gt; Wenn Du wirklich eine Liste von Passwörtern 
    durchprobierst und jedesmal<BR>&gt; Salt + geratenes Passwort hashst, bringt 
    der Salt tatsächlich nichts.<BR>&gt; Daher: Ja, bei Brute Force ist ein Salt 
    tatsächlich nutzlos.<BR>&gt;<BR>&gt;<BR>&gt; Jetzt stell Dir mal vor, jemand 
    hat z. B. die Passwort-Datenbank eines<BR>&gt; großen Mailproviders mit ein 
    paar Millionen Passwörtern geklaut. Da für<BR>&gt; alle Benutzer eine 
    Passwortliste per Brute Force durchzutesten und<BR>&gt; jedesmal zu hashen, 
    braucht einiges an Rechenleistung. Wenn es für den<BR>&gt; Angreifer blöd 
    läuft, wird das Datenleck entdeckt und alle Passwörter<BR>&gt; geändert, 
    bevor er auch nur eins davon für den Spamversand missbrauchen<BR>&gt; 
    kann.<BR>&gt;<BR>&gt; Stattdessen wird ein Angreifer lieber eine "Rainbow 
    Table" (also eine<BR>&gt; Liste von Passwörtern mit zugehörigem Hash) 
    verwenden. Einen Hash in der<BR>&gt; Liste suchen geht deutlich schneller 
    als auch nur die 100 beliebtesten<BR>&gt; Passwörter zu hashen 
    ;-)<BR>&gt;<BR>&gt; In solchen Fällen hilft ein Salt, weil es den Aufwand 
    für den Angreifer<BR>&gt; hochtreibt - statt einer Rainbow Table bräuchte er 
    für jeden möglichen<BR>&gt; Salt eine Rainbow Table. Sogar wenn Du der Salt 
    nur zwei zufällige<BR>&gt; Großbuchstaben enthält, erhöht das den Aufwand um 
    26^2, also Faktor 676,<BR>&gt; bei zwei Groß- oder Kleinbuchstaben um 
    (2*26)^2, also Faktor 2704.<BR>&gt; Ein Salt mit drei Groß- oder 
    Kleinbuchstaben kommt auf (2*26)^3, also<BR>&gt; Faktor 
    140608.<BR>&gt;<BR>&gt; "Drei Groß- oder Kleinbuchstaben" hört sich harmlos 
    an, macht aber<BR>&gt; Rainbow Tables selbst bei großen Mengen 
    Passwort-Hashes eher nutzlos.<BR>&gt;<BR>&gt;<BR>&gt; Ähnlich sieht es aus, 
    wenn jemand gezielt das Passwort eines einzelnen<BR>&gt; Accounts knacken 
    will - auch hier kostet ein Salt den Angreifer Zeit,<BR>&gt; weil er nicht 
    vorher eine Rainbow Table bauen kann. Der zeitliche<BR>&gt; Abstand zwischen 
    Passworthash klauen und Passwort missbrauchen wächst<BR>&gt; also von einer 
    Sekunde Rainbow Table ablesen auf (geraten) mindestens<BR>&gt; Stunden, eher 
    Tage für Brute Force. Und das alles nur wegen ein paar<BR>&gt; Byte Salt 
    ;-)<BR>&gt;<BR>&gt;<BR>&gt; Ich würde übrigens beim Passwort-Hashing zu z. 
    B. Bcrypt raten, weil das<BR>&gt; bewusst langsam/aufwändig implementiert 
    ist und daher Brute Force und<BR>&gt; das Erstellen von Rainbow Tables 
    ausbremst.<BR>&gt; Leseempfehlung dazu: <A 
    href="https://de.wikipedia.org/wiki/Bcrypt" rel="noreferrer noreferrer" 
    target=_blank>https://de.wikipedia.org/wiki/Bcrypt</A> -<BR>&gt; 
    hauptsächlich die Abschnitte "Hintergrund" (letzter Absatz) und 
    "Design"<BR>&gt;<BR>&gt;&gt; Nebenbei: Salt erzeugen ist genauso<BR>&gt;&gt; 
    eine Wissenschaft wie Init-Vektor erzeugen z.B. bei AES256 (ist 
    bei<BR>&gt;&gt; mir schon jahrelang im Einsatz, bis auf AES-lib mein 
    Werk).<BR>&gt; Jein ;-) - sogar ein schlechter Salt (z. B. die ersten zwei 
    Buchstaben<BR>&gt; des Vornamens - theoretisch 26^2, praktisch weniger, weil 
    manche<BR>&gt; Buchstabenkombinationen oft und andere nie auftreten) ist 
    deutlich<BR>&gt; besser als kein Salt.<BR>&gt;<BR>&gt; Ein zufälliger Salt 
    (im Sinn von "kryptographisch zufällig") ist<BR>&gt; natürlich deutlich 
    besser.<BR>&gt;<BR>&gt;&gt; Statt den einzigen Grund für Salt, wie ich 
    glaube, gleich zu<BR>&gt;&gt; offerieren, wird in Artikeln Unzutreffendes 
    genannt (brute force<BR>&gt;&gt; Erleichterung) und nebenbei nur angedeutet, 
    was ich als einzigen<BR>&gt;&gt; Grund sehe. Also jetzt: Habe ich die 
    PW-Datei und es gäbe keinen<BR>&gt;&gt; Salt, dann sähe ich gleich, wenn 
    Müller, Maier, Schulze das gleiche<BR>&gt;&gt; PW hätten (natürlich nicht 
    das PW selbst)!!! D.h.: Habe ich Müller<BR>&gt;&gt; geknackt, dann sind 
    anderen 2 ebenfalls "offen".<BR>&gt; Das ist ein (im wahrsten Sinn des 
    Wortes) offensichtlicher Grund, aber<BR>&gt; - siehe oben - nicht der 
    einzige.<BR>&gt;<BR>&gt;&gt; Wie man sieht, immer wieder das Gleiche 
    (Verschleiern gleicher Daten),<BR>&gt;&gt; wie ich das mit WW2 beschrieb. 
    "Keine besonderen Vorkommnisse"<BR>&gt;&gt; konnten sich die Briten denken, 
    denn Bojen bombadieren, Trick,<BR>&gt;&gt; brachte andere Meldung als immer 
    wieder die Gleiche, wenn nix los<BR>&gt;&gt; war.<BR>&gt; Genau, da hätte 
    eine Prise Salz geholfen ;-)<BR>&gt;<BR>&gt;<BR>&gt; So, und jetzt noch eine 
    kleine Aufgabe zum Abschluss: Welches Passwort<BR>&gt; steckt im 
    (ungesalzenen) Hash<BR>&gt; 
    b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9<BR>&gt; 
    ?<BR>&gt;<BR>&gt; Dazu zwei Tips:<BR>&gt; - Das ist eine sha256sum - aber 
    das ist fast egal<BR>&gt; - Die Lösung kann jeder ohne Brute Force innerhalb 
    von Sekunden<BR>&gt;&nbsp; &nbsp; rausfinden<BR>&gt;<BR>&gt; Für den 
    unwahrscheinlichen Fall, dass niemand die Lösung findet, erkläre<BR>&gt; ich 
    den Lösungsweg gern beim nächsten Treffen ;-)<BR>&gt;<BR>&gt;&gt; Jetzt noch 
    ein Glas Wein auf alle, die mitmachten<BR>&gt; Prost! 
    ;-)<BR>&gt;<BR>&gt;<BR>&gt; Gruß<BR>&gt;<BR>&gt; Christian 
    Boltz<BR>_______________________________________________<BR>lug-ld mailing 
    list<BR><A href="mailto:lug-ld@lists.lug-ld.de" rel=noreferrer 
    target=_blank>lug-ld@lists.lug-ld.de</A><BR><A 
    href="http://lists.lug-ld.de/mailman/listinfo/lug-ld" 
    rel="noreferrer noreferrer" 
    target=_blank>http://lists.lug-ld.de/mailman/listinfo/lug-ld</A><BR></BLOCKQUOTE></DIV>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>lug-ld mailing 
  list<BR>lug-ld@lists.lug-ld.de<BR>http://lists.lug-ld.de/mailman/listinfo/lug-ld<BR></BLOCKQUOTE></BODY></HTML>