
Revenant - Un agent tiers pour Havoc qui démontre des techniques d'évasion dans le contexte d'un framework C2
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