
Oculta payloads reflectivos en la memoria de la GPU mediante las APIs de CUDA, limpiando la memoria del host durante la suspensión y usando un manejador VEH para restaurar la memoria ejecutable, evadiendo el análisis forense de memoria.
1- primero, necesitamos configurar e inicializar algunas estructuras / y ejecutar nuestro manejador ve.
2- segundo, ejecutamos el payload stageless, debemos usar stageless, para saber dónde
aterrizará la reflexión (estoy usando cobalt strike y usa un cargador reflectivo de dll), solo nos importa la 2nd stage porque ese es el verdadero
payload. no agregué ningún truco a este paso, solo un VirtualAlloc y una sección rwx.
3- ahora, cuando el payload se pone en reposo, copiamos el payload a la memoria de la gpu, y limpiamos el payload en la memoria real.
4- cuando el reposo termina, el veh manejará la excepción (EXCEPTION_ACCESS_VIOLATION) restableciendo los permisos de memoria a PAGE_EXECUTE_READWRITE, y colocando el payload de vuelta en su lugar desde la gpu.
