1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Обход Titanhide

Тема в разделе "WASM.BEGINNERS", создана пользователем galenkane, 26 янв 2020.

  1. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    Привет

    Можно ли из usermode восстановить все хукнутые функции Titanhide?
     
  2. Indy_

    Indy_ Well-Known Member

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

    Зачем тебе эти примитивные плаги вообще нужны, не понимаю.

    > Можно ли из usermode восстановить все хукнутые функции Titanhide?

    Конечно, переотобразить образ(точнее кодовую секцию); все патчи будут сняты.

    Это же не защита, это примитивные фильтры для фикса самых элементарных методов обнаружения отладки.

    Атаку можно провести на защиту, но это ведь не защита, это плаг к отладчику. Он вываливает в синь всю систему при простейшем вызове(обнули селектор и вызови ловушку), школьниками написано без понятия :bad:

    Зачем тебе это ?
    --- Сообщение объединено, 27 янв 2020 ---
    Да и небольшой нюанс, если ты анмапишь нтдлл на 86 и при этом релоцируешь нэйтив, дернув ядерный сервис(через sysenter) возврат произойдёт в область с N/A. Это приведёт к ловушке, которая в той же секции, которой нет; произойдёт серия фаултов до исчерпания стека, затем процесс будет прибит ядром.
     
    Последнее редактирование: 27 янв 2020
  3. sn0w

    sn0w Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    780
    тут скорее вопрос - как задизармить титанхайд, если я прально понял.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.240
    Нет, ты просто бред пишешь. Что задизасмить, плаг не накрыт протектором, его любой школьник идой может глянуть.
     
  5. sn0w

    sn0w Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    780
    задизармить (disarm)

    товарисч, внимательнее плз :)
    кроме того - плаг сей на гите лежит.
     
    Последнее редактирование: 27 янв 2020
  6. Indy_

    Indy_ Well-Known Member

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

    > задизармить (disarm)

    А что это значит ?
     
  7. sn0w

    sn0w Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    780
    Indy_
    создать условия, при которых тот или иной инструмент перестал бы выполнять свои непосредственные задачи в полной мере или частично, и при этом не мог бы путём самопроверок обнаружить нарушений своей функциональности извне.
     
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    4.984
    sn0w, ещё короче == разоружить :)
     
  9. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    разоружить не надо, просто навсего интересно как его обойти.

    То есть чтобы апп знало, когда его атакуют
     
  10. Indy_

    Indy_ Well-Known Member

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

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

    В идеале атака должна приводить к получению управления, после передачи управления в атакуемый обьект управление получает полезная нагрузка. Но это же не тот случай, это примитивный кривой юзер сервисный фильтр. Он не работает удалённо, как отладчик, а загружается в процесс, примитивно там патчит сервисные шлюзы, отладчик от него изолирован. Короче вы каким то задротством занимаетесь.
     
  11. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    Это как в детстве с игрушками
     
  12. Indy_

    Indy_ Well-Known Member

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

    Это ясно, посмотри мой семпл где все ядерные плаги вываливают систему в синь парой строк. Их пишут копипастой, рипнул-сбилдил и готово. А если атака на исходный фильтр то падает всё, вся пачка плагов.
     
  13. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    пока ваши семплы не потяну, я то нуб нубом. где можно про рипы почитать?
     
  14. Indy_

    Indy_ Well-Known Member

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

    Всё очень просто, выделяй буфер в одном потоке, освобождай его в другом. Это асинхронная атака на ядерный фильтр(race condition). Реализуется в две строки :sarcastic:

    Вываливается в синь все три плага fengyue-extrem-titanhide
    --- Сообщение объединено, 2 фев 2020 ---
    Вот даже какие то крэшдампики откопал :russian:

    Код (Text):
    1. fengyue0+0x5140:
    2. b19f8140 c70000000000    mov     dword ptr [eax],0    ds:0023:00403000=????????
    3.  
    4. extrem+0xa03:
    5. f7beca03 c70000000000    mov     dword ptr [eax],0    ds:0023:00403000=????????
    6.  
    7. TitanHide+16d6
    8. b19e26d6 c70300000000    mov     dword ptr [ebx],0
    9.  
    10. TRAP_FRAME:  b1bd4cac -- (.trap 0xffffffffb1bd4cac)
    11. ErrCode = 00000002
    12. eax=00000000 ebx=00330000 ecx=00000008 edx=804e3477 esi=00000002 edi=000007a0
    13. eip=b19e26d6 esp=b1bd4d20 ebp=b1bd4d48 iopl=0         nv up ei ng nz ac po nc
    14. cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010292
    15. TitanHide+0x16d6:
    16. b19e26d6 c70300000000    mov     dword ptr [ebx],0    ds:0023:00330000=????????
     
    UbIvItS нравится это.
  15. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    вы это показывали на кл
    в общем буду думать как сделать такое на с++
    --- Сообщение объединено, 3 фев 2020 ---
    Indy_
    Код (Text):
    1. SyCrash proc C
    2.     push ds
    3.     mov ax,fs
    4.     mov ds,ax
    5.     mov ecx,ds:[TEB.Tib.StackLimit]
    6.     mov ecx,cs:[ecx][-4]
    7.     pop ds
    8.     ret
    9. SyCrash endp
    Этого кода будет достаточно чтобы положить три плага?
     
  16. Indy_

    Indy_ Well-Known Member

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

    > Этого кода будет достаточно чтобы положить три плага?

    А где ты там поток второй обнаружил. Я же говорю, нужно понимать как оно всё работает, а не рипать чужой код. Если не разбираться как это всё работает, то зачем тебе это нужно.. постов набить для каких то комерс целей ?
     
  17. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    что плохого в комерс целях не пойму, чисто на хлеб заработать прожками
    веду дискуссию ведь
     
  18. Indy_

    Indy_ Well-Known Member

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

    > что плохого в комерс целях не пойму

    А почему тогда решение не купил, то что есть не понимаешь и платить не хочешь. Холявы не будет, сам реверси.
     
  19. galenkane

    galenkane Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    140
    не видел, где продают, то есть платить изначально не хотел (стоп, чтО?)
     
  20. Indy_

    Indy_ Well-Known Member

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