
Cache les charges utiles réfléchissantes dans la mémoire GPU via les API CUDA, effaçant la mémoire hôte pendant le sommeil et utilisant un gestionnaire VEH pour restaurer la mémoire exécutable, contournant l'analyse forensique de la mémoire.
1- d'abord, nous devons configurer et initialiser quelques structs / et exécuter notre gestionnaire VEH.
2- ensuite, nous exécutons le payload stageless, nous devons utiliser un payload stageless, pour savoir où
la réflexion va atterrir (j'utilise cobalt strike et il utilise un chargeur réflectif de DLL), nous ne nous intéressons qu'au 2nd stage car c'est le véritable
payload. je n'ai ajouté aucune astuce à cette étape, juste un virtualalloc et une section rwx
3- maintenant, quand le payload passe en sommeil, nous copions le payload dans la mémoire du GPU, et nous nettoyons le payload dans la mémoire réelle.
4- quand le sommeil est terminé, le VEH gérera l'exception (EXCEPTION_ACCESS_VIOLATION) en redéfinissant les permissions mémoire sur PAGE_EXECUTE_READWRITE, et en remettant le payload en place depuis le GPU.
