• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Бинарные уязвимости.

.Method

Grey Team
17.12.2018
255
63
BIT
0
Вопрос насчёт переполнение стэка и выполнение шеллкода.

1.Фаззинг, чтобы узнать размер стэка и получить адрес.
2.Далее узнаем смещение(offset) до этого адреса.
3.Проверяем - смещение + наши знаки.
И смотрим, контролируем ли eip.
4.Далее берём список bad characters и отправляем их.
Смотрим, после каких символов произошел обрыв.
Убираем их из списка и так до тех пор, пока не определим все плохие байты.

К примеру:
buff += "A" * 2000 + ret(найденный нами адрес) + 16 * "\x90" + нагрузка + "C"(Найденный размер - 2000 - 4 - нагрузка)

Зачем в этой цепочке ret?
Который ищут - JMP ESP.
Типо прыжок на вверх стэка и потом переход по адресу, который мы туда положили?
Адрес должен быть исполняемым и без aslr, таковы критерии или я не так все понимаю?

И зачем потом Nop's , если можно сразу нагрузку положить и в конце дополнять всё C ?
 

Pernat1y

Red Team
05.04.2018
1 443
135
BIT
0
Зачем в этой цепочке ret?
Который ищут - JMP ESP.
Типо прыжок на вверх стэка и потом переход по адресу, который мы туда положили?
В ret/retn содержится адрес, который перезапишет EIP. Туда дальше пойдёт выполнение программы.

Адрес должен быть исполняемым и без aslr, таковы критерии или я не так все понимаю?
Да. Без ASLR/DEP и прочих.


И зачем потом Nop's , если можно сразу нагрузку положить и в конце дополнять всё C ?
Это называется nop sled (или slide). Просто чтобы выделить место под шеллкод.

PS. Рекомендую
 

.Method

Grey Team
17.12.2018
255
63
BIT
0
В ret/retn содержится адрес, который перезапишет EIP. Туда дальше пойдёт выполнение программы.


Да. Без ASLR/DEP и прочих.



Это называется nop sled (или slide). Просто чтобы выделить место под шеллкод.

PS. Рекомендую
Порекомендуешь, что почитать или посмотреть?
Для общего понимания, как и что происходит.
Кроме уже рекомендованных.
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!