
Ein einfaches, erweiterbares C&C-Beaconing-System.
Das C2-Repository soll eine praktische Umsetzung der Ideen bieten, die im Red Team Infrastructure Wike unter https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki enthalten sind. Insbesondere stellt dieses Repository zwei Go-Pakete bereit: eines für Beaconer und eines für Downloader. Darüber hinaus enthält das Repository Beispiel-Implants, die diese Beaconer und Downloader verwenden. Schließlich enthält das Repository Backend-DNS- und HTTP-Server für C2 sowie Konfigurationsinformationen für den Aufbau von Frontend-Redirector-Servern.
Der Ordner implants enthält zwei Implants, die zeigen, wie die Beaconer- und Downloader-Pakete verwendet werden. Diese Implants können als Referenz für die Erstellung eigener Implants dienen. Die Grundidee besteht darin, einen Beaconer und einen Downloader auszuwählen und sie mit einer Art Timing-Mechanismus in einer Schleife zu kapseln, um zu steuern, wie oft das Implant ein Beacon aussendet.
Um neue Beaconer und Downloader zu erstellen, muss man eine Struct bauen, die das entsprechende Interface erfüllt. Die Verzeichnisse beaconer und downloader enthalten sowohl HTTP- als auch DNS-Beispiele.
Das Verzeichnis servers enthält sowohl einen DNS-Server als auch einen HTTP-Server, die als Backend-Server für die verschiedenen Beacons und Downloader verwendet werden können. Diese Server wurden nicht mit Blick auf den Produktionseinsatz entworfen, können aber bei Bedarf in der Produktion verwendet werden. Darüber hinaus enthält der Ordner servers eine Payload-Datei, die mit go build -o payload.bin payload.go erstellt werden kann. Die Server erwarten, im aktuellen Verzeichnis eine Datei payload.bin zu finden, die an die Downloader ausgeliefert und auf dem Client ausgeführt wird.
Der Ordner docs enthält Konfigurationsinformationen, die für den Aufbau von Frontend-Redirectoren für das C2-System erforderlich sind. Die Konfiguration ermöglicht es, C2-Datenverkehr anhand bestimmter Kriterien an den C2-Server umzuleiten, und sendet allen übrigen Datenverkehr an einen harmlosen Server.
Ich bin kein C2-Experte. Ich habe das Red Team Infrastructure Wiki gelesen und beschlossen, eine praktische Umsetzung zu bauen. Abgesehen davon würde ich mich über Pull-Requests für neue Beaconer und Downloader freuen. Wenn du dich nicht wohl dabei fühlst, den Code selbst zu schreiben, lass mich wissen, welche Beacon- oder Downloader-Techniken du implementiert haben möchtest, indem du ein Issue erstellst.