Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
GraphStrike — Cobalt Strike HTTPS-Beaconing über die Microsoft Graph API | Kitploit
Tools/GitHubGitHub/redsiege/graphstrike
Penetrationstest-FrameworksExploit-FrameworksCloud-SicherheitCommand and ControlRed TeamingAPI-Sicherheit
GitHubredsiege/graphstrike

GraphStrike

Cobalt Strike HTTPS-Beaconing über die Microsoft Graph API

Repository anzeigen
6359914vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

GraphStrike

gscolor

Release-Blog: GraphStrike: Verwendung der Microsoft Graph API, um Beacon-Traffic verschwinden zu lassen
Entwickler-Blog: GraphStrike: Anatomie der Entwicklung von Offensiv-Tools

Einleitung

GraphStrike ist eine Suite von Tools, die es dem HTTPS-Beacon von Cobalt Strike ermöglicht, Microsoft Graph API für die C2-Kommunikation zu nutzen. Der gesamte Beacon-Traffic wird über zwei Dateien übertragen, die auf der SharePoint-Seite des Angreifers erstellt werden, und alle Kommunikationen vom Beacon werden an https://graph.microsoft.com weitergeleitet:

image

GraphStrike enthält einen Provisioner zur Erstellung der erforderlichen Azure-Assets für Cobalt Strike HTTPS über Graph API:

image

GraphStrike erstellt keine kostenpflichtigen Assets in Azure, sodass durch die Nutzung von GraphStrike oder seines Provisioners keine zusätzlichen Kosten entstehen.

Warum?

Es wurden Threat-Intelligence-Informationen zu mehreren verschiedenen APTs veröffentlicht, die Microsoft Graph API und andere Microsoft-Dienste für offensive Kampagnen nutzen:

  1. BLUELIGHT - APT37/InkySquid/ScarCruft
  2. Graphite - APT28/Fancy Bear
  3. Graphican - APT15/Nickel/The Flea
  4. SiestaGraph - UNBEKANNT

Bedrohungsakteure nutzen weiterhin legitime Dienste für illegitime Zwecke. Die Verwendung einer hochvertrauenswürdigen Domain wie graph.microsoft.com für C2-Kommunikation ist äußerst effektiv und wünschenswert, aber oft kompliziert und aus Zeit- und Aufwandsgründen hinderlich. Die meisten C2-Frameworks unterstützen keine Methoden zum Abrufen oder Rotieren von Zugriffstoken, was sie daran hindert, Graph API zu verwenden. Dies kann es für Red Teams schwierig machen, diese Techniken zu replizieren, und nimmt Verteidigern die Möglichkeit, diese Art von Aktivitäten zu beobachten und Signaturen zu entwickeln. GraphStrike möchte diese Last verringern und einen zuverlässigen und wiederholbaren Prozess zur Nutzung der Microsoft Graph API bereitstellen, während die Vertrautheit und Zuverlässigkeit der Cobalt Strike-Benutzererfahrung erhalten bleibt.

Ist dies ein External C2?

Technisch gesehen nein. Nachdem bereits ein echter External C2 unter Verwendung von Graph API entwickelt wurde (der Beacon-Traffic als Microsoft Teams-Nachrichten sendete), ist die Last, ein benutzerdefiniertes Implantat zu entwickeln, zu warten und zu integrieren, das die External C2-Spezifikation erfüllt und die Arbeit erledigt, nur allzu vertraut. GraphStrike nutzt stattdessen einen Open-Source-User Defined Reflective Loader(UDRL) namens AceLdr von Kyle Avery (in diesem Projekt als 'GraphLdr' adaptiert), um die WinINet-Bibliotheksaufrufe, die Beacon normalerweise tätigt, zu hooken und sie nach Bedarf zu manipulieren, um Graph API zu verwenden. Es gibt kein benutzerdefiniertes Implantat oder zusätzlichen Prozess – nur den Beacon-Prozess mit ein paar gehookten Windows-APIs. Auf der Serverseite gibt es ein Python3-Programm, das den Traffic des Cobalt Strike Team Servers in Graph API-Traffic übersetzt und umgekehrt.

Funktionen

GraphStrike unterstützt fast alle normalen Cobalt Strike-Aktivitäten, einschließlich:

  1. Verwendung von Proxychains über einen Cobalt Strike SOCKS-Proxy (allerdings sehr langsam...)
  2. Upload/Download großer Dateien
  3. BOFs, execute-assembly, etc.

Dies umfasst auch die Integration der Befehle sleep, exit und remove in GraphStrike, um die Schlafzeiten des GraphStrike-Servers mit denen des Beacons zu synchronisieren sowie Dateien in SharePoint zu löschen, wenn ein Beacon beendet oder entfernt wird.

GraphStrike integriert darüber hinaus alle Funktionen und Möglichkeiten des ursprünglichen AceLdr, wobei zusätzliche APIs hinzugefügt wurden, um auch Call Stack Spoofing zu nutzen.

Anforderungen

GraphStrike erfordert Folgendes, bevor Sie beginnen:

  1. Einen Microsoft Azure-Mandanten mit einer SharePoint/O365-Lizenz + erstellter Website. Die Standardwebsite ist in Ordnung.
  2. Ein Azure-Konto mit globalen Administratorberechtigungen in diesem Mandanten.
  3. Python 3.8-3.11Anmerkung #4 (und zusätzliche Abhängigkeiten, die während des Einrichtungsprozesses installiert werden)

Firewall-Regeln

  1. Stellen Sie sicher, dass jeder Rechner, auf dem der Cobalt Strike-Client läuft, eine Verbindung zum Cobalt Strike Team Server auf den Ports 443 und 5000 herstellen kann.

Einrichtung

Beachten Sie Folgendes, bevor Sie mit dem Einrichtungsprozess fortfahren:

1. Bestimmte Komponenten verwenden relative Pfade, um andere Assets zu finden. Bitte wechseln Sie die Verzeichnisse wie unten angegeben.
2. Das Cobalt Strike-Profil darf NUR VOR Schritt 5 des untenstehenden Einrichtungsprozesses bearbeitet werdenAnmerkung #1.

Auf dem Rechner, der den Cobalt Strike Team Server ausführt:

  1. Klonen Sie das Repository.
  2. Führen Sie vom Repository-Verzeichnis aus sudo setup/install_dependencies.sh aus, um die erforderlichen Systemabhängigkeiten zu installieren.
  3. Führen Sie python3 -m venv virtual und dann source virtual/bin/activate aus, um die virtuelle Umgebung zu erstellen und zu betreten.
  4. Wechseln Sie in das setup-Verzeichnis und führen Sie pip3 install -r requirements.txt aus.
  5. Führen Sie ./provisioner.py new aus und schließen Sie den Einrichtungsprozess ab.
  6. Starten Sie den Cobalt Strike Team Server mit graphstrike.profile als malleable C2-Profil.
  7. Starten Sie eine Instanz des Cobalt Strike-Clients (Sie können dies auf einem Client-Rechner oder auf der TS-Box tun und danach beenden) und erstellen Sie einen Cobalt Strike HTTPS-Listener auf Port 443 mit graph.microsoft.com als HTTPS Hosts und HTTPS Host(Stager)-Feldern.
  8. Wechseln Sie zurück in das Hauptverzeichnis des Repositories und starten Sie den GraphStrike-Server mit ./GraphStrike.py.

Auf ALLEN Rechnern, die den Cobalt Strike-Client ausführen:

  1. Kopieren Sie das Verzeichnis GraphStrike/client vom TS-Rechner auf den Client-Rechner. Dies darf erst NACH Abschluss der Bereitstellung erfolgen!
  2. Importieren Sie GraphStrike.cna in Cobalt Strike über den Script Manager.
  3. Erstellen Sie Cobalt Strike-Payloads, sei es roher Shellcode oder kompilierte Artefakte mit dem Artifact Kit oder einem alternativen Payload-Generierungsframework. Artifact Kit-Benutzer siehe unten!
  4. Profitieren Sie.
Tool herunterladen