Quick Update to include Follina Exploitation ( 01/06/2022 ) - NinjaC2 will generate the document and serve the HTML payload .
Weitere Informationen : https://www.linkedin.com/posts/ahmed-khlief-499321a7_i-just-pushed-a-quick-update-to-ninjac2-to-activity-6937661951007170560-Tmps
Ninja V2.2 Released ( 27/03/2022 ) .
Neue Funktionen enthalten :
check URL for more info on features and how to use AWS EC2 automation :
- neue Benutzeroberfläche für CnC-Skript
- Jetzt enthält jede Kampagne alle zur Kampagne gehörenden Dateien und die Konfigurationsdatei.
- neues Skript zur Automatisierung der AWS-Instanzerstellung mit NinjaC2-Konfiguration.
- Aktualisiertes Invoke-Mimikatz-PowerShell-Skript auf die neueste Mimikatz-Version.
- Fehlerbehebungen
Ninja V2.1 Released ( 31/07/2021 ) .
Überprüfen Sie die neuen Funktionen hier : https://shells.systems/ninjac2-v2-1-new-webshell-agent-more-features-and-updated-av-bypass/
Ninja V2.0 Released ( 16/04/2021 ) .
Ninja V2.0 wurde neu aufgebaut, um Python3 zu verwenden, mit neuen Funktionen :
- Payload-Variablen-Verschleierung jedes Mal, wenn der Payload angefordert wird, um AV zu umgehen
- Shellcodes mit nasm und donut generieren
- neuer Befehl (migrate) zur Prozessmigration .
- neuer Persistenzbefehl mittels geplanter Aufgaben
- neue vorkompilierte Mimikatz-PowerShell-Version
- neue Payloads .
- aktualisiertes AMSI-Bypass-Skript .
Was ist Ninja ?
Ninja C2 ist ein Open-Source-C2-Server, der vom Purple Team entwickelt wurde, um eine heimliche Computer- und Active-Directory-Erkundung durchzuführen, ohne von SIEM und AVs erkannt zu werden. Ninja befindet sich noch in der Beta-Version, und wenn die stabile Version veröffentlicht wird, wird sie viele weitere heimliche Techniken und Anti-Forensik-Methoden enthalten, um eine echte Herausforderung für das Blue Team zu schaffen und sicherzustellen, dass alle Abwehrmaßnahmen korrekt konfiguriert sind und sie hochentwickelte Angriffe erkennen können.
Ninja verwendet Python, um die Payloads zu servieren und die Agents zu steuern. Die Agents basieren auf C# und PowerShell, die führende AVs umgehen können. Ninja kommuniziert mit den Agents über einen sicheren Kanal, der mit AES-256 verschlüsselt ist, und der Schlüssel ist nicht fest codiert, sondern wird zu Kampagnenbeginn zufällig generiert. Jeder Agent, der sich mit dem C2 verbindet, erhält den Schlüssel, und wenn der C2 neu gestartet wird, wird ein neuer Schlüssel von allen alten und neuen Agents verwendet. Ninja randomisiert auch die Rückruf-URLs für jede Kampagne, um statische Erkennung zu umgehen.
- Die Hauptfunktion in Ninja heißt DA (Defense Analysis), die die erforderliche Aufzählung durchführt, um die folgenden wichtigen Informationen zu erhalten und diese zu analysieren, um eine Bewertung der Systemabwehr und Sandbox-Erkennung zu erhalten.
- Erkennung von SIEM-Lösungen: Derzeit erkennt es SPlUNK, Log Beat Collector, Sysmon.
- Erkennung von AV auf zwei Arten: mittels PowerShell-Befehl und mittels Prozessen.
- Überprüfung, ob das PowerShell-Logging aktiviert ist
- Überprüfung, ob der Benutzer Administratorrechte hat
- Bereitstellung von Informationen über das System: Hostname, Betriebssystem, Build-Nummer, Ortszeit, Zeitzone, letzter Start und BIOS.
- Bereitstellung von Informationen über die installierten Sicherheitsupdates.
- Bereitstellung einer System-Pwn-Härtebewertung basierend auf mehreren Faktoren.
- Bereitstellung einer Sandbox-Erkennungsbewertung basierend auf (Berechtigungen, BIOS-Hersteller, Domänenmitgliedschaft oder nicht, Vorhandensein von Sysinternals-Prozessen).
- Anzeige aller Domänenbenutzer (mit PowerShell-Befehlen).
- Anzeige aller Domänengruppen (mit PowerShell-Befehlen) .
- Anzeige aller Domänencomputer (mit powerview.ps1 - entnommen aus : https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1 ).
- Anzeige der verfügbaren Freigaben.
Ninja ist darauf ausgelegt, einfach eingerichtet zu werden, weitere Befehle hinzuzufügen und Automatisierung für langweilige Aufgaben durchzuführen. Sie finden viele kurze Befehle, die ein Red Teamer sich nur schwer merken und danach suchen kann. Bitte lesen Sie diesen Artikel, um mehr über Ninja zu erfahren : https://shells.systems/introducing-ninja-c2-the-c2-built-for-stealth-red-team-operations/
Ninja Hauptfunktionen
Ninja ist mit einer Reihe von Funktionen ausgestattet, die es Ihnen ermöglichen, einen Einblick in Ihr bevorstehendes Engagement zu gewinnen, bevor Sie Ihr volles Arsenal oder Ihre Werkzeuge und Techniken einsetzen müssen, wie zum Beispiel:
- Verteidigungsanalyse
- Automatisierung für Kerberoast-Angriffe, vom Generieren der Kerberos-Tickets bis zum Extrahieren der SPN-Hashes in Hashcat-Format.
- Automatisierung für dc_sync, um Hashes für eine Liste von Benutzern oder die Domänenadministratorgruppe zu erhalten.
- Unentdeckte Automatisierung, um Gruppen zu erhalten, zu denen der Benutzer gehört, und die Benutzer, die Mitglied einer Gruppe sind.
- Automatisierung für die Bloodhound-AD-Datensammlung .
- maßgeschneiderte C#-Payloads, die Zeichenfolgen verschlüsseln, um statische Erkennung zu umgehen.
- Kodieren Sie jeden gewünschten Befehl in Unicode-Base64, um ihn in PowerShell-kodierten Befehlen zu verwenden.
- vollständige Verschlüsselung aller Kommunikationen zwischen Agent und Command & Control, um AV- und IPS-Erkennung zu umgehen.
- dynamische URLs für alle Funktionen: Platzieren Sie einfach Ihre Liste von URL-Namen und der C2 wird sie zufällig verwenden, um jede statische Erkennung zu umgehen.
- Erhalten Sie einen zufälligen Verschlüsselungsschlüssel im Handumdrehen (nicht fest codiert) jedes Mal, wenn der Agent eine Verbindung herstellt (auch eine erneute Verbindung benötigt einen neuen Schlüssel).
- Screenshots erstellen und verschlüsselt an C2 senden
- Dateien verschlüsselt von C2 zum Opfer hochladen, um AV und IPS zu umgehen
- Dateien verschlüsselt vom Opfer herunterladen, um AV und IPS zu umgehen
- gestaffelte Payloads zur Umgehung der Erkennung (Base64 und Base52)
- umgeht AVs (getestet auf Kaspersky und Trend Micro)
- umgeht SIEM-Erkennung (getestet auf Splunk mit Sammlung üblicher Ereignisprotokolle zusammen mit Sysmon-Protokollen), nicht getestet auf PowerShell v5 Script Block und Modul-Logging (wird im nächsten Release erfolgen).
- Stellen Sie das Beacon-Intervall dynamisch ein, auch nachdem der Agent verbunden ist, und geben Sie ein Start-Beacon-Intervall in den Kampagnenstartkonfigurationen an.
- Protokollierung aller Befehle und Ergebnisse, um auf alle Daten zurückzugreifen, die Sie in Ihrem Betrieb verpasst haben.
- Konfiguration einmalig beim Start der Kampagne festlegen und genießen.
- globaler Kill Switch zum Beenden von Kampagnen.
- Tabelleneinträge löschen.
- alle Payloads werden in den Payloads-Ordner geschrieben für einfachen Zugriff und weitere Anpassung.
- einfach Automatisierung für jeden gewünschten Befehl hinzuzufügen.
Voraussetzungen
Bitte beachten Sie, dass die Kompilierung von C# von der Assembly System.Management.Automation.dll mit SHA1-Hash c669667bb4d7870bc8bb65365d30071eb7fb86fe abhängt.
Einige Ninja-Befehle erfordern die folgenden Module (bereits im Modul-Ordner vorhanden), für die Sie Updates aus deren Repository beziehen müssen :
Invoke-Kerberoast : https://raw.githubusercontent.com/xan7r/kerberoast/master/autokerberoast.ps1
Invoke-Mimikatz : https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-Mimikatz.ps1
Sharphound : https://github.com/BloodHoundAD/BloodHound/blob/master/Ingestors/SharpHound.ps1
PowerView : https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1
Installation
Stellen Sie zunächst sicher, dass Sie die neueste Version von Ninja mit dem folgenden Befehl herunterladen:
git clone https://github.com/ahmedkhlief/Ninja/
Sie müssen Ninja einrichten, indem Sie das install.sh-Skript ausführen :