Packer, Не срабатывает SEH у оригинала

Тема в разделе "WASM.BEGINNERS", создана пользователем cryptoexp, 6 сен 2017.

  1. cryptoexp

    cryptoexp New Member

    Публикаций:
    0
    Регистрация:
    6 сен 2017
    Сообщения:
    19
    Пишу пакер. Запускаю ехе в памяти. У пакованного оригинала почему то не срабатывает SEH. Хотя несколько раз все проверил: на OEP стек правильный. В отладчике цепочка SEH тоже верная. Может ктото посмотреть?

    В архиве 2 файла:
    Оригинал: test.exe - болванка для проверки с месседжбоксом при срабатывании SEH
    файл который запускает в памяти оригинал: pack_test.exe - на OEP поставил INT 3
     

    Вложения:

    • bin.rar
      Размер файла:
      29,9 КБ
      Просмотров:
      245
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    cryptoexp,

    Вы используете совершенно иной образ, заменяя им исходный. При этом обрабатывается(RtlInsertInvertedFunctionTable()) на этапе инициализации загрузчика директория конфигурации, в частности присутствует таблица исключений(SEHandlerTable). Когда вы изменяете образ, директория обнуляется, но при обработке исключений используется оригинальная инфа сохранённая на стартап этапе. По этой причине сех-вектор не проходит валидацию и обработка запрещается. Как это решено - элементарно, трассируем диспетчер:

    RtlDispatchExcepton -> RtlIsValidHandler -> RtlLookupFunctionTable().
     
    Последнее редактирование: 6 сен 2017
    sl0n и cryptoexp нравится это.
  3. cryptoexp

    cryptoexp New Member

    Публикаций:
    0
    Регистрация:
    6 сен 2017
    Сообщения:
    19
    хм.. кто бы мог подумать) Вручную затираю LoadConfig - и работает!
    можно как то избавится от зависимости таблицы исключений старого образа ? ну если не убирать из РЕ LoadConfig.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    cryptoexp,

    Так загрузка из памяти не реализуется. Есть два пути, два способа реализации. Работа в чужём процессе, это обычно созданный остановленным и загрузка в текущем процессе без зависимости от исходного модуля. В любом ином случае механизм загрузки не пригоден, так возникает множество корреляций. Ваш метод не пригоден для использования, это годится лишь для повышения скилла, чего в данном случае не наблюдается. К примеру у вас в модуле сишный ртл обработки исключений, если пройдёт системная обработка, что можно разобрать, то ошибки в ртл никто разбирать не будет, так как это г-код от компиля.
     
    cryptoexp нравится это.
  5. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Общайтесь с Инди, он Мастер, он много чего знает и всегда делится своими знаниями.
     
  6. cryptoexp

    cryptoexp New Member

    Публикаций:
    0
    Регистрация:
    6 сен 2017
    Сообщения:
    19
    Indy_, ну я обрабатываю это в своем стабе. Например снимаю SEH который поставил рантайм и освобождаю (FLS)индекс локального хранилища. Вообщем меня все устраивает кроме некорректной обработки SEH изза LoadConfig. Не выйдет избавится от его зависимости?
     
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    cryptoexp,

    Какие есчо зависимости, если у вас корреляция модулей и вы не способны найти ошибку. Может стоит начать с классики, сортировки методом пузырька" и прочего примитива, а не лезть туда, куда не позволяет скилл ?
     
  8. cryptoexp

    cryptoexp New Member

    Публикаций:
    0
    Регистрация:
    6 сен 2017
    Сообщения:
    19
    Если бы позволял скил я бы наверное не задавал вопрос на форуме. Спасибо за ответ!
    p.s ушел сортировать пузярьками :cools:
     
  9. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Инди, Вы обидели новожила, Вы что делаете?:hunter:
     
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    yashechka,

    Конвеерная сборка крипторов это зло. В данном случае важен конечный результат, путь(отладка, разработка) тс не имеет значения. Пусть билдят крипторы на спец ресурсах, не нужно этого дерьма тут. Дальнейшая последовательность вопросов известна - проблемы защиты, как это обойти. А затем и с ав проблемы. И решения их нужны не для полноценного решения, а примитивного вредоноса.
     
  11. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    стопэ инде вы же VX (заметь большими буквами), а чем не устраивает рантайм перекомпил объясните? например мой криптон 100 лет в обед, но разошелся по рукам и переделок миллион. мож сорцы ксенона выложу, вы так этого хотели, токо не сорцев а семпл. кстати зачем и нафига? вы перешли на светлую сторону а не дарк? объясните, почему нет от вас последнее время про дрова, как раньше? мож напишите чтото внятное для школолы чтоль, про таргеты из колбэков в шадове или мож про SMB и пайпы, которые херь, сорян инде, но я как и вы редко но выдаю результаты в паблик
     
    Последнее редактирование: 9 сен 2017
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    RET,

    Крипторы не имеют к виксам никакого отношения. Это примитивные реализации по определению, не имеющие в своей основе никаких техник и архитектуры. Это примитив, грязь и блэк. Внесение изменений в структуры(pe) не автоматикой, без понимания общих принципов. Это заколхозить структуру, что бы пропал детект ав.

    Драйвера и прочие низкоуровневые вещи себя исчерпали, учитывая уровень техник. У меня например сейчас совершенно иные задачи, это сложные защитные механизмы, я по немного пишу статью по защите; вы есчо думаете что возможен инжект(OP-инжект - ROP etc тоже) в приложение - скоро это измениться на уровне понятия :yes:
    Есть очень годная публикация по данной теме если интересно https://yadi.sk/i/eTQ0VhN23MjSrF
     
    Последнее редактирование: 9 сен 2017
  13. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    спс почитаю
     
  14. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    блин, Инде, ну опять 25 )) указатели рандомизированные aslr и вся хрень, норм документ видимо для школоло - не ко мне, ну все это блаж и ерунда, как это можно, сорри со всем уважухами; применить в норм проекте прриносящем лавэ, кроме как не в АВ конторе ? ;)
    и кодес и профит есть?
     
  15. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    RET,

    Какой есчо aslr, курите матчасть до просветления.

    Механизм такой - всё ап не исполняемо, визор реализует глобальный анклав. В той статье описано понятие наследования указателей(pointer flow graph). Через визор отслеживаються потоки данных. Понятие DUI - внесение данных в PFG это дефейн OP. Если бы вы понимали что это всё собрать воедино, то апп становится не уязвимым фундаментально и это можно реализовать в железе. Про костыли типо cet, aslr etc никто и не вспоминал.)

    То что вас заклинило на ll вещах - это очевидно и только ваша проблема.
     
  16. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    да а POC где? токо слова?
    ADD как у вас ранее комп не тянул кроме хрюхи, щас у меня проблема поставить х64, имхо памяти мало, и не надо Вам уважаемый говорить кого и куда заклинило, давайте POC а не теорию голимую и бесполезную
     
  17. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Вы подписали с АВ конторой договор (хорошо что не с органами), как слонево местное? Я вас не узнаю вообще.
    Дык уберите VX в подписи, напишите там AVX
     
  18. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    RET,

    > Дык уберите VX в подписи, напишите там AVX

    Не барыгам это решать мой друг. Вы к виксам никакого отношения не имеете, то что вы множество людей кинули на крипт, это не значит что вы в теме".
     
  19. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Indy_, о как заговорили :))
     
  20. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    А вот Рет куча сурса показал, разве он ничего не сделал для викс сцены, или он только комерс-виксом занимается? По его постам я понял, что он имеет отношение к Потао.