запуск кода или длл на исполнение без CreateRemoteThread

Тема в разделе "WASM.BEGINNERS", создана пользователем tiranosaur, 5 фев 2012.

  1. tiranosaur

    tiranosaur New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2011
    Сообщения:
    32
    интересует процесс запуска кода(инжектируемого) на исполнение с минимальным использованием апи функций. как я сейчас делаю:
    -вычисляю длину внедряемого кода
    -ищу в процессе массив из 0 или int3 или nop
    -WriteProcessMemory
    -CreateRemoteThread
    чем можно заменить эти апи? посоветуйте пжл
     
  2. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    Корректно поставленный вопрос является решением.
     
  3. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    tiranosaur
    1) Вместо поиска 0 или int3 или nop можно сделать VirtualAllocEx.
    2) Заменить апи можно на использование соответствующих сервисов либо через ntdll, либо напрямую через sysenter.
     
  4. tiranosaur

    tiranosaur New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2011
    Сообщения:
    32
    qwe8013 я VirtualAllocEx откинул
    а через sysenter палитсо? или через натив?
    Меня интересуют наименее обнаруживаемые способы
     
  5. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    Как вариант:
    1. ищешь в удаленном процессе сочетание байт 0x41 0x00
    2. создаешь где-нибудь в PATH файл с именем "A" и записываешь в него инжектируемую длл
    3. вызываешь LoadLibraryA в удаленном процессе, передав в качестве параметра адрес той самой строки из п.1

    edit: плохо прочитал название топика, ну да ладно - палевных апи функций уже используется в 2 раза меньше)
     
  6. tiranosaur

    tiranosaur New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2011
    Сообщения:
    32
    scf
    хм. принцип тот же( как и в первом посте. проверка рев и длл палитсо. создание потока- палимся(( замкнутый круг(
     
  7. tiranosaur

    tiranosaur New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2011
    Сообщения:
    32
    Гы, можно и без создания потока вроде))) завтра попробую) осталось WriteProcessMemory обойти. идеи или наработки есть у кого нить? поделитесь
     
  8. sender0

    sender0 New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2011
    Сообщения:
    25
    CreateRemoteThread можно заменить на usermode apc всем потокам либо на хук(iat например) в ап процесса
    WriteProcessMemory меняется на меппинг секции
     
  9. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    Легально никак. Фаеры все такие пути отслеживают. В смысле запись по произвольным адресам и изменение контекстов. Нужно в обход фильтров это делать, кам нибудь хитрым образом(например через рк атаки на сторожевых страницах), понизив кпл, используя уязвимость в интерфейсе(окна, лпк етц), последнее локально для приложения.
     
  10. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    АРС,маппинг секции, перезапись адресов возврата в стеке,смена контекста потока, посылка сообщений окну.
    Нету палевных или не очень способов, все зависит что за защита и что мониторит.
    Есть просто вещи которые делает система или приложения между собой, и это можно использовать.
     
  11. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    totimoud
    понизив кпл
    всмысле CPL(ring 0/3) ?

    Можешь привести наглядный пример кода в котором возможно "рк атаки на сторожевых страницах" ?
     
  12. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    XshStasX
    Я уже приводил. Помещаем аргументы сервиса в буфер с |PAGE_GUARD. В фильтре фозникает STATUS_GUARD_PAGE_VIOLATION и он повторно дёргает сервис. Далее он успешно завершается, так как пейдж уже не гвард. Заюзайте поиск по %GUARD_PAGE.
     
  13. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Еще можно перезаписать начало часто вызываемой апи.
     
  14. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    K10
    Нельзя. Патч не годно - детект. Выпилите идею патча со своего разума.
     
  15. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    totimoud
    Вопрос только кто его будет детектить?
     
  16. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    K10
    Мало утилит чтоле. Гмер, рку, авез, виньчек етц. Утилит больше чем софта.
     
  17. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    totimoud
    99.9% пользователей даже таких слов не знают.
    С практической (не академической) точки зрения патчи вполне себя оправдывают.
     
  18. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    K10
    Патч: разрушение целостности кодосекций модулей. Это в принципе детектить должны все аверы(я не тестил, ибо рассово не могу сие юзать). Тоесть чем и как они это детектят я не знаю и мне это не интересно. Но в любом случае это уг и руки следует отпилить. Патчгвард вам в пример.
     
  19. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    totimoud
    ПГ работает только в р0, или я ошибаюсь?
     
  20. totimoud

    totimoud New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2012
    Сообщения:
    78
    K10
    Вы вообще во всём ошибаетесь. Я вас сказал как должно быть.