
Esconde payloads reflexivos na memória da GPU por meio de APIs CUDA, limpando a memória do host durante o sleep e usando um handler VEH para restaurar a memória executável, evadindo a análise forense de memória.
1- primeiro, precisamos configurar e inicializar algumas structs / e executar o nosso ve handler.
2- segundo, executamos o payload stageless, temos que usar stageless, para saber onde
a reflexão vai aterrissar (estou usando cobalt strike e ele usa dll reflective loader), só nos importamos com o 2nd stage porque esse é o payload
real. não adicionei nenhum truque a esta etapa, apenas um virtualalloc e uma seção rwx
3- agora, quando o payload dorme, copiamos o payload para a memória da gpu e limpamos o payload na memória real.
4- quando o sono termina, o veh tratará a exceção (EXCEPTION_ACCESS_VIOLATION) redefinindo as permissões de memória para PAGE_EXECUTE_READWRITE e colocando o payload de volta no lugar a partir da gpu.
