Эксплуатация переполнения буфера в стеке с помощью перезаписи адреса возврата

Тема в разделе "WASM.BEGINNERS", создана пользователем Shemp, 2 апр 2018.

  1. yos196

    yos196 New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2017
    Сообщения:
    17
    Золотые времена PortableExecutable конца 90х начала 0х прошли... Если хочется чистого и нежного внедрения исполняемого кода, нужно смотреть в рыло исполняющих "байткод" ВМ, так или иначе время VLIW наступает... Но это все просто ИМХО...
     
  2. Shemp

    Shemp New Member

    Публикаций:
    0
    Регистрация:
    11 мар 2018
    Сообщения:
    9
    Да, ты был прав, в настройках ВМ пункт PAE/NX был отключен.
    У меня вопрос теперь в другом - вот включена аппаратная поддержка NX-бита. Проверил на уровне операционной системы, по умолчанию стоит "Включить DEP только для основных программ и служб Windows". Пробую эксплойт - все работает, предотвращение выполнения шелл-кода в памяти отсутствует. Но если поставить "Включить DEP для всех программ и служб, кроме выбранных ниже", то теперь уже он не даст выполнить инструкции в памяти. Почему по умолчанию во всех WIndows стоит пункт ТОЛЬКО для основных программ и служб, а не для всех? В чем тогда смысл от DEP, если, предположим, злоумышленник нашел уязвимость переполнения буфера в сторонней программе?

    Под "дизайнерскими бэкдорами" ты подразумеваешь возврат в вызывающую функцию после выполнения шелл-кода, дабы не положить процесс?
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    инжект обычно опасен для сетевых прог, поэтому их прикрывают депом. А если ты запустил оффлайновую дырявку, кто её инжектить будет, окромя тебя? Ещё один момент == еть написание особо скоростных кодов и для них нужен деп-офф стек, ибо такие коды морфят себя в озу.
    обычно дырки в кодах интересны только для дидосов, пч процесс просто тупо вылетает в сегфолт. чтобы чрез дырень можно было качественно зомбировать процесс == её (сию дырень) надо хорошо прописать, проведя все необходимые прогонки. Лучшим лекарством от такого безобразия стало бы открытие всех кодов. :)
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Всё в профайл упирается. Софтверная реализация защиты возможна, но из за необходимости реалтайма она довольно сложна, точнее проблемна. Пройдёт время и разрабы железа обратят внимание на данную задачу. Учитывая косяки с конвеером(раскрытие ядерной инфы рк атакой inf. disclosure), разрабы непременно обратят внимание на это. Тем более что виртуализация заложена в железо, анклавы в разработке. При софт реализации защиты падение профайла в допустимом диапазоне, такое же как и при защите от ml/sp. Это видимо переломный момент, архитектура изменится, учитывая старые косяки.
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Indy_, в том-то и прикол, что дырки слишком хорошо работают, чтобы быть случайными. у выни 10 их стало заметно меньше, ибо троянку они возвели в ранг лицухи. :)