
Cadre de persistance entièrement modulaire
PersistAssist est un framework de persistance entièrement modulaire écrit en C#. Toutes les techniques de persistance contiennent une méthode de nettoyage qui servira à supprimer la persistance en dehors du code de persistance. Ceci est un travail en cours, il y a donc de nombreuses classes vides ; l'objectif principal de ce projet était initialement de construire un framework entièrement modulaire conçu pour permettre d'ajouter de nouvelles fonctionnalités simplement en héritant d'une classe et en ajoutant le code.
Auteur - Victor Suarez (@Gr1mmie)
PersistAssist n'aura pas de binaires précompilés, vous devrez donc compiler le code manuellement. Pour ce faire, ouvrez le fichier solution, sélectionnez "Release" et l'architecture souhaitée dans le menu de build, puis appuyez sur Démarrer.
Pour afficher le menu d'aide, utilisez PersistAssist.exe -h
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
Usage: PersistAssist.exe -t [technique] -<extra options>
Provide the persist technique and what to do with the technique (persist, cleanup, display info)
To list all available persistence techiques, use PersistAssist.exe -l
-t, --technique=VALUE Technique de persistance à utiliser
-a, --action=VALUE Action à effectuer
-s, --search=VALUE Mot-clé à rechercher
--cmd, --command=VALUE Commande à utiliser comme payload
--rk, --rootkey=VALUE Clé racine pour les opérations de registre
--sk, --subkey=VALUE Sous-clé pour les opérations de registre
--kv, --keyvalue=VALUE Valeur à attribuer à la clé de registre
--rc, --registrycontext=VALUE
Contexte dans lequel écrire la clé de registre (options : hkcu ou hklm)
--tn, --taskname=VALUE Nom de la tâche pour les opérations MSBuild
--pl, --payload=VALUE Payload à substituer dans le modèle
--fp, --filepath=VALUE Chemin du fichier/répertoire à cibler
--dp, --duplicatepath=VALUE
Chemin pour dupliquer les horodatages de fichier, modifie tous
les horodatages
--ts, --timestamp=VALUE
Spécifie l'horodatage M(odifié), A(ccédé) ou C(réé).
Utilisez ALL pour cibler tous les horodatages
--nt, --newtime=VALUE Spécifie une nouvelle date pour modifier l'horodatage spécifié
--un, --username=VALUE Spécifie le nom d'utilisateur pour la vérification des identifiants
--pw, --passwd=VALUE Spécifie le mot de passe pour la vérification des identifiants
--efq, --eventFilterQuery=VALUE
Requête EventFilter pour l'abonnement aux événements WMI
--efn, --eventFilterName=VALUE
Nom de l'EventFilter pour l'abonnement aux événements WMI
--ecn, --eventConsumerName=VALUE
Nom de l'EventConsumer pour l'abonnement aux événements WMI
--efv, --eventConsumerValue=VALUE
Valeur de l'EventConsumer pour l'abonnement aux événements WMI
-q, --query=VALUE Requête à exécuter
--dn, --domain=VALUE Spécifie le domaine actuel
-p, --persist Exécute la technique spécifiée
-c, --cleanup Nettoie la technique spécifiée
-l, --list Liste les techniques disponibles
--lm, --listmodule=VALUE
Liste les techniques disponibles d'une catégorie de module
spécifiée
-i, --info Affiche les informations sur une technique spécifiée
-h, --help affiche ce message et quitte
Pour lister les modules disponibles, utilisez PersistAssist.exe -l
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
[*] Modules disponibles :
Persistance :
=============
Registre :
GenericRegAdd - Ajoute une clé de registre arbitraire
RunKeys - Enregistre une clé RunKey sur HKLM ou HKCU
MSBuild :
InlineTasks - Déploie une payload basée sur InlineTask de MSBuild. Dépose un fichier sur le disque
OverrideTask - Déploie une persistance basée sur OverrideTask de MSBuild. Dépose un fichier sur le disque et nécessite un accès administrateur
OpérationsComptes :
WMI :
Divers :
PSProfile - Pirate les fichiers de profil PowerShell
StartupFolder - Dépose un raccourci dans un chemin de démarrage
Tradecraft :
===========
SvcList - Liste les services sur une machine
Creds - Opérations sur les identifiants
FileRead - Lit un fichier en mémoire pour éviter de devoir le télécharger pour le lire
NetList - essentiellement ipconfig
ProcList - Liste les processus en cours
RegList - Liste le contenu d'une clé de registre spécifiée
SchList - Liste les tâches planifiées sur une machine
TimeStomp - Modifie les horodatages de fichiers et répertoires. Ne modifie pas le timestamp d'entrée
WMIQuery - Exécute une requête WMI arbitraire
Compile - Utilitaire autonome pour compiler des exécutables basés sur des payloads C# incluses dans le framework
Payloads :
=========
CSharp :
HelloWorld - hola mundo
MsgBox - Affiche une MessageBox
PopCalc - ouvre la calculatrice
PopCalcAPI - Ouvre la calculatrice via l'API
VBA :
Pour lister uniquement les modules d'une catégorie spécifique, utilisez -lm. Par exemple, lister tous les modules Tradecraft disponibles : PersistAssist.exe -lm Tradecraft
______ __ __ _______ __ __
| __ .-----.----.-----|__.-----| |_| _ .-----.-----|__.-----| |_
| __| -__| _|__ --| |__ --| _| |__ --|__ --| |__ --| _|
|___| |_____|__| |_____|__|_____|____|___|___|_____|_____|__|_____|____|
Author: @Grimmie (@FortyNorthSec)
Ver: v0.2
Tradecraft :
==========
SvcList - Liste les services sur une machine
Creds - Opérations sur les identifiants
FileRead - Lit un fichier en mémoire pour éviter de devoir le télécharger pour le lire
NetList - essentiellement ipconfig
ProcList - Liste les processus en cours
RegList - Liste le contenu d'une clé de registre spécifiée
SchList - Liste les tâches planifiées sur une machine
TimeStomp - Modifie les horodatages de fichiers et répertoires. Ne modifie pas le timestamp d'entrée
WMIQuery - Exécute une requête WMI arbitraire
Compile - Utilitaire autonome pour compiler des exécutables basés sur des payloads C# incluses dans le framework
Les modules de persistance contiennent les techniques disponibles pouvant être utilisées, les modules Tradecraft servent de fonctions utilitaires pour effectuer diverses opérations, et les modules de payload contiennent des charges utiles pouvant être utilisées pour diverses tâches de persistance, bien qu'ils ne soient actuellement disponibles que pour le module OverrideTask.
Pour obtenir des informations sur un module, utilisez PersistAssist.exe -t [technique] -i
Name: OverrideTask
Desc: Déploie une persistance basée sur OverrideTask de MSBuild. Dépose un fichier sur le disque et nécessite un accès administrateur
Usage:
Persist: PersistAssist.exe -t OverrideTask -p -tn [nom de la tâche] -pl [payload]
Cleanup: PersistAssist.exe -t OverrideTask -c -tn [nom de la tâche]
Category: MSBuild
Author: