Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro, Rio (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Обход PatchGuard'a
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 17:54
· Личное сообщение · #1

Как поставить хук на sysenter(syscall) безпалева пг? Два простых действия, хард.бряк по команде на IA32_SYSENTER_EIP. Плюс бряк на чтение первых 8 или 16 байт хэндлера инт1, оригинальный хэндлер сплайсим. при проверке начала хэндлера возвращаем оригинальные значения. Итого нужны 2(3) из 4-х dr'ов. Критикуйте)



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 03 июня 2011 18:18
· Личное сообщение · #2

spinz пишет:
Критикуйте)

Бряки не сработают потому что код PatchGuard'a очищает отладочные регистры перед проверкой и восстанавливает после. Если хочется сделать универсально - делайте через VT-X.

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 18:34
· Личное сообщение · #3

Кто мешает защитить др'ы по GD?



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 18:51
· Личное сообщение · #4

суперотладчег, vt-x, все чрез сетевку... что-то мне это напоминает... )))
Реально вт-х не роляет, если он задизаблен в биосе. Можно разрешить его через прямую запись в cmos, но надо занть нужные биты. я этот путь откинул.



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 03 июня 2011 19:09
· Личное сообщение · #5

spinz пишет:
Кто мешает защитить др'ы по GD?

Пробуйте. Какой смысл спорить если вы даже не пробовали.

spinz пишет:
Реально вт-х не роляет, если он задизаблен в биосе. Можно разрешить его через прямую запись в cmos, но надо занть нужные биты. я этот путь откинул.

Зачем такие сложности, попросите пользователя включить VT-X при установке вашей программы.

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 19:20
· Личное сообщение · #6

Пусть пробуют другие, я концепт вбросил ))
Просить юзера некошерно, вопросы могут возникнуть. Плюсом вт-х может уже заюзать кто-то нехороший
типо вари.)




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 03 июня 2011 20:00
· Личное сообщение · #7

А др для самотрассировки типа никто не может заюзать, что ли? Ну пусть пробуют, пусть, только кому это надо то?



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 20:15
· Личное сообщение · #8

ага, первое правильное возражение. Теоретически конечно можно попробовать эмулить чужие хардварные брекпойнты через #PF, однако при правильной расстановке бряков со стороны защиты это гиблое занятие.
я могу еще штук 5 привести вариантов, которые обламывают упомянутый подход. типа переноса идт, создания алиаса для физ.адреса,записи в первые байты хэндлера и пр.
речь о другом. если говорить о руткитах - многие юзеры пользуют софт,который юзает др'ы?



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 03 июня 2011 20:25
· Личное сообщение · #9

Если возражать в контексте того что PatchGuard может научиться делать после очередного апдейта (а не умеет делать сейчас), то загрузка своей idt на время проверки обломает подобный метод даже без всякой самотрассировки.
Если говорить о практической применимости, то проще содрать код отключения PatchGuard с uninformed.org чем изобретать что-то свое, что закроют в следующем обновлении PatchGuard.
Скажу сразу - я PatchGuard не отключал, как-то не было такой надобности, и не вкурсе что сработает а что нет. Кому надо тот пусть и пробует.

-----
PGP key <0x1B6A24550F33E44A>


| Сообщение посчитали полезным: Abraham

Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 20:41
· Личное сообщение · #10

Давайте говорить от том, что пг умеет сейчас. В теории он может научиться многому, в т.ч. и вт-х, но седня не его день.
йо, мну плакоть или смеяться? хак от униформы универсален ?
ЗЫ.
родилась мысля. запретить lidt банальным переводом ядра в ринг1. к ядерной памяти ринг1 доступ имеет, к привилегированным командам нет. i/o можно эмулить.
мысль моментальная, и видимо нерабочая. но подумать можно.
самая засада - любой код может определить CPL




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 03 июня 2011 21:43
· Личное сообщение · #11

Погляжу я, как оно будет работать на ринг1, когда в винде в ядре туча проверок типа test cs,3; j(n)z xxx для определения, кернелмод или юзермод.
Что касается др-некоторые протекторы делают самотрассировку через др. Весь накрытый им софт отвалится после таких деяний.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 03 июня 2011 22:12
· Личное сообщение · #12

туча проверок не страшно. test cs,3 даст один рез-т и при р0, и при р1 )))
насчет самотрассировки нек-рых протекторов - лехко можно эмулить, если брейк по команде, либо TF
Брейк по данным - жопа, если нехватает др'ов - надо что-то мутить через #PF. А тут наступает глобальный геморрой. Покрошить страницы на 4кб еще можно, но когда брейк по данным лежит в одной странице с хэндлером инт1 - тут надо основательно поизъебыв..ся




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 03 июня 2011 22:36
· Личное сообщение · #13

С протами не всё так просто, там и проверок целостности хватает, чтобы бряков не наставили, и VirtualProtect, чтобы рубить биты страниц для фолтов. И я не вижу тут нормального способа мулить самотрассировку на ДР.
test cs,3 даст один рез-т и при р0, и при р1
Есть сомнения, что test 0,3 и test 1,3 одинаковым образом выставят ZF.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 04 июня 2011 05:10
· Личное сообщение · #14

Archer пишет:
Есть сомнения, что test 0,3 и test 1,3 одинаковым образом выставят ZF.

Иправда, затупил. эпик фэйл... )



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 17 июня 2013 21:56
· Личное сообщение · #15

Продолжу тему, давно я к вам не заглядывал. Недавно на китайских форумах было упоминание о новой технике. При вызове кернела делаются хитрые манипуляции с дескрипторами и каталогами страниц. В результате кернел выполняется в ринг3, при этом CS.CPL = 0 (такие дела, да-да, не удивляйтесь, кетайцы суки хитрые). Но при этом кернел из-за правильной настройки каталогов страниц не имеет доступа к чтению IDT и GDT(там u/s=0), сохраняя доступ к всей ядерной памяти. Таким образом, кернел не может проверить целостность IDT и GDT, и не может выполнить привилегированные инструкции, которые, понятно, эмулируются. Как то так. Есть у нас один маркетолог, говорит что тема теоретически рабочая. Имхо, лажовка это. На IOPL можно поймать, хотя пока неясно как




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 17 июня 2013 22:16
· Личное сообщение · #16

Если CS ядерный, что тогда подразумевается под тем, что он работает в ринг3? Ну и да, эмулить привилегированные несколько геморно, гипервизор нарисовать сравнимо, по-моему, и меньше шанс, что отвалится.

| Сообщение посчитали полезным: Abraham

Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 17 июня 2013 22:49
· Личное сообщение · #17

Стоп-стоп. CS ядерный - лишь селектор. В шадоу дескриптора DPL=3.Таким нехитрым образом код реально работает в ринг3, но любые проверки CS.CPL показывают, что CPL = 0. Не спрашивайте меня как это сделали наши восточные братья, но факт имеет быть



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 17 июня 2013 23:34
· Личное сообщение · #18

Нас не подвела интуиция. Здесь мало постов, касающихся данной темы. Doctor_Ice, один из лучших, очень просил не покидать его. И МЫ его не забудем. Мы вспомним, он был очень болен. Мы помним, самые веселые проститутки всегда ждали его. Троекратное УРА, товарищи!!!




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 18 июня 2013 09:56
· Личное сообщение · #19

Во-первых, я несколько не улавливаю, каким образом эта братия рассинхронизировала CS.CPL и DPL из шадова. Ибо CS.CPL обновляется из DPL при каждой перезагрузке CS. Как говорится, пруф или не было.
Во-вторых, не совсем понятно, откуда сохраняется доступ к всей ядерной памяти, коль реальный CPL там юзермодный. Если они шарят весь кернел для ринг3, в топку такой обход.
И в-третьих, я погляжу, что на это действо скажет SMEP в 8 винде (да-да, он не совсем для этого, но всё же).



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 18 июня 2013 10:41
· Личное сообщение · #20

1) SMEP здесь не при делах. Ядерный код фактически выполняется с ринг3 привилегиями. Просто в селекторе CS.CPL = 0
2)Доступ к памяти сохраняется, действительно. При передаче управления ядру, эксепшн,инт, либо sysenter, это ловится и загружается новый CR3, где для кернельных страниц u/s=1. При возврате обратно в юзермод кернельные страницы опять становятся привилегированными
3)Рассинхронизация, как я понял, сделана через SMM. Процу пофиг что в дескрипторе, а что в селекторе, он тупо грузит при возврате из SMM в шадов и селектор значения из SMRAM



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 18 июня 2013 11:03 · Поправил: connect6
· Личное сообщение · #21

Если через SMM, то тогда все заточено под определенного (модифицированного) биоса, материнку и пару моделей процов. Многое можно сделать через SMM, но совместимость клонит к нулю, и такое отностся к firmware, а не к software.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 18 июня 2013 12:35
· Личное сообщение · #22

это не есть тру. Истена в том, что узкоглазые гоминоиды изобрели способ вломиться в SMM, не затачиваясь на мать. Ничего общего со старым, прикрытым, способом cache poisoning




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 18 июня 2013 18:04
· Личное сообщение · #23

IDP.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 18 июня 2013 19:16
· Личное сообщение · #24

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




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 18 июня 2013 19:28
· Личное сообщение · #25

spinz
Тут дето справка была, ёба.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 18 июня 2013 20:17
· Личное сообщение · #26

Не исключено, только мне весьма лениво на каждом форуме искать местные фичи. Если есть сказать по существу - приобщайся к элите, если нет - изволь убраться нах с пляжа и не отвлекать внимание адептов, готовых познать сущность мира.



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 18 июня 2013 20:43
· Личное сообщение · #27

spinz пишет:
это не есть тру. Истена в том, что узкоглазые гоминоиды изобрели способ вломиться в SMM, не затачиваясь на мать. Ничего общего со старым, прикрытым, способом cache poisoning

Без доказательств верить в этом не стоит...



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 18 июня 2013 21:23
· Личное сообщение · #28

Не надо принимать на веру. Я не предлагаю обсуждать возможно ли это в принципе. Видимо возможно, хотя не исключим и фейк. Засада в том, что я не понимаю как это ловить в принципе, если принципс все же работает




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 20 июня 2013 02:02 · Поправил: Dr0p
· Личное сообщение · #29

spinz
> мне весьма лениво на каждом форуме искать местные фичи.

Сия метода известна со вримён виртека(2008 год) и является единственным годным методом сокрытия перехватов(вредоносный патч уже давно не приемлим), вдобавок был не так давно глобальный апдейт мотора(тока x86, 64 не поддерживает LDT, посему нужен полный дизасм, а пилить его есно не стоит). Если вы не знакомы с сим, то вы отстали и совсем не в теме. Да и справку искать не нужно, в шапке есть FAQ. Короче мозги у вас разжижены, хотя есчо не факт что ты не бот.

> я не понимаю как это ловить в принципе, если принципс все же работает
Это были не опята ?

О чём вы говорите не понятно. SMM - безполезная хуйня.



Ранг: 50.0 (постоянный), 31thx
Активность: 0.090.1
Статус: Участник

Создано: 21 июня 2013 01:42
· Личное сообщение · #30

клеркус, это снова ты? продолжай, от таких клоунов у нас возникает легкая эрекция

| Сообщение посчитали полезным: DenCoder
. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› Обход PatchGuard'a
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати