
Revenant - A 3rd party agent for Havoc that demonstrates evasion techniques in the context of a C2 framework
Revenant est un agent tiers pour Havoc écrit en C, et basé sur Talon. Cet implant vise à étendre l'implant Talon en implémentant des méthodes d'exécution furtives, des capacités robustes et davantage de personnalisation.

Ce projet vise à être un implant Havoc C2 autonome. La fonctionnalité visée pour l'utilisateur final est la suivante :
- Télécharger le dépôt
- Dézipper Revenant.zip
- pip install black
- démarrer Havoc (./havoc server --profile ./profiles/havoc.yaotl -v --debug & ./havoc client )
- Aller au dossier racine
- python Revenant.py
- ???
- PROFIT
Compatibilité x86 et Win 7 :
- Désactiver NativeAPI
Note : Revenant utilise NtCreateUserProcess pour fournir les fonctionnalités NativeAPI. NtCreateUserProcess n'est pas pris en charge par x86 ou Win 7
- pwsh - exécute des commandes via powershell.exe -> pwsh ls
- shell - exécute des commandes via cmd.exe -> shell dir
- download - télécharge le fichier vers le dossier loot -> download C:\test.txt
- upload - téléverse le fichier vers le dossier souhaité -> upload /home/test.txt C:\temp\test.txt
- exit - tue l'implant actuel -> exit
- Sleep - Définir le sommeil en secondes
- Polymorphic - Activer/Désactiver le polymorphisme au moment de la compilation et de l'exécution
- Obfuscation - Obfusquer les chaînes avec XOR
- Arch - x86/x64
- Native - Utiliser NativeAPI là où elle est implémentée
- AntiDbg - Utiliser des vérifications anti-débogage à l'initialisation
- RandCmdIDs - Randomiser les identifiants de commandes
- Unhooking - Méthode GhostFart/Perun's Fart pour défaire le hook, exécuter la commande, puis refaire le hook
Note : RandCmdIDs randomise les CmdIDs dans l'exécutable de sortie. Revenant ne stocke PAS ces CmdIDs aléatoires ; ils ne fonctionneront qu'avec la session active. Si vous voulez un exécutable réutilisable, n'activez PAS cette option.
- Ajouter exec-assembly
- Ajouter les commandes cd, ls, whoami
- Diminuer l'entropie