
Aggrokatz est une extension de plugin aggressor pour Cobalt Strike qui permet à pypykatz d'interfacer avec les beacons à distance et lui permet d'analyser les fichiers de vidage LSASS et les fichiers de ruche de registre pour extraire les identifiants et autres secrets stockés sans télécharger le fichier et sans télécharger de code suspect sur le beacon.

aggrokatz est une extension de plugin Aggressor pour CobaltStrike qui permet à pypykatz d'interfacer avec les beacons à distance.
La version actuelle de aggrokatz permet à pypykatz d'analyser les fichiers de dump LSASS et les fichiers de ruche du Registre pour extraire les identifiants et autres secrets stockés sans télécharger le fichier et sans télécharger de code suspect sur le beacon (Cobalt Strike est déjà présent de toute façon).
À l'avenir, ce projet vise à fournir des fonctionnalités supplémentaires pour les opérations furtives, telles que la recherche et le déchiffrement de tous les secrets DPAPI/kerberoasting/etc.
Nous avons publié un court article de blog pour cette version de l'outil, qui inclut également quelques captures d'écran.
Le dump LSASS/Registre n'est pas l'objectif de ce projet, seulement l'analyse. Raisons :
CredBandit qui dumps les octets bruts sur le disque au lieu du base64. Cool outil, allez voir.Dans le client CS, n'utilisez pas "reload" et n'essayez pas de décharger puis recharger manuellement le script si vous l'avez modifié. Vous DEVEZ le décharger, fermer le client et le rouvrir, puis charger le script modifié. Sinon, vous aurez plusieurs versions s'exécutant simultanément et une tonne d'erreurs et de comportements étranges se produiront !
Pendant l'analyse des fichiers LSASS/Registre sur le poste distant, veuillez ne pas interagir avec le beacon spécifique sur lequel vous avez lancé le script. Normalement, cela ne causerait aucun problème, mais je ne peux donner aucune garantie.
pycobalt. Un readme est disponible sur leur page GitHub.pypykatz version >=0.4.8aggressor.cna de pycobalt est configuré et connaît l'emplacement de votre interpréteur Pythonaggrokatz.cna pour qu'il pointe vers pycobalt.cnaView > Script Console et Cobalt Strike > Script Manager. À l'aide de Script Manager, chargez le script aggkatz.cna.aggkatz.cna est chargé avec succès, vous aurez un nouvel élément de menu pypykatz lors d'un clic droit sur un beacon.Script Console.Script Console et dans la fenêtre du Beacon lui-même.LSASS file : L'emplacement du fichier lsass.dmp sur l'ordinateur distant. Vous pouvez également utiliser des chemins UNC pour accéder aux fichiers lsass.dmp partagés via SMBchunksize : La quantité maximale lue en une seule foisBOF file : Le fichier BOF (Beacon Object File) qui permet les lectures par morceaux. Ce fichier sera téléchargé et exécuté (en mémoire) à chaque lecture d'un nouveau morceau.(module) : Spécifie quels modules seront analysés. Par défaut : allOutput : Spécifie le(s) format(s) de sortiePopulate Credential tab : Après une analyse réussie, tous les identifiants obtenus seront disponibles dans l'onglet Credential de Cobalt Strike. Cette fonctionnalité est en version bêtaDelete remote file after parsing : Après une analyse réussie, le fichier de dump LSASS sera supprimé de la cibleSYSTEM file : L'emplacement du fichier SYSTEM.reg sur l'ordinateur distant. Vous pouvez également utiliser des chemins UNC pour accéder aux fichiers partagés via SMBSAM file (optional) : L'emplacement du fichier SAM.reg sur l'ordinateur distant. Vous pouvez également utiliser des chemins UNC pour accéder aux fichiers partagés via SMBSECURITY file (optional) : L'emplacement du fichier SECURITY.reg sur l'ordinateur distant. Vous pouvez également utiliser des chemins UNC pour accéder aux fichiers partagés via SMBSOFTWARE file (optional) : L'emplacement du fichier SOFTWARE.reg sur l'ordinateur distant. Vous pouvez également utiliser des chemins UNC pour accéder aux fichiers partagés via SMBchunksize : La quantité maximale lue en une seule foisBOF file : Le fichier BOF (Beacon Object File) qui permet les lectures par morceaux. Ce fichier sera téléchargé et exécuté (en mémoire) à chaque lecture d'un nouveau morceau.Output : Spécifie le(s) format(s) de sortieLe BOF de lecture de fichier prend actuellement en charge des lectures de fichiers jusqu'à 4 Go. Cela peut être étendu avec quelques modifications, mais jusqu'à présent, de tels gros fichiers n'ont pas été observés.
Normalement, l'analyseur de pypykatz effectue une série d'opérations de lecture de fichiers sur le disque, mais avec l'aide d'aggrokatz, ces opérations de lecture sont tunnelisées vers le beacon à l'aide d'un BOF (Beacon Object File) spécialement conçu qui permet de lire le contenu du fichier distant par morceaux. Cela permet à pypykatz d'extraire tous les secrets des fichiers distants sans lire l'intégralité du fichier, en ne récupérant que les morceaux nécessaires où se trouvent les secrets.
Pour avoir une vue d'ensemble du processus complet, deux parties doivent être mises en évidence :
pypykatz s'intègre avec CobaltStrikepypykatz effectue l'extraction des identifiants sans lire l'intégralité du fichier