Das CyberArk-Lab-Team hat das neu entwickelte Open-Source-Tool Kubesploit zum Testen von Kubernetes-Umgebungen vorgestellt. [...]
Laut einer Umfrage der Cloud Native Computing Foundation (CNCF) setzen mehr als 84 Prozent der Unternehmen Container in der Praxis ein, mehr als 78 Prozent vertrauen dabei auf Kubernetes als Container-Orchestrierungs-Tool. Diese hohe Popularität sorgt dafür, dass auch Angreifer ihre Kenntnisse hier verbessern.
Um Kubernetes-Cluster vor Angriffen zu schützen, gilt es sich mit der Technologie und den Organisationen auseinandersetzen, die angegriffen werden. Die meisten der heute verfügbaren Tools zielen jedoch auf das passive Scannen nach Schwachstellen im Cluster ab, und es mangelt an einer Abdeckung komplexerer Angriffsvektoren. Es ist jedoch wichtig, den Exploit auszuführen, um einen realen Angriff zu simulieren, um die Widerstandsfähigkeit des Unternehmens im gesamten Netzwerk zu ermitteln.
Wird ein Exploit ausgeführt, wird das Cyber-Event-Management der Organisation geübt, was beim Scannen nach Cluster-Problemen nicht geschieht. Dies kann der Organisation helfen, zu lernen, wie sie bei echten Angriffen vorgeht, zu sehen, ob ihre anderen Erkennungssysteme wie erwartet funktionieren und zu verstehen, welche Änderungen vorgenommen werden sollten. CyberArk: „Wir wollten ein offensives Tool schaffen, das diese Anforderungen erfüllt“.
Das Team von CyberArk Labs verfügt bereits über zwei Open-Source-Tools (KubiScan und kubeletctl), die sich auf Kubernetes beziehen, wollte zusätzliche Tools für diese Umgebungen erstellen und hat sich mit Kubesploit für ein zentralisiertes Tool entschieden.
Relevante Module für Kubernetes erstellen
Das Framework Kubesploit ist in Golang geschrieben und baut auf das Merlin-Projekt (von Russel Van Tuyl) auf – einem plattformübergreifenden Post-Exploitation-HTTP/2 Command & Control-Server und -Agent. Merlin hat auch eine Möglichkeit, neue Module dynamisch hinzuzufügen, die es ermöglichen, relevante Module für Kubernetes zu erstellen.
CyberArk wollte neue Module dynamisch laden, um sie im Agenten auszuführen und den Agenten leichtgewichtig und flexibel zu halten, daher hat das Team einen Go-Interpreter namens „Yaegi“ zu Kubesploit hinzugefügt. Mit dieser Fähigkeit ist es möglich, neue Golang-Module „on the fly“ zu schreiben und sie auszuführen, während der Agent noch läuft. Die Unterstützung der Ausführung von Golang-Code kann das Schreiben von komplexem Code ermöglichen und bereits in Go geschriebene Exploits integrieren. Es macht es auch einfacher für die Open-Source-Community, neue Module beizusteuern, und die Tatsache, dass Kubernetes auch in Golang geschrieben wurde, könnte eine einfachere Integration verwandter Codestücke ermöglichen.
Zudem wurden neue Module entwickelt, die sich auf Angriffsvektoren für containerisierte Umgebungen beziehen, wie zum Beispiel den Ausbruch aus einem Container auf den Host, Kubelet-Angriffe, Scannen nach bekannten Schwachstellen im Cluster sowie Scannen von Diensten und Ports. In Zukunft sollen noch weitere Module hinzukommen sowie Beiträge für neue Module im Zusammenhang mit Kubernetes und containerisierten Umgebungen im Allgemeinen unterstützt werden.
*Bernhard Lauer ist unter anderem freier Redakteur der dotnetpro und betreut hier beispielsweise die Rubrik Basic Instinct. Mit Visual Basic programmiert er privat seit der Version 1.0.
Be the first to comment