Vor kurzem fand wieder unser jährlicher OKHack statt. Die Veranstaltung schließt unsere internen Weiterbildungen im Bereich Offensive Security ab, bei denen wir uns im Rahmen unseres DevSecOps-Prozesses
mit Hacking, Penetration Testing und dem Security-Auditing von Code
und Anwendungen beschäftigen. Diese Art von Event bietet uns die ideale Plattform, um die in den Weiterbildungen vermittelten Fähigkeiten zu trainieren und in einem praxisnahen Umfeld zu schärfen. Zudem fördert die Zusammenarbeit beim Lösen kniffliger Aufgaben im Team den Austausch untereinander und bringt uns als Kollegen näher zusammen. Das Format ist die Teilnahme an einem CTF.
Was ist ein CTF?
Ein CTF (Capture-the-Flag) ist ein Hacking-Wettbewerb, bei dem es darum geht, innerhalb einer vorgegebenen Zeit – meistens 24 oder 48 Stunden – Aufgaben aus den Bereichen IT-Security und Hacking zu lösen. Das kann von der Analyse eines Netzwerkmitschnitts über das Aufspüren von Schwachstellen in Webanwendungen bis hin zum Entschlüsseln von kryptografischen Geheimnissen reichen. Je schwieriger die Aufgaben, desto mehr Punkte gibt es – und das Team mit den meisten Punkten gewinnt am Ende.
Highlights
Eine der Aufgaben, die uns dieses Jahr beim CSAW CTF 2024
besonders in Erinnerung geblieben ist, war eine Web-Challenge. Diese zwang uns dazu, zwei verschiedene Sicherheitslücken im Code zu finden und geschickt miteinander zu kombinieren, um so einen vollwertigen Angriff durchzuführen. Die Aufgabe war deshalb besonders spannend, weil sie an Themen anknüpfte, die wir in unseren Weiterbildungen behandelt hatten: die Identifikation und Kombination von Schwachstellen zur Erstellung eines umfassenden Threat Models und der Kategorisierung und Bewertung solcher.
Vorbereitend auf gezielte Penetration-Testing-Szenarien im Rahmen unserer Projekte lehren wir vorrangig PASTA
(Process for Attack Simulation and Threat Analysis) als Vorgehensweise für einen strukturierten und risikobasierten Ansatz, um Bedrohungen auch immer im geschäftlichen Kontext zu modellieren - aber auch STRIDE
, das sich im Rahmen agiler Projekte einfach iterativ implementieren lässt.
In der besagten Challenge ging es zum einen um eine sogenannte Template Injection. Dabei handelt es sich um eine Sicherheitslücke, bei der ein Angreifer unerwartete Benutzereingaben in eine Webanwendung injizieren kann, um bösartigen Code in die Template-Engine einzuschleusen. Das ist deshalb besonders gefährlich, weil die Template-Engine häufig serverseitigen Zugriff auf systemkritische Ressourcen hat und so potenziell schwerwiegende Schäden anrichten kann.
Diese Schwachstelle mussten wir zum anderen mit einer JWT Algorithm Confusion Attack kombinieren. JWT (JSON Web Token) ist ein Standard zur sicheren Übertragung von Informationen zwischen zwei Parteien, der für Authentifizierungs- und Autorisierungszwecke verwendet wird und verschiedene kryptografische Verfahren unterstützt. Wenn ein Server den erwarteten Verschlüsselungsalgorithmus nicht erzwingt, kann ein Angreifer die Authentifizierung umgehen, indem er den eingesetzten Algorithmus und dessen Eingaben manipuliert.
Die Schwachstellen, die wir hier ausnutzen mussten, gehören kategorisch zu den am häufigsten vorkommenden Risiken, wie sie in den OWASP Top 10
beschrieben sind – einer Liste der zehn häufigsten Sicherheitsrisiken für Webanwendungen, die von der Open Web Application Security Project Community veröffentlicht wird. Die beiden Kategorien, in welche die Schwachstellen einzuordnen sind, stehen sogar ganz oben auf dieser Liste: Injection
und Cryptographic Failures
.
Beide Kategorien hatten wir in unseren internen Weiterbildungen ausführlich behandelt. Das half uns nicht nur bei der Lösung der Aufgabe, sondern sorgte durch diesen Bezug und dem zu realen Bedrohungen auch für einen einprägsamen Aha-Effekt.
Es war insgesamt wieder ein großartiger und lehrreicher Abschluss der alljährlichen Seminarreihe zu Offensive Security. Solche Übungen schärfen nicht nur unser Wissen und unsere Fähigkeiten, sondern schaffen auch einen wertvollen Praxisbezug, auf den wir in unserer täglichen Arbeit zurückgreifen können. Nicht zuletzt hatten wir auch alle einfach riesigen Spaß zusammen! Mit diesen Erfahrungen sind wir bestens gerüstet für zukünftige Herausforderungen und freuen uns bereits jetzt auf das nächste Mal.