
DARKSURGEON ist ein Windows-Packer-Projekt, das Incident Response, digitale Forensik, Malware-Analyse und Netzwerkverteidigung unterstützt.
DARKSURGEON ist ein Windows-Packer-Projekt zur Stärkung der Vorfallreaktion, digitalen Forensik, Malware-Analyse und Netzwerkverteidigung.
DARKSURGEON hat drei erklärte Ziele:
Wenn Sie noch nicht mit Packer gearbeitet haben, hat dieses Projekt eine einfache Prämisse:
Stellen Sie alle Werkzeuge bereit, die Sie für eine produktive, sichere und private Windows-VM benötigen, damit Sie weniger Zeit mit der Feinabstimmung Ihrer Umgebung und mehr Zeit mit der Bekämpfung von Angreifern verbringen.
Bitte beachten Sie, dass dies ein Alpha-Projekt ist und es wird ständig weiterentwickelt, aktualisiert und es kann zu Paketbrüchen kommen.
DARKSURGEON basiert auf einigen grundlegenden Entwicklungsprinzipien:
DARKSURGEON ist ab Werk gehärtet und wird mit Skripten ausgeliefert, um die Sicherheitsmodi „Hoch“ oder „Niedrig“ zu aktivieren.
Alle Standardinstallationen von DARKSURGEON haben die folgenden Sicherheitsfunktionen aktiviert:
Zusätzlich kann der Benutzer durch Verwendung der entsprechenden Skripte einen niedrigen oder hohen Sicherheitsmodus festlegen. Die Standardeinstellung ist die Erstellung eines Images im niedrigen Sicherheitsmodus.
Der niedrige Sicherheitsmodus wird hauptsächlich für virtuelle Maschinen verwendet, die für Reverse Engineering, Malware-Analyse oder Systeme gedacht sind, die keine VBS-Sicherheitskontrollen unterstützen.
Im niedrigen Sicherheitsmodus sind die folgenden Härtungsfunktionen konfiguriert:
Hinweis: Der hohe Sicherheitsmodus befindet sich noch in der Entwicklung.
Der hohe Sicherheitsmodus wird hauptsächlich für den Produktionseinsatz sensibler Systeme (z. B. privilegierte Arbeitsstationen) verwendet und kann zusätzliche Anpassungen oder Konfigurationen erfordern.
Im hohen Sicherheitsmodus sind die folgenden Härtungsfunktionen konfiguriert:
Ob bei der Analyse unbekannter Binärdateien oder der Arbeit an sensiblen Projekten – Endpunkt-Telemetrie ermöglicht Erkennungs- und Reaktionsvorgänge. DARKSURGEON wird mit den folgenden, für die Analyse verfügbaren Telemetriequellen ausgeliefert:
Ihre Betriebsumgebung enthält einige der sensibelsten Daten Ihres Netzwerks, und es ist wichtig, diese vor neugierigen Blicken zu schützen. DARKSURGEON implementiert die folgenden Strategien, um die Privatsphäre zu maximieren, ohne Arbeitsabläufe zu behindern:
Ab Werk ist DARKSURGEON mit Tools, Skripten und Binärdateien ausgestattet, die Ihnen als Verteidiger das Leben erleichtern.
Android-Analyse:
Tools, Skripte und Binärdateien, die sich auf Android-Analyse und Reverse Engineering konzentrieren.
Blue Team:
Tools, Skripte und Binärdateien, die sich auf Blue Team, Netzwerkverteidigung und die Entwicklung von Alarmen/Erkennungen konzentrieren.
Debugger:
Tools, Skripte und Binärdateien zum Debuggen von Binärdateien.
Disassembler:
Tools, Skripte und Binärdateien zum Disassemblieren von Binärdateien.
Dokumentenanalyse:
Tools, Skripte und Binärdateien zur Analyse von Dokumenten.
DotNet-Analyse:
Tools, Skripte und Binärdateien zur Analyse von DotNet-Artefakten.
Flash-Analyse:
Tools, Skripte und Binärdateien zur Analyse von Flash-Artefakten.
Forensische Analyse:
Tools, Skripte und Binärdateien zur forensischen Analyse von Anwendungs- und Betriebssystemartefakten.
Hex-Editoren:
Java-Analyse:
Netzwerkanalyse:
PE-Analyse:
PowerShell-Module:
Python-Bibliotheken:
Red Team:
Remote-Verwaltung:
Dienstprogramme:
Visual Basic-Analyse:
DARKSURGEON wird mit der HashiCorp-Anwendung Packer erstellt. Die gesamte Build-Zeit für eine neue Instanz von DARKSURGEON beträgt etwa 2–3 Stunden.
Hinweis: Hyper-V wird derzeit als einziger Hypervisor in dieser Alpha-Version unterstützt. Support für VirtualBox und VMWare folgt in Kürze.
powershell.exe New-DARKSURGEONISO.ps1packer build -only=[hyperv-iso|vmware|virtualbox] .\DARKSURGEON.jsonDARKSURGEON ist modular und einfach zu konfigurieren. Eine Beispielkonfiguration ist in der Datei DARKSURGEON.json enthalten, aber Sie können beliebige der zugrunde liegenden Skripte hinzufügen, entfernen oder anpassen.
Haben Sie eine benutzerdefinierte Zertifizierungsstelle, die Sie hinzufügen müssen? Müssen Sie eine Lizenzdatei für IDA hinzufügen? Kein Problem. Sie können alle benötigten Dateien in das Verzeichnis configuration-files legen und sie werden für Sie auf den Host kopiert.
Möchten Sie ein benutzerdefiniertes Paket installieren oder benötigen Sie bestimmte Betriebssystemanpassungen? Keine Sorge. Erstellen Sie einfach ein neues PowerShell-Skript (oder ändern Sie ein vorhandenes) im Verzeichnis configuration-scripts und fügen Sie es als Build-Schritt in der Packer-JSON-Datei hinzu.
Hinweis: Hyper-V wird derzeit als einziger Hypervisor in dieser Alpha-Version unterstützt. Support für VirtualBox und VMWare folgt in Kürze.
Nachdem DARKSURGEON erfolgreich erstellt wurde, erhalten Sie eine Vagrant-Box-Datei als Ausgabe. Die Box-Datei enthält das VM-Image und die Vagrant-Metadaten, sodass Sie schnell eine VM nach Bedarf starten können.
vagrant upVagrant extrahiert nun das VM-Image aus der Box-Datei, liest die Metadaten und erstellt eine neue VM für Sie. Möchten Sie diese VM löschen und eine neue erhalten?
Einfach, führen Sie Folgendes aus:
vagrant destroy && vagrant up
Sobald die DARKSURGEON-VM läuft, können Sie sich mit einem der beiden lokalen Konten anmelden:
Hinweis: Dies sind Standardkonten mit Standard-Anmeldeinformationen. Sie sollten erwägen, die Anmeldeinformationen in Ihrem Packer-Build zu ändern.
Administratorkonto:
Benutzername: Darksurgeon
Passwort: darksurgeon
Lokales Benutzerkonto:
Benutzername: Unprivileged
Passwort: unprivileged
Wenn Sie Vagrant nicht verwenden möchten, können Sie das VM-Image entweder manuell importieren oder sich eine der vielen anderen von Packer bereitgestellten Post-Processor-Optionen ansehen.
Wenn Sie den Prozess der Erstellung von DARKSURGEON überspringen und der von mir erstellten Box-Datei vertrauen möchten, können Sie sie einfach hier herunterladen.
Beiträge, Fehlerbehebungen und Verbesserungen können direkt als GitHub-Issue oder Pull-Request gegen dieses Projekt eingereicht werden. Werkzeuge werden von Fall zu Fall überprüft und hinzugefügt.
Ich glaube fest an den Wert von Windows Defender Device Guard und Virtualisierungsbasierter Sicherheit, die für eine optimale Effektivität die Verwendung von Hyper-V erfordern. Daher werden andere Hypervisoren auf dem Host nicht empfohlen. Ich werde mein Bestes tun, um andere gängige Hypervisoren zu unterstützen, empfehle jedoch allen Benutzern, Hyper-V auszuprobieren.
Dies war eine Designentscheidung, die getroffen wurde, um sicherzustellen, dass alle erwarteten Pakete in den endgültigen Packer-Build gelangen. Der Vorteil dieser Entscheidung ist, dass garantiert wird, dass alle erwarteten Werkzeuge im fertigen Produkt verfügbar sind. Der Nachteil ist, dass zusätzliche Komplexität und Fragilität in die Build-Pipeline eingebracht werden, da vorübergehende oder Chocolatey-Fehler zu einem Build-Fehler führen können.
Wenn Sie diese Funktionalität ignorieren möchten, können Sie das zugrunde liegende Skript frei ändern, um Fehler bei der Paketinstallation zu ignorieren.
Ja. Wenn Sie Ihre Lizenzdatei (mit dem Namen chocolatey.license.xml) zum Erstellungszeitpunkt in das Verzeichnis configuration-files legen, wird sie automatisch vom Skript Set-ChocolateySettings.ps1 importiert. Bitte stellen Sie sicher, dass die Nutzung einer Chocolatey-Lizenz deren Endbenutzer-Lizenzvereinbarung entspricht.
Flexibilität ist der Schlüssel. Sie können sich entscheiden, eines dieser Skripte zu verwenden – oder auch nicht – und zwar in beliebiger Reihenfolge. Einzelne Dateien erhöhen zwar die Projektkomplexität, stellen aber sicher, dass das Projekt ohne Probleme vollständig angepasst werden kann.
Fügen Sie das Skript Set-Breakpoint.ps1 an der gewünschten Stelle in den Provisioner-Prozess ein. Dadurch wird der Packer-Build für 4 Stunden angehalten, während er auf den Abschluss des Skripts wartet.
Dies ist höchstwahrscheinlich ein Timing-Problem, das dadurch verursacht wird, dass die emulierten Tastendrücke das Image nicht dazu bringen, von der eingebundenen Windows-ISO zu booten. Starten Sie Ihre VM neu und drücken Sie mehrmals eine beliebige Taste, bis der Build-Prozess beginnt.
Aufgrund der Größe der heruntergeladenen und installierten Pakete haben Sie möglicherweise das Standard-Zeitlimit des Packer-Builds überschritten.
Stellen Sie eine Verbindung zum Gast her und überprüfen Sie Folgendes:
Test-NetConnection -ComputerName <Packer-IP-Adresse> -Port 5985)Leider können diese Pakete ein bewegliches Ziel sein. Neue Updates können die statische Prüfsumme im Chocolatey-Paket ungültig machen, Antivirensoftware kann fälschlicherweise Binärdateien markieren usw. Globale Chocolatey-Optionen können angegeben werden, um das Auftreten dieser Fehler zu verhindern, aber ich werde mein Bestes tun, um auf Fehlerberichte zu reagieren, die als Issues zu den zugrunde liegenden Chocolatey-Paketen eingereicht werden.
Sie als Benutzer dieses Projekts müssen die Lizenzbedingungen jedes heruntergeladenen/installierten Pakets prüfen, akzeptieren und einhalten. Wenn Sie die Lizenzbedingungen einer bestimmten Softwarekomponente nicht einhalten möchten, entfernen Sie dieses Paket bitte aus Ihrem Packer-Build oder verwenden Sie dieses Projekt nicht.
MIT-Lizenz
Copyright (c) 2018
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Einschränkung der Rechte zur Verwendung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter folgenden Bedingungen zu gestatten:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE VERPFLICHTUNGEN, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.
Dieses Projekt steht auf den Schultern von Giganten, und ich kann allen ursprünglichen Autoren für ihre Arbeit, Beiträge und Inspiration nicht genug danken.