
PoC de Secuestro de Ejecución de Hilos para Inyección de Código en Win32
El programa usa secuestro de hilos para inyectar shellcode nativo en una aplicación Win32 estándar. Tenía 15 años cuando hice esto – por favor, ignora el código de baja calidad.
Desarrollé este pequeño proyecto para continuar mis experiencias con diferentes métodos de inyección de código y para permitir que los profesionales de seguridad RedTeam utilicen este método como una forma única de realizar pruebas de penetración de software. Con el secuestro de hilos, permite que el programa hijacker.exe suspenda un hilo dentro del programa target.exe permitiéndonos escribir shellcode en ese hilo objetivo, y luego ejecutarlo (vía; 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