
DARKSURGEON est un projet de packager Windows visant à renforcer la réponse aux incidents, la criminalistique numérique, l'analyse de logiciels malveillants et la défense réseau.
DARKSURGEON est un projet packer Windows qui vise à renforcer la réponse aux incidents, la criminalistique numérique, l'analyse de logiciels malveillants et la défense réseau.
DARKSURGEON a trois objectifs déclarés :
Si vous n'avez jamais travaillé avec packer auparavant, ce projet repose sur un principe simple :
Fournir tous les outils nécessaires pour disposer d'une machine virtuelle Windows productive, sécurisée et privée, afin que vous puissiez passer moins de temps à paramétrer votre environnement et plus de temps à combattre les méchants.
Veuillez noter qu'il s'agit d'un projet alpha et il sera sujet à des développements continus, des mises à jour et des ruptures de paquets.
DARKSURGEON repose sur quelques principes clés de développement :
DARKSURGEON est durci dès la sortie de la boîte et est livré avec des scripts pour activer les modes de sécurité Élevé ou Faible.
Toutes les installations par défaut de DARKSURGEON ont les fonctionnalités de sécurité suivantes activées :
De plus, l'utilisateur peut spécifier un mode de sécurité Faible ou Élevé en utilisant les scripts appropriés. Le paramètre par défaut est de construire une image en mode de sécurité Faible.
Le mode de sécurité Faible est principalement utilisé pour les machines virtuelles destinées au rétro-ingénierie, à l'analyse de logiciels malveillants ou aux systèmes qui ne peuvent pas prendre en charge les contrôles de sécurité VBS.
En mode de sécurité Faible, les fonctionnalités de durcissement suivantes sont configurées :
Remarque : Le mode de sécurité Élevé est encore en développement.
Le mode de sécurité Élevé est principalement utilisé pour le déploiement en production de systèmes sensibles (par exemple, les postes de travail à accès privilégié) et peut nécessiter un ajustement ou une configuration supplémentaire.
En mode de sécurité Élevé, les fonctionnalités de durcissement suivantes sont configurées :
Que vous analysiez des binaires inconnus ou travailliez sur des projets sensibles, la télémétrie des points de terminaison alimente les opérations de détection et de réponse. DARKSURGEON est préconfiguré avec les sources de télémétrie suivantes disponibles pour l'analyse :
Votre environnement opérationnel contient certaines des données les plus sensibles de votre réseau, et il est important de les protéger des regards indiscrets. DARKSURGEON met en œuvre les stratégies suivantes pour maximiser la confidentialité sans entraver les flux de travail :
Dès la sortie de la boîte, DARKSURGEON est équipé d'outils, de scripts et de binaires pour vous faciliter la vie en tant que défenseur.
Analyse Android :
Outils, scripts et binaires axés sur l'analyse Android et le rétro-ingénierie.
Blue Team :
Outils, scripts et binaires axés sur la blue team, la défense réseau et le développement d'alertes/détections.
Débogueurs :
Outils, scripts et binaires pour déboguer des artefacts binaires.
Désassembleurs :
Outils, scripts et binaires pour désassembler des artefacts binaires.
Analyse de documents :
Outils, scripts et binaires pour effectuer l'analyse de documents.
Analyse DotNet :
Outils, scripts et binaires pour effectuer l'analyse d'artefacts DotNet.
Analyse Flash :
Outils, scripts et binaires pour effectuer l'analyse d'artefacts Flash.
Analyse forensique :
Outils, scripts et binaires pour effectuer une analyse forensique sur des artefacts d'applications et de systèmes d'exploitation.
Éditeurs hexadécimaux :
Analyse Java :
Analyse réseau :
Analyse PE :
Modules PowerShell :
Bibliothèques Python :
Red Team :
Gestion à distance :
Utilitaires :
Analyse Visual Basic :
DARKSURGEON est construit à l'aide de l'application HashiCorp packer. Le temps de construction total pour une nouvelle instance de DARKSURGEON est d'environ 2 à 3 heures.
Remarque : Hyper-V est actuellement le seul hyperviseur pris en charge dans cette version alpha. La prise en charge de VirtualBox et VMWare est à venir.
powershell.exe New-DARKSURGEONISO.ps1packer build -only=[hyperv-iso|vmware|virtualbox] .\DARKSURGEON.jsonDARKSURGEON est conçu pour être modulaire et facile à configurer. Un exemple de configuration est fourni dans le fichier DARKSURGEON.json, mais vous pouvez ajouter, supprimer ou modifier n'importe lequel des scripts sous-jacents.
Vous avez une autorité de certification personnalisée à ajouter ? Besoin d'ajouter un fichier de licence pour IDA ? Pas de problème. Vous pouvez placer tous les fichiers dont vous avez besoin dans le répertoire configuration-files et ils seront copiés sur l'hôte pour vous.
Vous voulez installer un paquet personnalisé ou avez besoin d'ajustements OS spécifiques ? Pas de souci. Créez simplement un nouveau script PowerShell (ou modifiez-en un existant) dans le répertoire configuration-scripts et ajoutez-le comme étape de build dans le fichier JSON packer.
Remarque : Hyper-V est actuellement le seul hyperviseur pris en charge dans cette version alpha. La prise en charge de VirtualBox et VMWare est à venir.
Une fois DARKSURGEON construit avec succès, vous recevrez un fichier vagrant box en sortie. Le fichier box contient l'image de la machine virtuelle et les métadonnées vagrant, vous permettant de démarrer rapidement une machine virtuelle selon vos besoins.
vagrant upVagrant va maintenant extraire l'image de la machine virtuelle du fichier box, lire les métadonnées et créer une nouvelle VM pour vous. Vous voulez supprimer cette VM et en obtenir une nouvelle ?
Facile, effectuez simplement les commandes suivantes :
vagrant destroy && vagrant up
Une fois la machine virtuelle DARKSURGEON en cours d'exécution, vous pouvez vous connecter en utilisant l'un des deux comptes locaux :
Remarque : Ce sont des comptes par défaut avec des identifiants par défaut. Vous voudrez peut-être envisager de modifier les identifiants dans votre build packer.
Compte Administrateur :
Nom d'utilisateur : Darksurgeon
Mot de passe : darksurgeon
Compte Utilisateur Local :
Nom d'utilisateur : Unprivileged
Mot de passe : unprivileged
Si vous préférez ne pas utiliser vagrant, vous pouvez soit importer manuellement l'image VM, soit consulter l'une des nombreuses autres options de post-processeur fournies par packer.
Si vous préférez éviter le processus de construction de DARKSURGEON et faire confiance au fichier box que j'ai construit, vous pouvez simplement le télécharger ici.
Les contributions, corrections et améliorations peuvent être soumises directement à ce projet sous forme de ticket GitHub ou de pull request. Les outils seront examinés et ajoutés au cas par cas.
Je crois fermement en la valeur de Windows Defender Device Guard et de la sécurité basée sur la virtualisation, qui nécessitent l'utilisation d'Hyper-V pour une efficacité optimale. Par conséquent, d'autres hyperviseurs ne sont pas recommandés sur la machine hôte. Je ferai de mon mieux pour prendre en charge d'autres hyperviseurs courants, mais j'encouragerais tous les utilisateurs à essayer d'utiliser Hyper-V.
C'était une décision de conception prise pour garantir que tous les paquets attendus soient inclus dans le build packer final. L'avantage de cette décision est qu'elle garantit que tous les outils attendus seront disponibles dans le produit finalisé. L'inconvénient est que la complexité et la fragilité supplémentaires sont introduites dans le pipeline de build, car des erreurs transitoires ou liées à chocolatey peuvent entraîner l'échec d'un build.
Si vous souhaitez ignorer cette fonctionnalité, vous êtes libre de modifier le script sous-jacent pour ignorer les erreurs lors de l'installation des paquets.
Oui. Si vous ajoutez votre fichier de licence (nommé chocolatey.license.xml) dans le répertoire configuration-files lors d'un build packer, il sera automatiquement importé par le script Set-ChocolateySettings.ps1. Veuillez vous assurer que votre utilisation d'une licence chocolatey est conforme à leur contrat de licence utilisateur final.
La flexibilité est essentielle. Vous pouvez choisir d'utiliser – ou non – n'importe lequel de ces scripts, et dans n'importe quel ordre. Le fait d'avoir des fichiers individuels, bien qu'il augmente la complexité du projet, garantit que le projet peut être entièrement personnalisé sans problème.
Ajoutez le script Set-Breakpoint.ps1 dans le processus de provisionnement au point souhaité. Cela entraînera l'arrêt du build packer pendant 4 heures en attendant la fin du script.
Il s'agit très probablement d'un problème de temporisation causé par les pressions de touches émulées qui ne font pas démarrer l'image à partir de l'ISO Windows monté. Redémarrez votre VM et appuyez plusieurs fois sur n'importe quelle touche jusqu'à ce que le processus de construction démarre.
En raison de la taille des paquets téléchargés et installés, vous avez peut-être dépassé la limite de temps par défaut du build packer.
Connectez-vous à l'invité et vérifiez les points suivants :
Test-NetConnection -ComputerName <Adresse IP Packer> -Port 5985)Malheureusement, ces paquets peuvent être une cible mouvante. De nouvelles mises à jour peuvent rendre la somme de contrôle statique dans le paquet chocolatey incorrecte, l'antivirus peut signaler par erreur des binaires, etc. Des options chocolatey globales peuvent être spécifiées pour éviter ces erreurs, mais je ferai de mon mieux pour répondre aux rapports de bogues soumis comme problèmes sur les paquets chocolatey sous-jacents.
En tant qu'utilisateur de ce projet, vous devez examiner, accepter et respecter les termes de licence de chaque paquet téléchargé/installé. Si vous ne souhaitez pas respecter les termes de licence d'un composant logiciel spécifique, veuillez supprimer ce paquet de votre build packer, ou ne pas utiliser ce projet.
Licence MIT
Copyright (c) 2018
L'autorisation est accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter le Logiciel sans restriction, y compris, sans limitation, les droits d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier et/ou de vendre des copies du Logiciel, et d'autoriser les personnes à qui le Logiciel est fourni à le faire, sous réserve des conditions suivantes :
L'avis de copyright ci-dessus et cet avis d'autorisation seront inclus dans toutes les copies ou parties substantielles du Logiciel.
LE LOGICIEL EST FOURNI "EN L'ÉTAT", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS LES AUTEURS OU TITULAIRES DE DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRANSACTIONS DANS LE LOGICIEL.
Ce projet repose sur les épaules de géants, et je ne peux pas remercier suffisamment tous les auteurs originaux pour leur travail, leurs contributions et leur inspiration.