• XSS.stack #1 – первый литературный журнал от юзеров форума

Переход из ring0 в ring3

coree

(L2) cache
Пользователь
Регистрация
27.12.2021
Сообщения
303
Решения
1
Реакции
116
Гарант сделки
1
Депозит
0.0006
Всем доброго дня. Какие есть техники перехода из ring0 в ring3 на windows? Видел что то с APC (как в даблпульсаре), а есть какие то другие методы выполнения юзермод шеллкода из ядра?
 
Открыл дексриптор процесса, записал в адресное пространство процесса шеллкод, создал на нем поток.
Так же из ядра ты имеешь доступ к физической оперативной памяти, и можешь напрямую модифицировать память процесса.
Создание потока в нужном месте можешь реализовать через заморозку процесса и изменение контекста любого уже существуюшего потока, а потом вернуть контекст обратно.
 
Ты про изменение rip/eip в контексте? Если я не ошибаюсь, Get/SetThreadContext не могут быть вызваны в кернелмоде
 
Пожалуйста, обратите внимание, что пользователь заблокирован
 
Ты про изменение rip/eip в контексте? Если я не ошибаюсь, Get/SetThreadContext не могут быть вызваны в кернелмоде
А как по твоему работает отладчик уровня ядра, во время отладки ядра + юзермод кода ? Пореверси WinDbg.
 
ну как минимум это юзермод функции, как я понял надо устанавливать previous mode в 0. но с таким же успехом я просто могу вызвать NtCreateThread и ее аналоги
 
Пожалуйста, обратите внимание, что пользователь заблокирован
как минимум это юзермод функции
PsSetContextThread разве не?
 
Может кто знает, есть ли способы изменить irql с dpc (диспатч) level-a до passive? KeLowIrql не меняет (падает багчек с попыткой сменить уровень)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх