 Seit der 20.03 Uhr haben wir jeden Tag eine Flakkauschei gefeiert. Die nächsten drei Spiegel, die wir haben, haben immer eine Flakkauschei gefeiert. Sie sind hier, repräsentieren alle ihre Teams. Willkommen mit einem großen Rund von Applaus, Andy, Zahelo und Malle. Bester Nickname ever, Malle. Malle. Hi everybody. Hallo zusammen. Wir kommen auch von unserer Seite zum Talk, was zur Flakka ist. Capture the Flak, das ist ein Grundlagen-Talk. Wir werden euch erzählen, was ein Capture the Flak ist und wie man sie spielt und überhaupt. Das ist jetzt mal die Einleitung. Und da noch werden wir euch drei Herausforderungen zeigen, die wir für den diesjährigen Capture the Flak vorbereitet haben. Und wenn ihr in Zukunft mal mitmachen wolltet, dann wisst ihr schon, was euch erwartet. Also ein paar Worte über uns. Unser Team heißt Essen, Schlafen, Ownen, Wiederholen oder ESP, abgekürzt. Es gibt uns schon seit drei, vier, vielleicht sogar fünf Jahren. Wir sind alles Leute, die in der Freizeit in IT Security interessiert sind und haben uns über Universitäten oder Hackerspaces getroffen. Wir haben Capture the Flak spielen wollen, haben uns getroffen und eine Gruppe formiert. Darum gibt es uns jetzt und das ist alles, das dahinter steckt. Also, vielleicht wisst ihr noch gar nicht, was überhaupt ein Capture the Flak ist. Und das hat nichts mit Unreal Tournament zu tun für die älteren Semester unter euch, außer dem Namen und dass es halt Flaggen gibt. Aber es ist ein Wettbewerb zwischen verschiedenen Teams und alle Teams lösen verschiedene Herausforderungen, die irgendwie mit IT Security zu tun haben. Es gibt zwei Hauptspielvarianten, es gibt natürlich noch andere, aber das sind die zwei Wichtigsten. Es gibt den Angriff von Verteidigungsstil und den Jeopardy-Stil. Über die Jahre ist die Gemeinschaft unglaublich gewachsen. Als wir angefangen haben, gab es eine knappe Handvoll von CTFs pro Jahr. Und jetzt gibt es genügend, dass man jedes Wochenende einen spielen könnte. Und die werden alle immer von unterschiedlichen Teams organisiert. Da steckt unglaublich viel Arbeit auch von anderen Teams dahinter. Und das ist alles Community getrieben. Und da kann man auch ganz einfach Teil davon sein, wenn man das will. Und darum geht es in diesem Tag. Also, ich habe den Jeopardy-Stil erwähnt, das ist der einfachste Modus, den man organisieren kann. Und das ist auch das Simpelste dann zum Spielen. Es ähnelt diesem Jeopardy-Spiel, dieser Spielesshowl, die man ja auch kennt. Es gibt verschiedene Kategorien von Puzzle mit unterschiedlichen Schwierigkeitsgraden. Und je nach Schwierigkeitsgrad kriegt man halt unterschiedliche Punkte pro Herausforderung. Und die Anzahl Punkte kann fixiert sein. Man kriegt 103, 105, 700 Punkte je nach Schwierigkeit. Aber heutzutage gibt es auch welche mit dynamischen Punkteverteilungen. Je öfter eine Herausforderung gelöst wird, desto weniger Punkte kriegt man. Es ist nämlich relativ schwierig zu definieren, wie viel eine Herausforderung denn wert sein sollte. Man schaut sich, man sucht sich eine Herausforderung an, man versucht es zu lösen, man zeigt, dass man die Flagge hat, man kriegt Punkte, man macht das und wenn man genügend Punkte hat, dann gewinnt man. Und eben, der Gewinner ist natürlich einfach das Team mit den meisten Punkten. Und wenn es einen Unentschieden gibt nach Punkten, dann gewinnt das Team, das zuerst so viele Punkte erreicht hat. Und die typischen Kategorien sind beispielsweise OWN, da klassische Binaries exploiten. Da muss man unter Umständen seltsame Sachen machen, um Codesführungen auf einem Computer zu kriegen. Crypto, da hat man eigene Crypto Algorithmen oder falsch verwendete Crypto Algorithmen und da muss man herausfinden, was da schlecht läuft, um irgendwas zu entschlüssen oder einen Schlüssel wieder aufzubauen. Web, das ist das übliche. Das sind typischerweise nur Web-Applikationen, verschiedene Frameworks, Server-Seite, Client-Seite, also Server-Seite, Client-Seite, wie auch immer. Wir hatten einmal eine Witzkategorie, die war nicht wirklich Web, sondern die waren halt Browser Exploits. Dann gibt es auch Reversing, wo man Sachen reverse-engineeren muss und herausfinden muss, was es macht. Und irgendeine mathematische Berechnung reverse-engineeren musste. Der nächste Spielmodus ist Attack und Defense und das ist der klassischere Modus. Es gibt nur ein paar davon pro Jahr, weil es sehr schwer zu organisieren ist, weil man das Services auf realen Netzwerken hacken muss. Jedes Team kriegt eine VM mit Diensten, die speziell für den CTF designt worden sind. Und da sind Bugs drin, diese Teams sind über ein VPN verbunden. Die Idee ist, dass man die Server von den anderen Maschinen hacken soll. Das submitt man dann zum Game-Server und dann kriegt man dafür Punkte. Und natürlich, wenn man volle Kontrolle über eine Maschine hat, dann soll man nicht nur die anderen exploiten, sondern auch die eigenen Sachen zu fixen, sodass man selber nicht mehr exploitet wird. Und man muss natürlich auch schauen, dass die Dienste oben bleiben. Denn wenn sie crashen oder runtergehen, dann kriegt man keine Punkte. Das heißt, man muss Bugs finden, sie bei sich selber entfernen und bei andern aus exploiten. Und man muss das immer online behalten. Die Hauptpunktzahlen ist normalerweise Angriff, Offensive und Defensive, woanders einbricht, andere Leute da hindert bei einem einzubrechen und dass die eigenen Server online bleiben. Man kriegt noch mal Punkte nach jeder Runde, danach werden alle Punkte addiert und das Team mit den meisten Punkten gewinnt am Ende. Es gibt immer wieder unterschiedliche Regeln in Attack & Defense, CTFs, aber das ist so die allgemeine Art und Weise aussieht. So sieht noch mal ein Scoreboard aus für Attack & Defense, CTF. Schau mal, wir sind auf dem ersten Platz. Man sieht verschiedene Services hier und zum Beispiel ist hier Wetter gecrashed. Man sieht, wie viele Flags man bekommen hat und wie viele Uptime vs. Downtime wir haben, wie viele Flaggen wir verloren haben. Das ist die Zahl in unten rechts. Wir haben zum Beispiel hier 42 Flaggen verloren und dort 15.000 gewonnen in Crash. Und dann kriegen wir dafür so einen Score und das gibt dann so einen Ladderboard. So, warum macht man das überhaupt? Eigentlich ist es klar, es ist ziemlich cool einfach, weil man Zeug kecken kann, komplett legal. Weil es halt einfach Teil des Spiels ist, es macht Spaß, vieles Neues zu lernen und man lernt vieles Neues, während das CTFs aber auch nach dem CTF, wenn man mit anderen Leuten redet und darüber redet, wie die Lösung war usw. Man lernt auch neue Freunde kennen währenddessen. Zum Beispiel, einer unserer Freunde kommt aus dem polnischen Team Dragon Sector und jedes Mal wenn wir einen CTF machen, dann treffen wir uns und da macht man wirklich gute Freunde. Manchmal muss man sich für CTFs qualifizieren, wenn sie lokal vorher ausgerichtet worden sind und dann kann man irgendwo hinfliegen und vielleicht gewinnt man da sogar aus. Und der CTF, den wir organisieren, wir machen das jetzt schon jedes Jahr seit dem 28.C3 und wir versuchen jedes Jahr mit dem Logo unserem Congress Team zu entsprechen. Wir haben 636 Teams gehabt, die mindestens eine Flagge eingerichtet haben. Wir hatten eine Sanity Challenge, wo man eine Challenge lösen konnte, die total einfach war. Man musste bloß eine Box ticken und diese 636 Teams haben mindestens eine Challenge gelöst. Und 1.457 Flaggen wurden submittelt und gesolft und wir hatten einige Hilfe. Kokyo, Teteys, Chivoisin, Kubas und Jönchen haben uns Ideen oder komplette Herausforderungen geliefert, welche die Leute dann lösen mussten. Und die 3 Gewinner waren KJC und M Hackeroni, Pusten und Dragon Sector beim 3. Mal. Und den möchte ich auch nochmal gratulieren. Applaus aus dem Publikum. Und weil die CTFs jedes Jahr schwieriger und komplizierter wurden für Anfänger, haben wir den Junior CTF eingeführt, der einfache zu lösen ist, der der Schwierigkeit entspricht, als wir angefangen haben CTFs zu lösen. Hier hatten wir 520 Teams, nicht ganz so viele, 33 Herausforderungen und 2.761 Lösungen. Also sie haben mehr gelöst als in Haupt-CTF in absoluten Zahlen. Und wiederum haben uns einige Leute geholfen, gehackselt, Dominuk Prome und Trolde mortet. Danke euch. Made in MIM, SNO und Zenhack haben gewonnen. Wiederum Applaus aus dem Publikum. So, jetzt wisst ihr was in einem CTF läuft. Was braucht ihr denn, wenn ihr spielen wollt? Also ihr braucht mal einen CTF. Es gibt eine tolle Website, CTFTime.org. Da könnt ihr euch eine Liste machen von allen CTFs, die kommen. Und wenn der General Life ist, dann könnt ihr spielen. Was die Fähigkeiten gibt, braucht ihr nicht zu viel. Ihr müsst etwas programmieren können. Eine Skriptsprache für die schmutzige Arbeit, etwas zu pausen, etwas Network Traffic zu analysieren. Wenn ihr Reversen und Binäraus nutzen wollt, dann müsst ihr ein bisschen Assembly und ein bisschen Reverse-Engineering können. Um das Ganze zusammenzubringen, müsst ihr auch gewisse grundlegenden Linux-Shell-Fakeheiten haben. Klar, ihr könnt das schon mit dem Linux-Subsystem auf Windows machen, aber typischerweise wollt ihr das auf Linux machen. Wenn ihr das lernen und üben wollt, dann könnt ihr sogenannte Wargames-Kriegsspiele spielen. Das ist ein CTF, der halt immer online ist und wo ihr ohne jeglicher Zeitdruck selber das machen könnt. Ihr könnt auch aus verschiedenen Chiven im Internet ältere CTFs runterladen und die einfach ausprobieren. Es gibt auch sogenannte Write-Ups von anderen CTF-Teams. Wenn ein Team etwas cool gefunden hat, eine Herausforderung und sie gelöst hat, dann schreiben sie eventuell einen Blog-Post darüber, wie man das lösen kann. Und das kann man lesen und auslernen. Und wenn ihr mehr auf Videos steht, dann könnt ihr die Videos von Live Overflow auf YouTube schauen. Der geht durch verschiedene CTF-Ausforderungen durch und erklärt, wie er sie gelöst hat und überhaupt. Und natürlich, ihr wollt das nicht alleine spielen, weil es macht halt mehr Spaß. Nutzt das Internet, geht ihr zu einem Hackerspace, fragt rum, findet Leute, mit denen ihr spielen könnt. So wie wir das gemacht haben auch. So, nachdem ich euch erklärt, wie ein CTF funktioniert, übergebe ich jetzt an Malle, der euch hier erklären wird, wie man dann die Herausforderung löst. Okay, hallo. Ich will euch hier einen Überblick geben, wie man solche CTF-Challenges angehen kann. Ich empfehle extrem dieses Buch, wie man Probleme lösen kann. Und als Beispiel habe ich eine Herausforderung aus dem Junior CTF genommen, die heißt Blind. Und das war die Beschreibung. Blind Hacken, eine URL, wo die Flagge ist und eine Schätzung für wie schwierig das ist. Und das basiert auf einem Bug, den Ribstech gefunden hat, im 2017. Und da muss man, wenn man das angeht, muss man zuerst das Problem verstehen. Also gut, wenn ich hier hingehe, dann kriegt man diesen Source Code zu sehen. Das ist PHP. Und jetzt gehen wir da mal durch. Der erste Teil ist ein Tipp. Braucht man nicht, aber es ist ein Tipp, der auf PHP-Objekt-Injektionen hinweist, auf eine Schwachstelle. Hier konnte man bis PHP 5.3 lokale Dateien einbinden, aber die Herausforderung verwendet eine neuere Version. Der nächste Block ist ein bisschen boilerplate Code. Es hat zwei Klassen, schwarz und grün. Und alles, was die machen, ist die Farben für das Sündungshighlighting zu setzen. Und die speichern die Theme in einem Cookie. Hier im nächsten Teil sieht man nämlich den Weg zur Exploitation. Hier wird, wenn man auf die Theme-Urall geht, dann wird das geladen. Und in der nächsten Zeile wird überprüft, ob der Klassenname black oder green drin ist. Und wenn die existieren, dann werden diese Variablen abhängig von den URL-Parametern gesetzt. Und jetzt wird ein neues Objekt der gegebenen Klasse instanziert. Das könnte jetzt eben schwarz oder grün sein. Und wir haben volle Kontrolle über die Parameter, die man dieser Klasse übergibt. Der nächste Teil des Codes speichert auch das Theme, aber diesmal aus dem Cookie. Und dann überprüft man, ob den ersten Teil des Cookies eine existierende Klasse ist. Und dann übergeben man die Parameter aus dem Cookie an den Konstrukteur und instanziert ein solches Objekt. Und der letzte Teil ist einfach so ein bisschen Info, welche Module geladen sind. Also, der Bug war, dass man hier ein beliebiges PHP-Objekt instanzieren konnte und man die Argumente dafür kontrollieren konnte. So, jetzt muss man einen Plan machen und was wir versuchen ist, all die Dinge zusammenführen, die wir haben und was wir tun wollen. Wir haben komplette Kontrolle über den Cookie. Wir können also ein PHP-Objekt instanzieren mit unserem Cookie und wir können die Parameter kontrollieren. Was wir jetzt brauchen ist eine Klasse, die schöne Dinge tut, z.B. eine Datei lesen, wenn wir ihm bestimmte Argumente geben. Es gibt z.B. die Klasse Simple XML Element, die kann Datei lesen, falls die Option zu zwei gesetzt wird. Man kann sogar irgendwelche Entities ersetzen. Jetzt müssen wir den Plan ausführen. Das ist der einfache Exploit. Wir setzen einen Cookie. Der erste Teil ist unser Klasse-Name-Simple XML Element. Das zweite Argument ist die Flagge. Man sieht hier, die Flagge wird in den Warnungen ausgegeben. Das funktioniert jetzt nur, weil Warnungen angeschaltet sind. Also das nächste, was passiert ist, dass man sich anschauen kann, wie hätte man die Challenge anders lösen können, falls Warnungen nicht aktiviert gewesen wären, dann kriegen wir keinen Output. Daher kommt auch der Name der Challenge. Mit XML kann man externe Einheiten Entities einbinden. Hier kann man z.B. ein Dateinamen angeben und fügt es so in XML ein. So kann man das z.B. exploiten. Man nimmt ein zweites XML-Datei auf dem eigenen Server. Man sieht hier unten, man kriegt hier unten die Flagge und sendet sie zum eigenen Server. Wenn man jetzt den Exploit ausführt, man startet erst ein PHP-Server und dann ruft man die URL auf mit Curl, dann kriegt man so ein Request. Und weil wir die Flagge mit Base64 encodiert haben, dann müssen wir es noch decodieren und dann kriegt man die Flagge auf diese Art und Weise. So, der nächste Teil wird jetzt über den Haupt-CTF von Milo sein. Okay, vielen Dank. Jetzt habt ihr eine eher typische Web-CTF-Challenge gesehen. Wir haben jetzt sehr viele Teams, die sehr, sehr erfahren sind. Sie haben seit vielen Jahren CTF gespielt. Sie machen Computersicherheit als ihren Hauptberuf. Und wir wollen natürlich trotzdem auch für die Leute einen interessanten CTF gestalten. Was wir da tun ist, wir nehmen realistische Challenges von realer Software und echten Verwundbarkeiten. Hier seht ihr ein paar Logos von Software, auf denen wir unsere Probleme aufbauen. Ein Funfact. Dieses Jahr hatten wir drei Leute, die Zero Days benutzt haben für die Software. Anstatt die tatsächlich zu lösen. Ich weiß nicht, was das natürlich okay ist. Ich weiß nicht, was das über den CTF sagt, aber okay. Und heute zeige ich euch eine Browser-Exploit-Challenge. Dann zeige ich euch, wie man so was hosten kann und so weiter. Wir hatten die letzten zwei Jahre auch schon Browser-Exploitation-Challenges. Seit ein paar Jahren kommen die Browser mit einer Sandbox. Das heißt, wenn man bloß eine Verwundbarkeit in dem Rendering-Zeug hat, dann kann man dadurch nicht den kompletten Browser komplementieren. Die letzten Jahre hatten wir bloß den Rendering-Exploit-Part. Dieses Jahr haben wir eine echte Browser-Exploit-Challenge gemacht. Die erste Teil wurde mit dem Rendering, diesmal mit WebKit, und die andere Seite ist der Sandbox Escape, der Ausbruch aus der Sandbox. Wie macht man so eine Browser-Challenge? Wir haben diesmal WebKit genommen. Letztes Jahr haben wir Chrome und davor Firefox gehabt. Dieses Jahr nutzten wir WebKit. Das ist die Browser-Engine von Safari. Und wir haben ein paar kaputte Optimierungen im JavaScript gemacht haben. Dadurch gab es eine Verwundbarkeit im WebKit. Das nächste Mal haben wir ein paar MacOS-System-Services geschrieben. Wieder nach echten Verwundbarkeiten. Die waren natürlich auch irgendwie buggy. Die hatten ein paar Verwundbarkeiten. Und dann haben wir die modifizierten Safari und die System-Services zu einer virtual machine deployed. Und dann sehen wir da oben eine Webseite. Da kann der Benutzer eine URL eingeben von ihrem eigenen Server für ihren exploit. Und was dann passiert ist, auf unserem Server wird er die virtual machine öffnen, den Safari starten und der Benutzer wird dann ein Video von der Session sehen und die Challenge ist dann die Flagg zu lesen. Das heißt, sie müssen es irgendwie auf den Bildschirm bekommen und dann sehen sie es in dem Video. Und hier sieht man wieder aus der Perspektive des Mitspielers. Sie würden von uns ein WebKit-Patch und diese MacOS-Services aus Beneterteilen kriegen. Das müssten sie reverse engineerieren. Sie ausitieren die nach Schwachstellen. Hoffentlich finden sie welche, schreiben eine bösartige Webseite, die das ausnutzt, hosten das auf einem Server, den sie kontrollieren mit einer öffentlichen IP, geben uns diese URL. Dann putet das eben diese virtual machine, nimmt ein Video auf und zeigt das den Spielern. Ich hoffe, das funktioniert. Hier sieht man sie. Also, und das ist das, was die Leute kriegen, nachdem sie die URL in Scoreboard eingegeben haben. Also im Hintergrund sieht man hier den modifizierten Safari, der die URL vom Spieler aufmacht. Dann sieht man so ein bisschen Zeug aus dem Exploit. Und das ist dann ein WebKit. Exploit, dann kann man den Code des Angreifers im WebKit ausführen und dann startet dieses System Service außerhalb der Sandbox und kann irgendwelche Commanders ausführen. Und das startet eben diesen Text-Editor und öffnet slash flag der TXT. Und da sieht man die Flagge und das kann man dann wiederum eingeben und kriegt seine Punkte. Also, warum denken wir, dass das eine nette Herausforderung ist? Warum wollt ihr das lösen? Nun, das gibt viele Punkte. Das ist nicht nur eine, sondern das sind eigentlich drei Challenges. Wir haben es so gemacht, dass man die Sandbox Exploit machen kann. Ob man den WebKit Exploit hatte oder nicht. Das heißt, es gab eine Flagge, wenn man nur WebKit hatte. Es gab eine Flagge, wenn man nur die Sandbox Escape hatte. Und dann die dritte Flagge, wenn man beide in einem einzelnen Exploit hatte. Abgesehen vom CTF versuchen wir die Hauswarten immer so machen, dass man immer etwas lernen kann, das auch außerhalb etwas bringt. Der WebKit Teil sollte etwas über JavaScript oder Just-in-Time-Compiler schwachstellen erklären. Die macOS-Services sollten einen einfachen Einstieg in die macOS-Systemsicherheit geben. In ein paar Stunden werden wir auch den Quellcode veröffentlichen. Wir versuchen es einfach zu machen, vom CTF in Security in der echten Welt überzugehen, mit Herausforderungen wie dieser eben und dem Quellcode, den wir veröffentlichen wollen. Das war's von mir und das nächste kommt wieder an die. Ich habe auch eine Herausforderung oder zwei gemacht und wer alt genug ist, kann sich an dieses Handy erinnern. Die Geschichte bei meiner Herausforderung war, dass ich Privatinteresse an GSM-Sachen hatte. Ich habe ein GSM-Net zu Hause aufgebaut, mit einem Software-defined Radio und alte Nokia-Handys verwendet und überhaupt. Und da hatte ich eine Idee. Ich habe mein eigenes Handy gebaut. Was ich hier sehen könnte, ist, dass ich das Nutzer-Interface eines Nokia-Handys gebaut habe und das über ein GSM-Netzwerk verwendet habe, das nicht über Funk geht, sondern das über UDP-Multicast verschickt wird. Und dann hatte ich da etwas drauf, damit mein eigenes Telefon mit diesem Telefon kommunizieren konnte. Und ich fand das ein interessantes Feature der Herausforderung, dass man hier kein Netzwerk brauchte, sondern über diesen UDP-Multicast machen konnte, weil das wird normalerweise zum Testen verwendet, damit man nicht ein GSM-Netzwerk braucht, sondern halt über diesen UDP testen kann. Und das ist natürlich ideal für ein CTF. Ja klar, ich könnte eigentlich mein eigenes Software-defined-Radius aufsetzen und mein eigenes GSM-Netzwerk aufsetzen, aber dafür bräuchte ich eine Lizenz und überhaupt, was ein weiteres Problem wäre. Aber klar, könnte man machen, aber jemand aus der USA oder wo auch immer, könnte da nicht mitmachen. Und wir wollen immer zulassen, dass Leute auch aus der Ferne mitmachen können. Also kann man einen VPN-Tunnel aufmachen und dann kommt man auch zu diesem Zieltelefon, das man dann exploiten soll über eben dieses UDP-Multicast und VPN. Also was ich implementiert habe, ist ein Bug in zusammengefügten SMS. Das Telefon kann nur zwei Sachen, es kann SMS schicken und empfangen. Und das Ziel war halt, dass man ein Telefon hat in diesem Netzwerk, das mit dem man nur mit diesem Netzwerk kommunizieren konnte. Man kann beliebige SMS schicken. Man kann auch irgendetwas schicken, was nicht im Standard entspricht, und selbst wenn man Sachen machen kann. Ein späterer Nokia-Telefon kann man nur 160 Zeichen pro SMS schicken und dann sieht man hier auch, wie viele Charaktere man noch schreiben kann und wie viele SMS man schon geschrieben hat. Es splittete die SMS ein paar 100 Charaktere auseinander und schickte dann halt ein, zwei oder drei diese SMS und das Zieltelefon würde diese dann wieder zusammensetzen, wenn sie ankommen. Und jetzt in diesem Fall kann man das SMS in bis zu drei Teile splitten. Das Standard hat aber bis zu 255. Also die SMS haben einen Header und in diesem Header hat es einen Index, wo dann drin steht, wie viele, welches Teil ist und in diesem Fall kann man eins bis drei verwenden. Und der Content ist irgendwo in einem Stackbuffer und der Ort, wo der Text herkopiert wird, basiert auf der Nummer, die eben Teil diesem SMS ist. Und in der Herausforderung überprüfe ich eben nicht, dass das stimmt. Und wenn man das dann auf mehr als drei setzt, dann schreibt man halt außerhalb dieses Buffers. Und so, wie das funktioniert, schreiben halt die Prozessoren Informationen auf den Stack, um zu wissen, wo sie wieder zurück hin sollten, wenn sie fertig sind mit einer gewissen Arbeit. Und das kann man überschreiben und dann hijacken und dann den Kontrollfluss der Applikationen zu hijacken. Dazu kann man halt jetzt eben Rob verwenden, um Code auf dem Telefon auszuführen. Und dann kann man halt eine Verbindung zu einem anderen Host aufmachen, kriegt eine Linux Shell und kann so dann die Flag auslesen. Das war dann sonst jetzt der Talk. Ich möchte allen danken und werde und möchte der ganzen ZDF Community danken für den ganzen Aufwand, den sie da reinstecken, bei uns mitzuspielen und ihre eigenen ZDFs zu organisieren, die wir dann mitspielen können. Und ich will auch dem Assembleteam hier am ZCC danken. Wir haben unser eigenes Area gekriegt, wo alle lokalen ZDF-Teams sich treffen konnte und das sah so cool aus, diese 200 Hackers hier sitzen zu sehen und unsere Herausforderung zu lösen. Das war absolut unglaublich und vielen Dank auch den Gastautoren und überhaupt, ja, jetzt werden wir noch offen für Fragen. Und noch eine Sache, falls ihr interessiert seid an ZDFs, dann hier sind hier ein paar Links und das ist hier ZDF Time, der Live Overflow Channel und wir hoffen, dass ihr Teil der ZDF Community demnächst seid. Gut, vielen Dank von meiner Seite. Ich kann schon ein paar Fragen im Publikum sehen. Mikrofon Nr. 2, danke für den Vortrag. Tatsächlich macht meine Universitätssicherheitskurs ein ZDF und wir haben unsere Noten basierend auf dem ZDF bekommen. Was denkst du darüber? Was denkst du darüber, dass Universitäten ZDFs machen? Für uns ist es ein Hobby und es war toll, um neue Sachen zu lernen und persönlich bin ich da nicht grundsätzlich dagegen, aber ich bin mehr nicht sicher, ob ich die Noten von den Punkten im ZDF abhängig machen würde, aber ich denke, es ist eine tolle Erfahrung, um viel zu lernen und ich finde es nicht schlecht. Wenn ihr da mitwacht oder wenn wir mitmachen bei anderen Teams, dann lernen wir immer neue Tricks, neue Sachen. Ich denke, das ist keine schlechte Idee. Danke für die Frage. Nächste Frage von Mikrofon 3. Was macht ihr, wenn ihr irgendwie einfach stecken bleibt und nicht mehr weiter kommt? Gute Frage. Was dann hilft, ist Pause machen, jemand anderes aus dem Team fragen. Packt ihr jemanden, der keine Ahnung habt und red einfach drüber. Entweder hat die andere Person neue Ideen, auch wenn sie das noch nie angeschaut hat, oder du gehst über alles drüber, was du in den letzten Stunden gemacht hast und erklärst das jemandem und vielleicht löst das schon eine neue Idee aus. Vielleicht googelt dann, vielleicht gab es einen ähnlichen Park, sonst irgendwo, es gibt verschiedene Möglichkeiten. Es passiert oft, auch oft, dass wir Sachen nicht lösen können. Ein ZDF-Spiel kann auch sehr frustrierend sein. Man ist da für 12 Stunden an einer Herausforderung und man kriegt es schlicht nicht hin. Und man weiß nicht, wie man es lösen kann und das gibt es. Irgendwas fehlt einem. Dass man dann im Nachhinein macht, ist man fragt andere Teams oder man fügt den IRC-Channel und wie wurde das gelöst? Man fragt nach Write-Ups, man liest die Write-Ups und wenn man sich beim nächsten Mal am Congress trifft oder so, spricht man drüber und so gewinnt man mehr Wissen und Erfahrung und wird besser. Noch eine weitere Frage dort bei Mikrofon Nr. 2. Erst mal vielen Dank für den ZDF. Insbesondere mit den Browser-Explotations-Challenges, die sehr schwer zu machen sind. Was denkt ihr darüber, wenn ihr Leute Challenges lösen lässt in echter Software? Meinst du hier mit deiner Frage Zero Days benutzen für unsere Herausforderungen? Nein, bei uns. Wir haben immer modifizierte Software, die wir mit einer geplanten Lösung... Es sind schon echte Probleme. Wir haben nichts dagegen, wenn ihr Zero Days einsetzt um die Sachen zu lösen. Aber ihr verwendet das gegen kritische Infrastruktur, aber das ist ja nicht der Fall hier. Unsere Spieler vertrauen uns, dass es hier eine Lösung gibt und ich glaube, wir sind uns alle einig, dass sogar wenn wir einen Zero Day haben, dann ist Responsible Disclosure der richtige Weg und nicht das Ganze einfach ins Internet zu stellen, damit dann andere Leute gefährdet sind. Ich habe das noch nie gesehen, dass ein Zero Day gelegt ist und dann plötzlich normale Nutzer bedroht hat und das wäre schlecht, wenn das je passieren würde. Von daher hoffe ich, dass das nie passieren wird. So, dann ist jetzt die Zeit für Fragen fertig. Die Sprecher werden euch aber sicher gerne noch weitere Fragen beantworten. Noch mal eine warme Runde Applaus und dann wäre das...