
PoC Détournement d'exécution de thread pour injection de code Win32
Le programme utilise le détournement de threads pour injecter du shellcode natif dans une application Win32 standard. J'avais 15 ans quand j'ai créé ceci – veuillez ignorer le code médiocre.
J'ai développé ce petit projet pour poursuivre mes expériences sur différentes méthodes d'injection de code et pour permettre aux professionnels de la sécurité RedTeam d'utiliser cette méthode comme une façon unique de réaliser des tests de pénétration logicielle. Avec le détournement de threads, le programme hijacker.exe peut suspendre un thread dans le programme cible target.exe, nous permettant d'écrire du shellcode dans ce thread cible, puis de l'exécuter (via WriteProcessMemory(), SetThreadContext(), ResumeThread(), CreateThread()).

int main()
{
System sys;
Interceptor incp;
Exception exp;
sys.returnVersionState();
if (sys.returnPrivilegeEscalationState())
{
std::cout << "Token Privileges Adjusted\n";
}
if (DWORD m_procId = incp.FindWin32ProcessId((PCHAR)m_win32ProcessName))
{
incp.ExecuteWin32Shellcode(m_procId);
}
system("PAUSE");
return 0;
}
https://capec.mitre.org/data/definitions/30.html