Вечер добрый! Умею пользоваться IDA, с большим трудом пытаюсь осваивать x32dbg. Начитался про расположение информации в стеке про адрес возврата который там лежит между параметрами вызываемой функции и локальными переменными и еще много про что. Товарищи шарящие, подскажите пожалуйста как в x32dbg (или не в нем, но чем проще софт - тем лучше) посмотреть непосредственно содержимое стека в каждый момент времени, что происходит с ним после выполнения очередной инструкции (не список из последних 5 переменных, а именно дамп всего стека) и как увидеть в реальном времени что с ним происходит при выходе за пределы массива (переполнении). Лучше в видео / скринах. Можно ссылку на какой-то хороший мануал. Я хочу увидеть где лежит тот адрес возврата и на каком этапе он затирается мусором.
Регистр esp содержит адрес верхушки стека, если окна в правом нижнем углу тебе мало, можно в левом нижнем углу его в один из "дамп"ов вывести.
Magnet0, Ты не понимаешь что спрашиваешь. Тебе пройти отладчиком семпл в сурках для обучения или реальный, где место атаки не известно. Путь автоматики - это предел сложности, для подобных инструментов. Есть лишь теоретические наработки, они очень сложны, впрочем как и реализация - для этого нужно приложение запустить под визор, снимать трассу, строить таблицы маркеров(как минимум 2-хуровневые), закодить само наследование указателей и прочие многие вещи необходимые что бы однаружить загрузку шелла. Другое дело передача управления, её ситема многими путями отлично детектит. Но это следствие и не покажет саму загрузку шелла. RFG(теневой стек) и прочая фигня так же даст лишь событие передачи управления на оп-последовательность. Я эту задачу пытался решить очень давно и кучу времени на это потратил. Задача не разрешима из бага в формате исполняемых файлов - данные от кода не отличимы, процедуры не маркированы. Можешь поискать мои темы. Единственный простой путь решения - либо снимать трассу с выборкой, тогда можно пройти по графам и выйти на место загрузки шелла; иначе есть есчо проще метод, это самый эффективный всегда - повторный перезапуск приложения. Нашёл адрес, перезапустил нашёл ссылку и так пока не выйдешь на нужное место. Что касательно готовых инструментов - их нет, задача слишком сложна.
Трейсил визор через визор,- Дампит визор визор в визор. Я не говорил про визор? Визор-визор-визор-визор!
Mikl___, такой исходный код могут закомпилить только люди-грибы с Юггота, ну, или мож шогготы с антарктических хребтов безумия^^
Ахахах, человек спросил за стек и за адрес возврата, а ему за гипервизиры начали рассказывать и за shadow stack. facepalm Когда я в свое время интересовался этой темой, я особо в отладчик не смотрел. Я просто знал алгоритм. И мне нужно было только разве что иногда посматривать на три регистра !!! EIP, EBP, ESP всё. Пихаешь в уязвимую программу сгенерированную строку в виде патерна. Видишь что перезаписал EIP. Вычисляешь смещение до EIP, потом ищешь в модулях или в программе инструкцию jmp esp. Ложишь ее в EIP дальше срезка нопов и потом шеллкод. Всё. Готово.
Так весь смысл жизни белорусских аверов, ну канеш помимо поедания картофеля, сводится к написанию визоров. Они там у себя в топовых белорусских антивирусных компаниях визорами меряются, а не писюнами.
Видимо давно было, до ASLR. --- Сообщение объединено, 31 июл 2020 --- Может дело в запятой? Умею пользоваться IDA с большим трудом, пытаюсь осваивать x32dbg.
fontbyself, > Видишь что перезаписал EIP. > ищешь в модулях или в программе инструкцию jmp esp. И где в каком же апп ты найдёшь(толку от этого защита зарубит) передачу управления на стек. Могут быть косвенные в виде OP, но вручную ты это не найдёшь. Это задача исключительно автоматики. Откуда ты вылез, старик ? Для тебя новость, отладчики давно deprecated, их заменили dbi. > Ложишь ее в EIP дальше срезка нопов и потом шеллкод. Всё. Готово. Пример в студию!
Ну вот не так давно в стим находили баф оверлоу выплаты были на хакерван. В тех же SCADA и даже в циско strcpy() как встречалась функция было вот как то. Такой класс уязвимостей до сих пор встречается. Загугли сам увидишь. DBI не dbi отладчик никто не отменял.
fontbyself, Так ты совсем нуби если думаешь что OP-атаки и уязвимости соотв это тупо jmp esp. Эти ошибки трудно найти, они находятся почти всегда после самой ошибки, те когда апп слетит на некоторой последовательности данных. И гуглить мне дружок не нужно, у меня свой такого типа инструмент уже очень давно есть. Обкатанный на огромном числе апп.
Я не понимаю твой оркский язык. Изначально хотел показать, что оно не так трудно, как кажется на первый взгляд. Ну гаджет тут в виде jmp esp (Ret2Reg) - хардкод адреса и все такое. Что за ОР? ROP ?
fontbyself, Какой хардкод ? OP - orien. att, группа атак. COP/ROP/JOP. Давно был разработан теор механизм для обнаружения этих атак, до реализации не дошло механизм весьма сложен https://wasm.in/threads/antiinzhekt-otlovit-smenu-konteksta.32315/#post-392808 > Я не понимаю твой оркский язык. Ты же новорег(> Сообщения: 5), почитай тут некоторое время, прежде чем что либо утверждать.
Короче с тобой всё ясно, ты из мухи слона делаешь. Речь вообще не об атаках была и не митигейшенах. Ты как будто сам с собой разговариваешь теряя суть разговора. Новорег не новорег. Ничего не меняет. Вообще будь хоть трастовый аккаунт. Рега 2017 года какой новорег? лол. Не важно, что было ноль сообщений.
fontbyself, Не волнует никого у кого ты акк взял, сразу видно что ты тут растерялся не понимая привычный всем диалог. Ты пришёл сюда и какой то бред затираешь, чувак ты ошибся ресурсом.
Аккаунт мой, не чей другой. Ага конечно. Я вижу кто тут бред несет. Отмазывайся давай. Просто ты не вывозишь . Слабый ты .
fontbyself, Тоесть ты не можешь техническое обсуждение продолжать, сразу слив и негатив. Тебя забанят.