PDA

Просмотр полной версии : Priveleged exception при выполнении reverse_tcp shellcode


forsaken
12.09.2017, 08:52
Здравствуйте! Есть тестовая программа с уязвимостью buffer overflow, которую я запустил в Immunity debugger. С помощью msfvenom сгенерировал windows/meterpreter/reverse_tcp шеллкод. Вставил шеллкод в передаваемый в программу буфер, перезаписал адрес возврата на начало шеллкода. В дебаггере я вижу как идет выполнение моего шеллкода, но когда дело доходит до инструкции IN или OUT, дебаггер падает. Загуглив, я узнал что данные инструкции выполняются в kernel mode (ring0), а дебаггер работает в ring3 mode. Эксплуатация вне дебагера так же не дает успеха. DEP отключен, если пробую вместо reverse_tcp другой шеллкод, например messagebox_shellcode, который просто показывает окно с текстом, то все работает нормально. Подскажите пожалуйста, в чем может быть дело? Если сгенерировать этот же шеллкод в виде exe и запустить, то meterpreter сессия удачно открывается. DEP, фаервол, антивирус отключены.

binarymaster
14.09.2017, 22:31
↑ (https://antichat.live/posts/4127077/)
В дебаггере я вижу как идет выполнение моего шеллкода, но когда дело доходит до инструкции IN или OUT, дебаггер падает.


Что неудивительно, поскольку из юзермода к портам обращаться нельзя под Windows NT.

Если эти инструкции из шеллкода, то вам просто нужно выбрать другой, юзермодовый шеллкод.


↑ (https://antichat.live/posts/4127077/)
Если сгенерировать этот же шеллкод в виде exe и запустить, то meterpreter сессия удачно открывается.


Сделайте пошаговую отладку этого EXEшника, и сравните с предыдущим вариантом.