 Willkommen zu meinem Talk Waking Awareness, WPR2 oder wie oft nicht hacken die Tür. Ich will heute ein bisschen über WPR2 sprechen und was gibt es da, wie funktioniert das, was gibt es für Sie halt Standards etc. Ja, ein bisschen zum Ablauf, wir wollen Sie hier das wählen, so ein bisschen okay. WPR2 Enterprise, was ist das, wie funktioniert das, ein bisschen Übersicht darüber. Was sind die Probleme davon, was gibt es für Implementierungsschwierigkeiten, Fehlkonfiguration etc. Ein kleines Proof-Konzept aus schon sehr alten meiner Meinung nach verfügbar und open source Tools. Was sind die Folgen von diesen Möglichkeiten, was man da hat bzw. was könnten Firmen damit für Probleme haben. Im Schluss will ich noch ein bisschen auf Fragen eingehen und mögliche Unstimmigkeiten klären. Allgemein, wenn es zum Thema passt, könnt ihr dazwischen fragen, sonst würde ich sagen, im Schluss das Ganze zu erledigen. Ein bisschen über mich, ich bin Norbert Zummer, ich bin momentan in Wien im Bachelorstudium für Software & Information Engineering dran. Ihr könnt mich unter e-mail, Twitter etc. erreichen. Ja, wir leben Wlan, jeder benutzt hier Wlan, glaube ich, es gibt hier nicht viel Ausnahmen. Es verbreitet sich auch immer mehr im Allgemeinen-Konsumer-Bereich, also ich glaube, es gibt nicht mehr 12-Jährige, die kein Wlan mehr benutzen. Beziehungsweise benutze ich auch bei meiner Universität und über mein ESPI ein Wlan, das WPA2 Enterprise. Eine kleine Übersicht über die verschiedenen Autifizierungsmethoden bei Wlan. Es gibt Offen, das ist halt klar unverschlüsselt. Man kann passiv mitsniffen, beziehungsweise man kann auch aktiv einen Fake-Hotspot aufmachen und so eine Mittel machen etc. Aber noch nicht gebraucht. WP ist schon seit langem gebrochen und kann mit Aircrack etc. mit einfachen Tools innerhalb von wenigen Minuten geknackt werden. WPA2 1 und 2 PSK ist vor allem im Home-Bereich verbreitet und ist meiner Meinung nach teils gebrochen, da mit heutigen Grafikkarten doch schon relativ hohe Hash-Rates zielt werden können, so Wörterbuch, Dacken etc. doch effektiv sein können. Zu WPA2 Enterprise gilt allgemein als relativ sicher, auf das will ich jetzt ein bisschen genauer eingehen. Wir wollen eigentlich WPA2 Enterprise. Es bietet sehr viele Vorteile im Vergleich zum WPA2 PSK. Eine größte Vorteil ist allgemein, man hat mehrere Benutzer. Man kann so Rollen verteilen, man kann Benutzerrechte zuteilen und wieder entziehen, was halt vor allem in größter Infrastruktur sehr wichtig ist. Man kann VLANs damit beschränken, so auf verschiedene Netzwerkstrukturen Zugriff geben oder nicht. Es werden verschiedene Autifizierungen unterstützt, unter anderem Zertifikate, Passwörter, One Time Pads etc. Der Anwendungsbereich ist dabei halt vor allem größere Firmen, Universitäten und Internet-Provider. So ein bisschen zum Aufbau. Man hat ein Laptop oder sonstiges eingerät und verbindet sich zum Access-Bind. Dabei funktioniert das über AirPol, das ist eigentlich der unterste Leer beim WLAN. Der Access-Bind verbindet sich zu einem Radioserver und autifiziert sich dem gegenüber. Dieser antwortet drauf und der Klein baut danach eigentlich eine verschüsselter Tunnelbis zum Radioserver, also über den Access-Bind zum Radioserver auf und autifiziert sich über den. So ein bisschen zum zeitlichen Ablauf, wie das Ganze aufgebaut ist. Zuerst sagt der Klein eigentlich den Access-Bind, ich will mich verbinden. Der fordert daraufhin eine sogenannte Anonymy-Identität an. Diese wird daraufhin dem Access-Bind mitgeteilt und über diese Anonymy-Date wird der entsprechende Radioserver gesucht, wo zu dieser Art von Identität, also es geht da meistens um verteilte Radioserversysteme wie Medrom, dass man sagt, die Universität selber kümmert sich für den Login der eigenen Studenten und so kann über die Domain festgestellt werden, zu welcher Universität gehört dieser User. Dies ist aber komplett unabhängig vom eigentlichen Loginprozess. Nachdem der Radioserver daraufhin zugeteilt worden ist, fordert der den Klein auf, sich zu autifizieren und es wird über einen Tunnel im Normalfall autifiziert und wenn dies erfolgreich ist, bestätigt dies der Radioserver dem Access-Bind und dieser gewährt daraufhin dem kleinen Zugriff auf das Netzwerk oder auf das Internet. Zur Autifizierung, da gibt es im Normalfall zwei Phasen, also beim E-App, das ist das Accentable-Autification-Protokoll. Weites verbreitet im eigentlichen P-App, das ist ein Microsoft-Standard beziehungsweise Tunnel-TLS oder auch kurz TT-TLS. Das ist eigentlich die offene Variante zu P-App. Sie funktionieren groß und ganz sehr ähnlich. Sie passieren beide auf dem X5 und 9-Standard und bauen eine TLS-Verbindung auf. Was dabei wichtig ist, es muss eine funktionierende PKI-Struktur vorhanden sein, damit ein Zertifikat überprüft werden kann. Bei TLS ist zur Ausnahme zu den anderen zwei Protokollen nur einphasig, weil dabei mit dem kleinen Zertifikat automatisch auch die Autifizierung gemacht wird. Bei der zweiten Phase ist die eigentliche Autifizierung. Dabei gibt es, also der weitest verbreiteste Standard ist MS-Chub V2. Das ist auch ein sehr alter Microsoft-Standard, ich glaube, was ich nachgelesen habe aus 1998er-Zeiten. Da wird noch so mit MD4 und Desk gearbeitet, aber dazu später mehr. P-App ist auch ein uraltes Modem-Zeiten, das ist eigentlich nur Plaintext, benutzen wir im Passwort. Es gibt noch weitere, aber diese sind wieder nicht von allen Kleinen unterstützt, beziehungsweise haben ja eigene Schwächen wie MD5 ok. Das ist auch nicht gerade das Goldige für mich. Beziehungsweise fehlt bei MD5 Challenge, das passiert auf der MD5-Didget und da ist auch kein Salter bei. Wanda im Passwort wäre relativ sicher, wenn es gut umgesetzt ist, aber hat halt den Nachteil, dass man einen speziellen Klein braucht und dieser ist wieder sehr selten unterstützt. Ja, was könnte possibly go wrong? Jeder kennt das Problem einer Papikeinfrastructure, also so, ja, wie wir an Zertifikate verteilt. Also irgendwie müssen die Kleinen, alle muss jeder Kleinen überprüfen, ok ist das wirklich mein Server, also es müssten Fingerprints oder Routzertifikate ausgetauscht werden. Dieses ist sehr aufwendig und für den User umständlich, sagen wir mal so, und es wird halt öfters nicht gemacht. Die aktuellen Kleins haben meiner Meinung nach auch eine nicht ideale Benutzoberfläche, weil verschiedene Sicherheitsmaßnahmen meiner Meinung nach zu wenig hervorgebracht werden, z.B. wenn kein Zertifikat ausgewählt wird, meckert der Ender-Klein überhaupt nicht und macht einfach weiter ohne Zertifikatsprüfung in der Vollleinstellung. Beziehungsweise bei Windows bekommt man, glaube ich, nur noch den Fingerprint und kann kein Zertifikat mehr manuell auswählen. Bei Apple zeigt da hingegen wieder gar kein Fingerprint und hat nur die Zertifikatsinformationen an. Daher ja, sehr viele verschiedene, meiner Meinung nach schlechte implementierte Kleins. Das nächste Problem ist, jeder Klein für ihm Hersteller unterstützt wieder an der Standards. Man sieht es wie überall auch, Properter ist bei den großen Firmen gern gesehen, Opensauce in der Linux-Community. Mac hat wieder ein Mix aus beiden. Ja, wofür wir sie jetzt festlegen, werden wir Windows unterstützen und führt MSJab for 2. Oder will man mehrere Klein-Supporten, muss man wieder verschiedene Autifizierungsmöglichkeiten unterstützen, hat so einen großen Wartungsaufwand, etc. Auch ein großes Problem, wie gesagt, der aktuelle Standard ist MSJab for 2. Es ist eigentlich kein wirklicher, besserer Standard weitverbreitet, bis auf TLS, aber Klein-Zertifikat verteilen ist auch für den User sehr umständlich, beziehungsweise kommen damit viele einfach nicht klar, weil die Klein-S da aufhin einfach umständlich ausgelegt sind. Wir sagen auch noch ein sehr großes Problem sind, da es so viele verschiedene Standards gibt, die aber größtenteils schon gebrochen sind oder komplett veraltet, aber immer noch in Unterstützung sind, sind auch Downgrade-Attacken möglich. Ich habe jetzt nicht mit dem Thema nicht so stark auseinandergesetzt, aber ich denke, dass da vielleicht auch noch was möglich wäre. Also ein gutes Beispiel ist halt zum Beispiel, dass wenn jetzt eine Autifizierung nicht möglich ist, benutzt du versucht, irgendwas anderes auszuwählen und sucht zum Beispiel die Plantex-Autifizierung-Welt anstatt eine Verschlüsselte. Zum Proof-Concept. Ich habe auf der Veranstaltung ein Fake-Wail anlaufen lassen und darüber versucht, Zugangsdaten zu sniffen. Vielleicht hat es einer oder andere bemerkt, es war hin und wieder ein Uni-Wailern oder anderes Wailern sichtbar. Dieses hat sich zwar als normales Wailern ausgegeben, hat aber keine Verbindung akzeptiert, aber sehr wohl die Autifizierung aufgezeichnet. Also wenn ein Kleint richtig konfiguriert war und ein Certificates-Check gemacht hat und das Ganze überprüft hat, gab es keine Probleme, ich habe auch eine Error-OK-Zertifikat, das ist noch valid und hat wieder disconnectiert. Aber den, die das nicht hatten, hat sich versucht, ein Kleint einzulogen. Das Ganze ging über eine gepatchte Host-Up-Version, das nennt sich Host-Up-WP. Das ist von der Open Security Research-Gruppe. Die haben das, glaube ich, vor vier Jahren so mal auf GitHub veröffentlicht. Also es ist wirklich eigentlich nichts Neues. Aber funktioniert wunderbar, um für so verbreitete Wailerns Zugangstarten et cetera mitzusniffen. Wie wir festgestellt haben, ist MSJabV2 eigentlich mehr oder weniger die sicherste Art und Weise, sich zu autifizieren. Dabei wird bei mir beim Host-Up dieses Passwortschema dargestellt. Dabei sieht man jetzt, Foo ist die Benutzernahme, Netentemely ist das Format und dann hat man einmal die Challenge und dann eine Response. Das sind die zwei Hex-Zahlen, wo über ein Dolle getrennt sind. Weil man halt auch ein bisschen mobil sein will, das Ganze mal auf Endreportieren, also halt laufen lassen. Das geht eigentlich ziemlich einfach. Android-Routen, Change-Route mit Debian machen und Partus installieren, Git-Compilen und das geht's. Also man kann damit perfekte Hubbarn durchlaufen et cetera und bekommen von anderen Leuten, die sich einfach automatisch einloggen. Ja okay, jetzt haben wir ein Hash. Mit einem Hash kann man nicht wirklich viel anfangen. Also es sieht so eine Kombination aus MD4 im UTF-16-Format, also die Eingabe und das dann als Key für das. Also ja, man kann sich zwar einfach zurückverfolgen darum Brutforzen, also mit Wörterbüdern et cetera, so ein bisschen mal, ja okay, wie alt ist der Hash? Mit einer i7-920, also es ist 4-5 Jahre alt, bekomme ich jetzt mit allem Kerneln 17 Mega-Hashes her. Das sind bei 6 Stellen Groß-Kleinschreibung, 0 bis mit Zahlen, 6-stellig, circa eine Stunde Worst-Case. Also okay, not bad, aber es könnte besser sein. Also ein bisschen gegoogelt, ja, machen wir mal auf der Grafikkarte das Ganze. Ein bisschen anders Format. Ja, man kommt auf circa 2,1 Giga-Hashes mit einer älteren Grafikkarte, mit modernen 89er GTX, bin ich glaube ich bei 10 Giga-Hashes. Das große Problem bei diesen hohen Hashrates, man kann nicht mehr mit Wörterbüdern arbeiten, weil der PC-Bus zu klein ist. Also halt die CPU kann zu wenig Daten an die Grafikkarte senden. Man muss da eigentlich nur noch mit Pattern etc. arbeiten. Ja, freundlichweise konnte ich von ein paar Leuten auch den zweiten PC ausleihen. Daraufhin haben wir zusammen circa 5 Giga-Hashes gehabt und 4 Tage Raumheizung betrieben. Ja, die schönste Variante kommt eigentlich von Moxi. Leider habe ich dazu nicht das Spezial-Hardware. Der hat 2012 eine Angris-Art auf MS-Chub for 2 vorgestellt, die nicht durch komplettes Brutforzen des kompletten Algorithmes arbeitet, sondern über ein Desk-Knacker, das MD4-Passwort wieder herstellt, die der Benutzer verwendet, um sich zu autifizieren. Daraufhin kann das MD4-Passwort in Rainbow-Tables nachgesehen werden und so ein Passwort im Worst-Case in circa 2 Stunden knacken. Das geht dann auch auf fast beliebige, weil Rainbow-Tables für Net-Intimation schon sehr verbreitet sind. Also auch gratis, glaube ich, 0 bis 9 Zeichen zum Terabyte oder so, auf free Rainbow-Tables. Also das geht dann ziemlich einfach. Ja, ich hoffe, euer Passwort ist jetzt nicht dabei. Das sind jetzt so die Passwörter, was ich in letzter Zeit zusammenbekommen habe. Ein bisschen über sich zu machen. Ich hoffe, also jeder, wo sich da betroffen fühlt, bitte euren Provider ansprechen. Ja, ändert mal bitte euren Passwörter. Das waren jetzt 2 Grafikkarten circa 5 Tage ihrer Henleistung. Was? Ich habe jetzt keine genaue Statistik erstellt. Es kommt sehr selten vor, dass ein Kleines sich weigert, sich zu autifizieren. Wie viele Prozent der Herrscher, die abgefahren haben, konnte das nicht? Aha, ich glaube, das waren so um die 40. Die Sniff habe ich circa 200. Also, ja, es sind... Kann ich mal gleich gucken, ob meine dabei waren? Ja, kannst du noch mal kurz? Ja, also, wie gesagt, ich habe jetzt per Wörterbuchentag nun Pattern gearbeitet. Also über 18 wird da ziemlich langwierig. Also... Aha, ja, jetzt können wir nachher später nachsehen. Also, ich habe noch ein paar Lockdateien übrig, aber ich habe es nicht vorbereitet. Ja, was sind die möglichen Folgen davon? Meiner Meinung nach empfehlt eigentlich so die Störerhaftung komplett, dass es meistens mit dem Cloudcracker vom Moxi jedes Passort knackbar ist. Also, eine wirkliche Autifizierung ist das nicht mehr meiner Meinung nach, sondern eigentlich... Ja, es ist eine Art von Einloggen, aber es kann von jemandem auch genutzt werden. Das ist aber auch nicht wirklich das Schlimme. Das wirklich Schlimme ist, wenn dieses Passwort auch noch mit anderen Diensten verknüpft ist. Also, sehr oft in Firmen wird das WLAN-Passwort mit über ein Active Directory verknüpft und somit wird das gleiche Passwort wie für das WLAN auch für die ganzen Firmen-Daten, E-Mail-Adressen etc. genutzt. Also, dabei passiert nicht nur... also man bekommt nicht nur Zugriff auf, dass man eine Mail in den Mittel machen kann, sondern auch wirklich auf viele Daten der Firma. Das ganze Problem ist natürlich auch bei anderen Instituten, Universitäten etc., dass man zum Beispiel sich als Student einloggen kann oder als andere Personen. Ja, mit dem Passwort kann man auch in die Netzwerke eindringen. Netzwerke genauer scannen, Zugang auch zu Anlagen oder Devices bekommen, die eigentlich nicht vorgesehen sind. Ja, aber der kleiner Angesweck, der ich jetzt nicht so schlimm finde, meine Mittel, aber an sich sollte der Traffic so ausgelegt sein, dass alles außerhalb des Devices eh unseh ist. Von dem her ist meine Mittel jetzt meiner Meinung nach nicht so das große Problem. Ja, was machen wir? Alles ist broken, alles ist kaputt, ja, Hilfe. Ja, es gibt ein paar Möglichkeiten. So, erstens mal würde ich sagen, Self-Send-Zertifikate machen. Viele benutzen Public-CAs, das hat ein Nachteil, das zum Beispiel Android. Mittlerweile hat mich bekommen Networkmanager und andere Linux-Kleins können das über Konfigurteilen lösen, aber allgemein ist nirgendwo ein Domaincheck eingebaut. Also wenn man jetzt zum Beispiel auf, keine Ahnung, auf Commodo ein Zertifikat ausstellt und dort ein anderes Valides für eine beliebige Domain-Zertifikat ausstellt, ist dieses auch für Valence gültig. Ja, was auch noch dazukommt, dass viele Kleins kein Datum-Check machen, also ist dieses Zertifikat abgelaufen oder nicht. Also da hat man es bei vielen Kleinen auch noch. Aber da zum Self-Send, ist eigentlich die einfachste Variante, um dem all zu eingehen. Um den benutzen, das Ganze ein bisschen zu erleichtern, gibt es ein paar Tools wie zum Beispiel vorkonfigurierte Windows, Netzwerkkonfigurationen, verschiedene Open-Source-Apps auch vom CCC, um sich für Netzwerke mit Zertifikatscheck zu einzuloggen. Also jetzt für die ganzen Kongressen haben die ein Caps, eine App geschrieben, um sich in das Wähler einzuloggen. Ich glaube, es wäre nicht so viel Aufwand, da Benutzelame und Passwort dazu zuzubekommen. Und auch ganz wichtig zu zwingen, dass für das Wählern und für andere Netzwerkzugänge ein anderes Passwort als für den restlichen Dienste benutzt wird, weil diese Passwerte einfach durchgehend gesendet werden und einfach abzufangen sind. Ja, das sind eigentlich alles zusammen Workarounds, wo nur den Abmess-Ton benutzt, das ganze Leben schwer machen. Im Allgemeinen wäre es sinnvoll, bessere Wählern-Standards festzulegen, also irgendwas, wo die Krypto ein bisschen moderner ist als 15 Jahre. Ein sehr vielversprechender Ansatz hat der SRP. Das ist ein Challenge-Response-Protokoll, das so auf Schad 256 passiert und über eine Art, die für Hellman ein Key-Ausdauersch macht, aber dadurch ein passiven und aktiven Schutz bietet. Also der Server wird autifiziert, unterklein wird autifiziert, ohne dass das Passwort irgendwie direkt gesendet wird. Damit würde man sich halt die komplette PKI-Infrastruktur ersparen und ja, der Wartungsaufwand wäre praktisch null. Auch noch Vorteile wären, das Passwort muss nicht das md4 auf dem Server sein. Ja, ich komme schon zum Ende. Danke für die Aufmerksamkeit und wenn es Fragen gibt, legt los. Fragen? Okay. Ja, sonst hätte ich noch ein paar Links zu den ganzen Tools. Ja, eben von der Open Security Research. John Ripper, OCL-Hashcat, das Tool, den Beitrag von Moxy und auch ein bisschen verkürzt, vor ein, zwei Monaten veröffentlicht, von heisen auch das sehr wenige, also gar der Android speziell kein Certificatscheck macht, so ein bisschen Linklister. Okay, danke schön.