
Un ensemble d'outils pour faire ressembler un système à une victime d'une attaque APT
Important : Ne vous contentez pas de télécharger le ZIP ou de cloner le dépôt si vous ne prévoyez pas de développer des tests. Utilisez le package dans la release qui contient une version packagée avec des archives chiffrées sans échantillons ni outils en clair.
APT Simulator est un script Batch Windows qui utilise un ensemble d'outils et de fichiers de sortie pour faire ressembler un système à un système compromis. Contrairement à d'autres outils de simulation d'adversaire, APT Simulator est conçu pour rendre l'application aussi simple que possible. Vous n'avez pas besoin d'exécuter un serveur web, une base de données ou des agents sur un ensemble de machines virtuelles. Il suffit de télécharger l'archive préparée, de l'extraire et d'exécuter le fichier Batch qu'elle contient en tant qu'administrateur. L'exécution d'APT Simulator prend moins d'une minute de votre temps.
Des clients ont testé nos scanners dans le cadre d'un POC et nous ont envoyé une plainte selon laquelle nos scanners ne signalaient pas les programmes qu'ils avaient installés sur leurs systèmes de test. Ils avaient installé Nmap, déposé un PsExec.exe dans le dossier Téléchargements et placé le virus de test EICAR sur le bureau de l'utilisateur. Ce fut le moment où j'ai décidé de construire un outil qui simule une menace réelle d'une manière plus appropriée.
L'objectif de cet outil est de simuler l'activité d'un adversaire, pas un malware. Consultez la section Solutions avancées pour des outils avancés de simulation d'adversaire et de malware.

Le script Batch extrait les outils et les shells d'une archive 7z chiffrée à l'exécution. Ne téléchargez pas le dépôt master avec le bouton « download as ZIP ». Utilisez plutôt la version officielle de la section release.
APT Simulator contient un module nommé « AVExcluder » qui tente d'enregistrer le %APTDIR% utilisé comme exclusion AV dans les solutions AV typiques. Comme je n'ai pas accès à tous les logiciels AV du marché, veuillez signaler les erreurs ou ajouter de nouvelles exclusions sous forme de pull requests.
Depuis la version 0.4, il est très facile d'étendre les ensembles de test en ajoutant un seul fichier .bat dans l'un des dossiers de catégorie d'ensembles de test.
Par exemple, si vous souhaitez écrire un cas de test simple pour « élévation de privilèges », qui utilise un outil nommé « privesc.exe », clonez le dépôt et procédez comme suit :
toolsetprivesc-1.bat et ajoutez-le dans le dossier ./test-sets/privilege-escalationbuild_pack.batSi votre script inclut un outil, un web shell, un fichier auxiliaire ou de sortie, placez-les dans les dossiers ./toolset ou ./workfiles. L'exécution du script de construction build_pack.bat les inclura dans les archives chiffrées enc-toolset.7z et enc-files.7z.
"%ZIP%" e -p%PASS% %TOOLARCH% -aoa -o%APTDIR% toolset\tool.exe > NUL
"%ZIP%" e -p%PASS% %FILEARCH% -aoa -o%APTDIR% workfile\tool-output.txt > NUL
Le tableau suivant présente les différents cas de test et les résultats de détection attendus.
Vous devriez maintenant pouvoir trouver des événements dans votre solution de supervision de sécurité (SIEM, EDR, etc.) pour les mots-clés suivants :
MSSE-1337-servermsagent_fedac123postex_ssh_fedac123334485 (utilisé dans l'activité Get System)Note : Pas de surveillance des tubes nommés ? Vous pouvez utiliser Sysmon + cette config et cette règle Sigma pour commencer.
b6a1458f396 (événements multiples : enregistrement de nouveau service et création de processus)Note : Pas d'événements ? Vous pouvez utiliser cette règle Sigma pour commencer.
http://10.0.2.15/pixel.gifhttps://operaa.net:443/jquery-3.2.2.min.jshttps://23.108.57.148:443/jquery-3.2.2.full.jsAucun cas de test pour l'instant
Depuis la version 0.8.0, APT Simulator dispose d'un mode batch fourni par @juju4 qui permet de l'exécuter de manière scriptée, par exemple via Ansible
APTSimulator.bat -b
Ce dépôt contient des outils et des exécutables qui peuvent nuire à l'intégrité et à la stabilité de votre système. Utilisez-les uniquement sur des systèmes de test ou de démonstration non productifs. Créez un instantané avant de commencer. Sinon, vous devrez supprimer toutes les modifications manuellement, ce qui est une tâche fastidieuse.

Système d'émulation d'adversaire automatisé CALDERA https://github.com/mitre/caldera
Infection Monkey - Un outil de test d'intrusion automatisé https://github.com/guardicore/monkey
Flightsim - Un utilitaire pour générer du trafic réseau malveillant et évaluer les contrôles https://github.com/alphasoc/flightsim
Suivez-moi et contactez-moi sur Twitter @cyb3rops
| Cas de test | AV | NIDS | EDR | SM | CA |
|---|
| Collecte de fichiers locaux | X | ||||
| Connexions C2 | (X) | X | X | X | |
| Cache DNS 1 (Injection de cache) | (X) | X | X | X | |
| User agents malveillants (Malware, RAT) | X | X | X | ||
| Back Connect Ncat (Drop & Exec) | X | X | X | X | |
| WMI Backdoor C2 | X | X | X | ||
| Dump LSASS (avec Procdump) | X | X | X | ||
| Mimikatz 1 (Drop & Exec) | X | X | X | X | |
| WCE 1 (Entrées du journal des événements) | X | X | X | ||
| Activation compte invité admin | X | X | X | ||
| Faux fichier système (Drop & Exec) | X | X | X | ||
| Fichier hosts (blocages AV/Mise à jour Windows) | (X) | X | X | ||
| Dropper JS obfusqué | (X) | X | X | X | X |
| Obfuscation (RAR avec extension JPG) | (X) | ||||
| Découverte Nbtscan (Scan & Sortie) | X | X | (X) | X | |
| Activité de reconnaissance (Commandes typiques) | X | X | X | ||
| PsExec (Drop & Exec) | X | X | X | ||
| Outil d'exécution à distance (Drop) | (X) | X | |||
| Tâche At | X | X | X | ||
| Création d'entrée de clé RUN | X | X | X | ||
| Création de tâche planifiée | X | X | X | ||
| Backdoor StickyKey | X | X | |||
| Persistance UserInitMprLogonScript | (X) | X | X | ||
| Web Shells | X | (X) | X | ||
| WMI Backdoor | X | X |