Events

Pen Test Hackfest 2019 im Schnelldurchlauf

Cybersicherheit gewinnt in allen Bereichen der Gesellschaft mehr und mehr an Bedeutung. Im 21. Jahrhundert wird der Krieg auf den digitalen Schlachtfeldern ausgetragen. Unsichere Konfigurationen, veraltete Software, Unwissenheit der Anwender – die Liste an möglichen Einfallstoren scheint endlos. Deshalb braucht es Experten, die sich über aktuelle Trends auf dem Laufenden halten. SANS veranstaltet aus diesem Grund das Pen Test Hackfest auch 2019 wieder mit einem europäischen Ableger in Berlin. Vom 22. bis 28. Juli sind Branchenexperten aus ganz Europa im Marriott Hotel zusammengekommen, um sich über die zukünftigen Herausforderungen in der IT-Sicherheit auszutauschen.

Die Vorträge – Summit


Den besonderen Auftakt stellte der erste Konferenztag dar. Insgesamt 8 Vorträge von 35 bis 45 Minuten Länge gaben den Tag über Einblicke in teilweise sehr unterschiedliche Themenbereiche. Binary Exploitation, Testautomatisierung, aber auch Grundlegendes zu Methodik und Ethik standen auf dem Programm.

Willkommen, willkommen!

Die Begrüßung geht schnell über die Bühne. Es folgt neben ein paar netten Worten noch der Hinweis auf ein Gewinnspiel und die grobe Agenda. Hier wird jedoch bereits der Grundstein für die Stimmung des Tages gelegt: Hauptsache sich selbst nicht zu ernst nehmen und Spaß zusammen haben! Flache Witze mit Bezug zu Security-Themen prägen den restlichen Verlauf des Summits.

Why did the hacker get away? – Because he ransomware.

Keynote Speech

Den Einstieg übernimmt James Lyne (CTO, SANS) mit der Keynote zu Binary Exploitation. Die Präsentation erfolgte ausschließlich an Live-Beispielen, was, den „Demo-Göttern“ sei Dank, auch reibungslos klappte. In einem Kurzüberblick über die Historie der ersten Hacker-Angriffe betonte Lyne, dass sich über die Jahre eine ganz neue Art entwickelt hat, mit Benutzereingaben umzugehen. Heutzutage vertraut Software den Anwendern nicht mehr blind. Stattdessen sind eine angemessene Validierung und Überwachung unabdingbar. Dennoch darf nicht fälschlicherweise davon ausgegangen werden, dass sich heute keine trivialen Sicherheitslücken mehr im produktiven Einsatz finden lassen.

Mit viel Humor führt Lyne als Nächstes an anschaulichen Beispiel vor, wie sich mit dem Debugger gef einfache Binärdateien untersuchen lassen. Die Analyse von Heaps, Stacks, Buffer oder Adressbereichen kann am Anfang äußerst einschüchternd wirken. Lyne führt jedoch auf verständliche Art und Weise zwei unterschiedliche Bufffer-Overflow-Angriffe vor. Er ermutigt die Zuhörer mit der Aussage, dass sich durch etwas Übung verhältnismäßig schnell die ersten Erfolgserlebnisse erzielen lassen. Wer sich tiefergehend mit dem Thema auseinandersetzen will, dem legt der Sicherheitsexperte die Bücher „Gray Hat Hacking: The Ethical Hacker’s Handbook“ und „Hacking – The Art of Exploitation“ nahe.

Blame Wars – How to Attribute Responsibility

David Fuhr, Head of Research bei der HiSolutions AG, fährt im zweiten Vortrag „Blame Wars“ damit fort, wie wir als Community mit neu entdeckten Sicherheitslücken angemessen umgehen können. Am Beispiel einer Schwachstelle, die Ende 2018 in der Software für den elektronischen Personalausweis entdeckt wurde, erklärt Fuhr die Problemstellung:

„Blaming is easy, responsibility is harder“

Das Sicherheitsunternehmen SEC Consult konnte in einem Penetrationstests feststellen, dass sich ein Benutzer über eine Lücke in der Anmeldung als beliebige andere Person ausgeben konnte. Die Crux an der Sache: der dahinterstehende Code war nur Teil der Demo-Anwendung. Vom Kunden wurden die Beispiele jedoch als Ausgangspunkt für die Produktivumgebung verwendet und teilweise unverändert übernommen. Daraufhin entstand zwischen den Sicherheitsforschern von SEC Consult und Governikus, dem Unternehmen hinter der eID-Software, ein Flame War mit hitzigen Schuldzuweisungen.

Fuhr stellt fest, dass die Verantwortung grundsätzlich in der gesamten Supply Chain zu sehen ist. Heutzutage entwickeln und publizieren Unternehmen ihre Anwendungen in immer kleineren Zyklen. In Ansätzen wie Continuous Delivery, bei denen von der Entwicklung über den Test bis zur Auslieferung nur Minuten vergehen können, entstehen gleichzeitig immer größere Abhängigkeiten zwischen den beteiligten Parteien. Aus der einstigen linearen Beziehung und einer tatsächlichen Kette von Prozessschritten ist ein Netzwerk an Verantwortungen entstanden. Sicherheit wird dabei oftmals nur nachgelagert betrachtet. Dies führt letztendlich dazu, dass das Produkt eine immer größere technische Schuld aufbaut. Ab einem gewissen Punkt ist ein Sicherheitsvorfall nicht mehr zu vermeiden. Um im Wettbewerb zu bestehen, wird dieses Risiko auf Kosten der Benutzer als gegeben akzeptiert. Treffend vergleicht Fuhr dies mit der Finanzkrise 2008: Banken sind bewusst immer gewagtere Deals eingegangen, die irgendwann dazu führen mussten, dass die Blase platzt und der gesamte Immobilienmarkt zusammenbricht.

Es ist deshalb wichtig, in einer derartigen Situation angemessen zu reagieren. Dafür unterscheidet Fuhr zwischen neurotischer und existentieller Scham. In einem neurotischen Ansatz geht der Betroffene davon aus, dass er sich keine Fehler erlauben darf. Dies führt notgedrungen dazu, dass dieser jegliche Schuldzuweisungen abblockt, um die Beteiligten nicht zu enttäuschen. Beim existentiellen Ansatz nimmt ein Unternehmen die Fehler als gegeben hin. Ziel ist es, diese nicht zu bewerten, sondern zusammen zu beheben und daraus für die Zukunft zu lernen.

Why it’s Easy Being a Hacker

Nach einer kurzen Pause, die Zeit zum Netzwerken bot, ging es mit Chris Dale (Head of Cyber Security, Netsecurity AS) und seinem Vortrag „Why it’s Easy Being a Hacker“ weiter. Die größte Ursache, warum auch heute SQL-Injection-Schwachstellen noch immer in zahlreichen Anwendungen zu finden sind, sieht Dale darin, dass die meisten Informationsquellen Sicherheit als zweitrangig ansehen. In Zeiten des Internets kann jeder Tutorials erstellen und diese auf dem Massenmarkt verbreiten. Für Entwickler ist oft nur relevant, wie eine einzelne Problemstellung zu lösen ist. Deshalb werden Code-Ausschnitte von Diskussionsforen wie StackOverflow häufig unverändert kopiert und produktiv eingesetzt. Dass der Quellcode eventuell unsicher oder bereits veraltet ist, hat dabei wenig Auswirkungen auf seine Beliebtheit. Dale kritisiert neben dem Angebot im Internet auch das grundsätzliche Konzept von Fachliteratur für IT-Themen. Da Technologien sich in zu kurzen Perioden grundlegend verändern, ist es nur sehr schwer möglich, angemessen auf Sicherheit einzugehen. Und selbst wenn die Sicherheit ein eigenes Kapitel, meist am Ende des Buches, bekommen sollte, bleibt ein entscheidendes Problem bestehen: Fachbücher werden in der IT häufig nicht linear, sondern nur punktuell, abhängig vom gesuchten Themengebiet, durchgearbeitet.

Die einzige Möglichkeit, die Sicherheit in aktuellen Softwareprodukten grundlegend zu verbessern, sieht Dale darin, das Risiko durch Hilfsmittel einzudämmen. Dafür sollten beispielsweise ausschließlich als sicher getestete Frameworks und Librarys eingesetzt werden. Eine Firewall samt Monitoring und Intrusion Prevention System (IPS) können ebenso erheblich zur allgemeinen Risikominimierung beitragen. Außerdem sollte in jeder IT-Infrastruktur ein übergreifendes Härtungskonzept etabliert werden. In diesem wird dann etwa die Vergabe von möglichst geringen Berechtigungen („Concept of Least Privilege“) festgehalten sowie ein adäquates Patch-Management durchgesetzt.

A Journey Through Adversary Emulations

In seinem Vortrag „A Journey Through Adversary Emulations“ beschäftigt sich Jonas Bauters (Senior Security Consultant, NVISO) mit der Frage, wie ein Penetrationstest unter Berücksichtigung eines realistischen Angreifers durchgeführt werden kann. Beim Adversary Emulation, d.h. dem Emulieren eines Gegners, wird der Test abhängig von tatsächlich relevanten Gefahren für den Kunden durchgeführt. Als Beispiel nennt Bauters die russische Hacker-Gruppe APT28, welche in ihren Missionen besonderen Wert auf Unauffälligkeit legen und nicht auf automatisierte Scanner zurückgreifen würden. Entsprechend ist es wichtig, die genauen TTPs (Tactics, Techniques & Procedures) festzulegen.

Dafür stehen den Testern zahlreiche Hilfsmittel zur Verfügung. Eine erste Einschätzung der Situation lässt sich zum Beispiel über die Pyramide of Pain und der Cyber Kill Chain erzielen. Die Unified Attack Chain bietet als Erweiterung der Cyber Kill Chain ein Schema, welches sich noch näher am realen Vorgehen eines Angreifers orientiert.

Für professionelle Herangehensweisen stehen auch ganze Rahmenkonzepte, wie MITREs ATT&CK Framework, zur Verfügung.

Bauters stellt in seinem Vortrag bewehrte Bezüge zur militärischen Planung her. Im ersten Schritt erarbeiten die Tester das strategische Level. Hierbei ist vor allem das genaue Ziel und die Frage nach dem „Warum“ zu klären. Eine Einteilung in unterschiedliche Level (gelb, orange, rot) ermöglicht es im Anschluss auch, bessere Abschlussberichte zu verfassen. Im zweiten Schritt wird das taktische Level geplant. Im Fokus steht die Frage nach dem „Was“. Das operationale Level stellt den letzten Schritt dar. Hierbei wird in der Konzeption tief ins Detail gegangen und für die vorliegende Situation geeignete Maßnahmen festgelegt.

Um den größten Mehrwert aus Tests nach dem Adversary-Emulation-Prinzip zu ziehen, sieht es Bauters als notwendig an, dass sowohl das blaue Team (Verteidigung) als auch das rote Team (Angriff) eng zusammenarbeiten. Es darf nicht ums Gewinnen oder Verlieren gehen, sondern die stetige Verbesserung muss das oberste Ziel sein. So könnte das blaue Team im Vorfeld berichten, welche Teile ihrer Infrastruktur sie ihrer Meinung nach besonders gut überwachen. Das rote Team kann dann versuchen dort bevorzugt unauffällige Angriffe zu fahren. Gemeinsam kann im Nachgang analysiert werden, welche Schritte korrekt erkannt wurden und wo eventuell Verbesserungsbedarf herrscht.

Well, That Escalated Quickly! – A Pen Tester’s Privilege Escalation Approach

In „Well, That Escalated Quickly“ befasst sich Khalil Bijjou (Senior Security Consultant, SEC Consult) mit verschiedene Möglichkeiten, wie sich Berechtigungen erweitern lassen. In einem Penetrationstest ist es keine Seltenheit, dass die Tester Zugriff auf niedriger privilegierte Benutzerkonten erlangen. Um ein System aber komplett übernehmen zu können, ist in den meisten Fällen jedoch eine Erweiterung dieser Rechte notwendig, auch als „Privilege Escalation“ bekannt.

Zum Einstieg stellt Bijjou in einem Beispiel vor, wie über falsch konfigurierte Datei-Berechtigungen ein bestehender Service ausgetauscht und so eigene Dateien zur Ausführung gebracht werden können. Spannender wird es im zweiten Fallbeispiel, bei dem Bijjou einen DLL-Hijacking-Angriff präsentiert. Dabei wird die Reihenfolge ausgenutzt, in der Windows versucht, eingebundene Dynamic-Link-Library-Dateien (DLL) zu lokalisieren. Im gezeigten Vorgehen wird eine bösartige DLL-Datei mit gleichem Namen, wie die Originaldatei, in den Python-Installationsordner gelegt. Diese wird von Windows nun bevorzugt geladen, da das Python-Verzeichnis in der Umgebungsvariable des Benutzers zuerst aufgelistet wird. Anschließend geht Bijjou noch kurz auf ausgefallenere Möglichkeiten wie Cold-Boot– und Direct-Memory-Access-Angriffe ein.

Pentesting Cars

Auch BMW, Audi oder Mercedes haben erkannt, was Tesla schon vor Jahren prophezeit hat: Die Zukunft gehört dem E-Auto, einem eigenen Computer auf vier Rädern. Die meisten Funktionen sind nicht mehr analog, sondern werden von digitalen Steuerelementen übernommen. Dies weckt natürlich das Interesse von Hackern und Sicherheitsforschern gleichermaßen. Oliver Nettinger (Research & Development, NVISO) zeigt in seinem Vortrag „Pentesting Cars“, was ein Einsteiger braucht, um die ersten Versuche im Bereich „Car Hacking“ durchzuführen.

Neben dem klassischen CAN-Bus, der als eine der Hauptkommunikationsschnittstellen im Auto dient, gibt es auch zahlreiche weitere Subsysteme und Busse, die angegriffen werden können. LIN, MOST, FlexRAY, aber auch Ethernet, Wi-Fi, Bluetooth und NFC sind fester Bestandteil moderner Kraftfahrzeuge. Im Bereich der eingesetzten Technologien finden sich Komponenten, die auch in klassischen Pentests keine Seltenheit sind: Node.js, Android (Auto), NFS oder IPsec. Besonderes Augenmerk sollte ein Pentester auf ungesicherte Debug-Schnittstellen, Diagnose-Informationen, die Firmware, veraltete Software und alles, was eine Remote-Verbindung besitzt, legen.

Als Grundausstattung eines Car Hackers nennt Nettinger folgende Hardware:

  • 12V-Netzteil
  • Multimeter
  • CAN-Adapter
  • Ersatzkabel
  • zu testende ECU (Electronic Control Unit; findet sich oft günstig auf Ebay)

Ebenso kann es nicht schaden die folgende Dinge zu besitzen:

  • Löteisen
  • Oszillator
  • Logikanalysator
  • Debugger
  • USB-Serial-Adapter

Als Fachliteratur für den Einstieg in Penetrationstests von Autos verweist Nettinger auf folgende Quellen:

With Just a Search Engine & Cup of Coffee: Hunting Vulnerabilities on the Web

Der Einstieg in die Welt der IT-Sicherheit scheint am Anfang unübersichtlich und schwer zu sein. Technisch wird teilweise ein immenses Vorwissen verlangt, um überhaupt mitreden zu können. Außerdem sind die altbekannten Klassiker wie SQL-Injection-Schwachstellen sowieso schon alle längst behoben. Jan Kopriva (CSIRT Team Leader, Alef Nula a.s.) zeigt in seinem Vortrag, dass diese Annahme weit ab von der Realität ist. Auch mit wenig Know-how kann jeder Einzelne das Internet zu einem sichereren Ort machen kann.

Für Kopriva sind Suchmaschinen, wie Google, Bing und co., der Schlüssel, um mit nur zehn Minuten Zeit pro Tag seine ersten Sicherheitslücken zu finden. Besonders gut lassen sich darüber Open Directories, d. h. frei zugängliche Dateiablagen, aufspüren. Diese können ungewollt sehr persönliche Daten enthalten. In der von Kopriva und seinem Team durchgeführten Untersuchung konnten in 3 % der Fälle sogar Benutzernamen samt Passwörter in beispielsweise Logs oder Konfigurationsdateien gefunden werden. Ein weiteres, oft vernachlässigtes Problem stellen verwundbare Mechanismen zur Weiterleitung der Benutzer dar. Wenn es keine Limitierung bei der Zieladresse gibt, diese also auch abseits der ursprünglichen Domain liegen kann, spricht man von einem Open Redirect:

www.mysite.com?url=www.newsite.com

Ein derartiges Verhalten ist besonders kritisch für Banken, Online Shops, Nachrichten-Seiten oder soziale Netzwerke. Hier setzten die Anwender viel Vertrauen in die Echtheit der gezeigten Inhalte. Ungewollte Weiterleitungen auf gefälschte Ableger können neben dem Reputationsverlust für das Unternehmen auch zu erheblichen Schäden für die Benutzer führen.

Zum Abschluss erklärt Kopriva noch, wie man über YouTube auch aktuell noch ein Open-Redirect-Verhalten ausnutzen kann. Jegliche Art von Verlinkung, die in einer Videobeschreibung eingefügt wurde, wird tatsächlich als Weiterleitung über YouTube gerendert. Für einen funktionierenden Link wird lediglich ein Token benötigt, der unabhängig von der Zieladresse 24 Stunden gültig ist. Nachfolgendes Beispiel würde, unter der Annahme, dass der Token noch gültig ist, über YouTube unbemerkt auf https://basto.digital/ weiterleiten.

https://www.youtube.com/redirect?v=yY3CL2tFQWY&event=video_description&redir_token=U6ZTpgjbd3Ce8ivtxA0jNBlMDgR8MTU2NDA3OTAzN0AxNTYzOTkyNjM3&q=https%3A%2F%2Fwww.basto.digital

Automated adversary emulation using Caldera

Im letzten Vortrag des Tages stellt Erik Van Buggenhout (Certified Instructor, SANS) vor, wie sich über das Tool Caldera automatisiert Angriffe emulieren lassen. Van Buggenhout knüpft dabei direkt an seinen Vorredner Bauters („A Journey Through Adversary Emulations“) an. Auch er betont erneut, dass es beim Adversary Emulation darum geht, ein realistisches Vorgehen speziell für den Kunden zu emulieren. Dabei ist besonders wichtig, dass die Tester nach einem strukturiertem Ansatz vorgehen, welcher auf einer Kill Chain oder einem Attack Flow wie MITREs ATT&CK beruht. Ziel sollte eine sofortige Analyse und Verbesserung der aktuellen Abläufe sein. Dafür ist eine aktive Kommunikation zwischen dem roten und dem blauen bzw. lila Team unabdingbar.

Übliche Fehler, die im Zusammenhang mit ATT&CK oftmals gemacht werden, sind laut Van Buggenhout, dass

  • alle Techniken als gleich betrachtet und bewertet werden,
  • die Abdeckung falsch interpretiert wird, d. h. alle Techniken ausschließlich als erfolgreich oder nicht erfolgreich angesehen werden und
  • das Framework als heiliger Gral betrachtet wird, der alles voll umfänglich abdeckt.

Bevor die Tester mit der Überprüfung beginnen können, müssen diese einige Punkte zusammen mit dem Kunden abklären. Die weitere Planung hängt maßgeblich davon ab, wie viel Zeit und Aufwand in die einzelnen Teilbereiche investiert werden soll. Ebenso ist wichtig festzulegen, welche Threat Actor, also welche Gefahrenquellen für das Unternehmen tatsächlich relevant und realistisch sind. Als Grundlage für eine lebhafte Kommunikation ist es außerdem entscheidend, dass das blaue bzw. lila Team im Vorfeld festhält, welche Techniken ihrer Meinung nach gut abgedeckt sind und welche in der Vergangenheit bereits erkannt wurden.

MITRE Caldera bietet dem roten Team ein Werkzeug, um automatisiert die definierten Techniken abzutesten. In der ATT&CK-Matrix und damit auch Caldera wird im ersten Schritt immer davon ausgegangen, dass das System bereits kompromittiert wurde. Über „Abilities“ lassen sich vorgefertigte oder eigene Skript-Befehle definieren. Als Beispiel zeigte Van Buggenhout ein Snippet, welches über einen bekannten PowerShell-Exploit den Windows AppLocker umgehen kann. In den Adversaries werden die einzelnen Phasen mit den dazugehörigen Abilities festgelegt. Als oberste Knotenpunkt können Gruppen („Groups“) bestimmt werden, die mehrere Zielsysteme unter sich zusammenfassen. Eine sinnvolle Einteilung kann hier beispielsweise nach Betriebssystem vorgenommen werden. Dadurch lassen sich Angriffe abhängig von der verfügbaren Skriptsprache auswählen. Zusätzlich können die Tester auch logische Gruppen, zum Beispiel anhand der Abteilungen im Unternehmen, abstecken.

Die Kurse – Training


Die restliche Woche konnten die Teilnehmer in ausgewählten Kursen zu spezialisierten Bereichen verbringen. Zur Auswahl standen dieses Jahr:

Das Fazit


Das Pen Test Hackfest 2019 bot den Teilnehmern einen Einblick in teilweise sehr unterschiedliche Themengebieten. Im Vergleich zu anderen mehrtägigen Konferenzen ist die Teilnehmerzahl gewollt überschaubar. Dadurch bieten sich in den Pausen genug Gelegenheiten zum Netzwerken. Der Einzelpreis von 745 Euro allein für die Vortragsreihe erscheint auf den ersten Blick verhältnismäßig hoch. Bei der Teilnahme an einem der Kurse, welche je 6.275 Euro kosten, sinkt der Preis immerhin auf 373 Euro. Wer viel Wert auf neue Bekanntschaften legt, eine lockere Atmosphäre bevorzugt und ein qualitativ hochwertiges Kursangebot sucht, ist beim SANS Pent Test Hackfest definitiv gut aufgehoben.