Avanguard: The Win32 Anti-Intrusion Library

Тема в разделе "CHEATS", создана пользователем HoShiMin, 17 мар 2019.

Метки:
  1. Indy_

    Indy_ Well-Known Member

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

    Тогда получается от инжекта в потоки не защищается.
     
  2. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    А что будет, если поставить проверку стактрейса в фильтре ZwAlloc? Возможно, после манипуляций со стеком там будет что-то, компрометирующее твой обход.
    --- Сообщение объединено, 31 май 2019 ---
    Хотя да, раз ты сохраняешь контекст в стек, при попытке снять трейс получим мусор и обход спалится. Но это просадит профайл на JIT'е, нежелательно.
     
  3. Indy_

    Indy_ Well-Known Member

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

    Это получается защита от OP-инжектов, в простейших случаях проверяют что вызов через call, так например EMET делал. Но это сомнительные способы, цепочку можно любую собрать.
    --- Сообщение объединено, 1 июн 2019 ---
    > Хотя да, раз ты сохраняешь контекст в стек, при попытке снять трейс получим мусор и обход спалится.

    Какой именно мусор ?
    Это 8 регистров GRP с произвольным значение, произвольная часть стека содержит произвольные данные.

    Стектрейс на 86 через стековые фреймы выполняется, ebp не изменна, а можно и фейковых фреймов наделать.

    У emet двух типов проверки есть - caller и simexecflow". В первом случае проверяется инструкция ниже адреса возврата на call, причём адрес ветви вычисляется, те call [r + n] -> hook: [r + n] = @hook. Если сформировать такой корректный вызов то детекта нет.
    Второго типа проверка это фактически эмуляция кода что бы получить следующий адрес возврата и выполнить проверку caller".
     
    q2e74 нравится это.
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.787
    Какое такое письмо ?
    И причём тут гугл со своим мнением, его не спрашивали :popcorm1:
     
  5. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    Мне дропбокс несколько раз блочил аккаунт за выложенные в паблик дэльфовые эксешники даже без намёка на малварь, и потом ходи-доказывай, что не верблюд!
     
  6. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    948
    да это любой авер знает - если дельфя - значит школоговнокод, и чего там ожидать - тоже. даже ненадо напрягать вм для трассирования - темболее что бессмысленно, учитывая весь багаж рантайма.
     
    Indy_ нравится это.
  7. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    Ну зачем так категорично?
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.765
    воу-воу, а как же вб6?
     
  9. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    948
    задетектить дельфю - проще пареной репы - это точка входа, у плюсов, да и вообще у всех языков уровнем повыше асма тянется первым делом обычно библиотека времени исполнения, всякая там муть типа инициализации тлс, вызовов конструкторов статических объектов итд. а палятся такие образы зачастую без запуска, просто по сигнатуре и или атрибутам секций итд - по метаданным короче
    --- Сообщение объединено, 29 июн 2019 ---
    может питон ещё вспомним?
    --- Сообщение объединено, 30 июн 2019 ---
    кстати, касаемо питона - все в нём обьекты ресолвятся той же id функциеей - а есть объект - есть дело, и поехали. ну и кроме этого - он же на тёплом ламповом писан, и как говорил его создатель - это язык для тех, кто знает что делает, а не для долбоёбов, такие дела)
    --- Сообщение объединено, 30 июн 2019 ---
    ye
    ну если там чтото иное - то разбудите, как увидите
     
    Последнее редактирование: 30 июн 2019
  10. ar2r

    ar2r New Member

    Публикаций:
    0
    Регистрация:
    2 май 2017
    Сообщения:
    13
    не понимаю может, но каким макаром срабатывает ваш анти-инжект и в каких проектах он нужен ?
    Жаль на ++, собираю в колленкцию коды на Си, для изучения.
     
  11. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    Подробно можно почитать вот здесь: http://rubukkit.org/threads/c-17-avn2-pishem-zaschitu-vmeste-5-zaschita-ot-ugona-konteksta.162837/
    В шапке ссылочки на мини-статейки по тому, как всё это работает

    Как легко догадаться, в проектах, где нужно защититься от инжекта стороннего кода - например, в античитах
     
    ar2r нравится это.
  12. ar2r

    ar2r New Member

    Публикаций:
    0
    Регистрация:
    2 май 2017
    Сообщения:
    13
    Спасибо большое. Хочу кодить на СИ и это будет мое второе пришествие на этот форум и попытка стать СИ-шником.
    Посоветуйте проекты с открытым кодом на этом языке для изучения, где что-то понятно будет новичку.
     
  13. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    Могу посоветовать только один проект: твой собственный. Тот, который ты сам создашь и который будешь разрабатывать. В том, чтобы читать чужие исходники, смысл околонулевой. Научиться писать ты можешь только одним способом - если начнёшь писать сам.
     
    ar2r нравится это.
  14. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Так у ТСа анти-инжект, а по ссылке ни одного инжекта нет. Интересно посмотреть презентацию к этому репозиторию, может там чего-то прояснят и новое расскажут, потому что контент мягко говоря для новичков. Каждый маломальский античит должен эти детские способы блокировать.
     
    Последнее редактирование модератором: 17 июл 2019
  15. Indy_

    Indy_ Well-Known Member

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

    Вот тот семпл.

    ij.png

    Можно вообще просто сделать. Остановить потоки, выделить память, установить контекст и ресумить один поток. При получении управления использовать синхро безопасный механизм, что бы после возврата управления далее его вновь получить без деадлоков. Тогда можно локально вызывать что угодно без палева.
     

    Вложения:

    • avn.7z
      Размер файла:
      3,4 КБ
      Просмотров:
      203
    HoShiMin и hiddy нравится это.
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.787
    Переделал немного иначе. SetContext -> MapViewOfSection -> CreateThread. Тогда в новом потоке можно попробовать безопасно загрузить что нибудь. На скрине поток это отладчика.

    ij2.png
    --- Сообщение объединено, 17 фев 2020 ---
    Инжект длл-ки тоже проходит.

    ij3.png
    --- Сообщение объединено, 17 фев 2020 ---
    HoShiMin,

    Как то ты плохо загрузку блокируешь, раз успешно загружается.. из памяти даже :sarcastic:
     

    Вложения:

    • Ij2.7z
      Размер файла:
      399,2 КБ
      Просмотров:
      213
    • Ij3.7z
      Размер файла:
      10,3 КБ
      Просмотров:
      204
  17. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    На каждую хитро закрученную жопу найдётся хер с винтом. Манипуляции с контекстом - вещь недетектируемая (да и у меня смена контекста детектится только постфактум, если дёрнули NtContinue для возврата).
    Здесь, как ни крути, для защиты нужны твои визоры ¯\_(ツ)_/¯
     
  18. Indy_

    Indy_ Well-Known Member

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

    Это если загрузить с диска.

    ij4.png
     

    Вложения:

    • ij4.7z
      Размер файла:
      5,8 КБ
      Просмотров:
      207
  19. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    939
    Адрес:
    Россия, Нижний Новгород
    А вот почему из неизвестной памяти либа грузится - загадка. По идее, проверка трейса должна спалить твой шелл
     
  20. Indy_

    Indy_ Well-Known Member

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

    Почему же не известной, она ведь выделилась в твоём потоке(доверенный поток отобразил область).
    --- Сообщение объединено, 17 фев 2020 ---
    > По идее, проверка трейса должна спалить твой шелл

    Кстате да, нужно на всякий случай фрейм стековый убрать, что бы не палилось через адреса возврата.
     
    sn0w нравится это.