Skip to main content

Snyk Fetch the Flag CTF 2023: Lösung zu Silent Cartographer

Artikel von
snyk ctf silent cartographer

30. November 2023

0 Min. Lesezeit

Danke, dass Sie Fetch mit uns gespielt haben! Glückwunsch an die Tausenden von Spielerinnen und Spielern, die bei unserem Fetch the Flag CTF dabei waren. Wenn Sie beim Fetch the Flag 2023 von Snyk dabei waren und nach der Lösung für die Herausforderung Silent Cartographer suchen, sind Sie hier genau richtig. Gehen wir die Lösung gemeinsam durch!

Silent Cartographer ist eine Web-App-Exploit-Herausforderung im Point-and-Pwn-Stil. Bei der Web-App handelt es sich um das Covenant-C2-Framework. Laut dieser ExploitDB-Seite und diesem Blogbeitrag verwendeten alle Covenant-Versionen vor 0.5 in Standard-Builds denselben JWT-Secret-Key. Das JWT in Covenant dient der Authentifizierung von Benutzern an der Covenant-Weboberfläche, über die sie C2-Agenten erstellen und steuern können. Wenn ein Benutzer mithilfe des geleakten JWT-Secret-Keys ein JWT fälschen kann, kann er sich beliebige Anmeldedaten auf Administratorebene zuweisen, sich anmelden und auf dem Server großen Schaden anrichten.

Bei Silent Cartographer geht es darum, die verwendete Anwendung (Covenant) zu identifizieren, nach bekannten Exploits dafür zu suchen, den veröffentlichten POC anzupassen, ihn auszuführen und die eingehende Reverse Shell zu handhaben. Wichtig ist, dass die Challenge-APIs nur die Ports 7443 (die Covenant-Administrationskonsole), 80 und 443 verfügbar machen. Der Exploit erstellt auf dem Server einen neuen Listener, der zufällig an einen Port im höheren 8000er-Bereich gebunden wird. Das funktioniert hier nicht: Wir müssen einen Grunt erstellen und ihn beim neu ausgenutzten Listener melden lassen, können aber nur Port 80 verwenden. Dazu lässt sich der Exploit-Code so ändern, dass der neue Listener gezwungen wird, sich an Port 80 zu binden.

Wie bei vielen anderen CTF-Herausforderungen ist der verwundbare Endpunkt über das offene Internet erreichbar. Um eine eingehende Shell zuverlässig zu handhaben, benötigen Sie daher einen Tunnel-Dienst wie Ngrok, um einen Listener mit Portweiterleitung einzurichten.

Cybersicherheits-Demonstration im geteilten Bildschirm mit Covenant-Exploit-Ausgabe, einer Root-Shell und einer ngrok-Tunnelkonsole

Danke, dass Sie Fetch möglich gemacht haben!

Ein riesiges Dankeschön an alle Teams bei Fetch the Flag 2023! Es war toll, Sie alle dort zu sehen. Sie können mich jederzeit auf YouTube finden.

Hier finden Sie die Lösungsberichte zu den anderen Herausforderungen von 2023. Viel Spaß beim Lesen!

Gepostet in: