R0 CREW

Priveleged exception при выполнении reverse_tcp shellcode

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

а если

запустить через отладчик, посмотреть есть там те же инструкции IN или OUT попробовать пройти мимо step out ом, в целом поискать отличия в контексте, я сам новичок :slight_smile: так что скидывай софт покапаюсь тоже

Факт того, что вам попались инструкции IN\OUT говорит о том, что вы скорее всего пытаетесь запустить данные либо например инструкцию не с начала, а с середины. Причину необходимо искать исходя из этого.