запрет в приложенни remotethread, openprocess

Тема в разделе "WASM.WIN32", создана пользователем XshStasX, 23 янв 2010.

  1. TriX

    TriX Member

    Публикаций:
    0
    Регистрация:
    7 мар 2008
    Сообщения:
    68
    не грузятся на х64 неподписанные дрова.
     
  2. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Вы шутите? Дать права админа из программы которая запущена с правами юзера? Оригинально! А где вы возьмете эти права?
    Наверна есть такая ф-я (недокументирования) SeActivateAdminMode(BOOL bActivate) ))

    Не говорите ерунды, я вас оч. прошу. По моему задача была четко поставлена: Ring3 - без драйверов! Не ну можно конечно и с драйверами просто как их загрузить из под user mode не имея админских прав (без предварительной инсталяции в админке) не используя баги винды, которые могут работать в одних версиях винды а в других уже не прокатит.

    Я не придираюсь - просто вы все даете мнимые методы, типа можно защитить свой процесс от чтения\записи памяти.
    А я говорю что такого метода нет (вернее я пока его не знаю ))). Конечно если использовать драйвер... как сказали мелкомягкие: Из Ring0 и не такое возможно!

    Я же говорю нету драйвера! Это запуск драйвера из уже запущенного драйвера, а кто запустить первоначальный драйвер?


    Вопрос остается открытым! Где код или метод? Люди хотят посмотреть не сие чудо раз уж вы так утверждаете что он существует.
     
  3. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Верно!
    Можно конечно юзая бажку - которую скоро прикроют (если уже не прикрыли) - в общем тож не катит!
     
  4. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Говоря о такой защите из Ring0 я имею в виду:
    1) Может потереть что нить в PEB|TEB может еще к.н. структуру
    2) Перехват APC - чтобы недодать Ring0 инфу о нашем процессе
    3) Может что нить эмулировать (типа выдать свой процесс за System)
    4) Съесть всю память в своем процессе (предлагали выше такое решение...)

    Ну вот что то в этом роде! Пусть даже нужно будет подстраиваться под каждую версию винды!
    Будут еще к.н. шальные идеи?
     
  5. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    5) Может заинжектиться в csrss.exe процесс и подменять хендлы - это конечно лучше чем инжектиться во все процессы. Но по моему в Vista-Seven этот процесс защищен в юзер мод...
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    хе-хе... ну не берите в голову мои слова, это сложный момент... ring3 - так ring3...

    это опять же сложный момент, под вистой вы не заинжектитесь "вашими методами" в процесс с более высоким уровнем доверия...

     
  7. RET

    RET Well-Known Member

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

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Я бы резюмировал, что в конкретно поставленной задаче без ring0 никак.
     
  9. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Уже такое реализовано - могу сказать одно - работает! :)
     
  10. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Кстати у Kaspersky по-моему была статья по раскрутке стека для обнаружения посторонних потоков..
     
  11. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Кстати есть вроде рабочий метод снятия хуков с системы:

    Код (Text):
    1. DWORD StartAddr = 0x00004000;
    2. DWORD EndAddr = 0xF0000000;
    3.  
    4. for(; StartAddr < EndAddr; ++StartAddr )
    5. {
    6.     HHOOK tempHOOK = (HHOOK)StartAddr;
    7.     if(UnhookWindowsHookEx(tempHOOK))
    8.         printf("Здесь был хук... :)");
    9. }
    Нужно еще правда поиграться с адресами...

    Работает вроде везде.
    + Снимает все хуки с системы (ведь для этого не нужны привилегии админа)
    - После снятия всех хуков сама система работает не совсем стабильно (например в WindowsXP перестает работать смена языка - видать была реализована на хуках, а вот в Vista\Seven - уже как то по другому)

    Ну да ладно - вроде как метод (не доработанный )) )
     
  12. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    А можно подробнее? может ссылочку
     
  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
  15. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Никто и не говорил что будет легко ))
     
  16. xrc2

    xrc2 New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    47
    Это ведь просто идея... ее развивать нужно...
    Если такая хня с хуками проходит - то может можно будет писать\читать в уже открый файл подбирая таким образом HANDLE.
    Ну или закрывать handle\pipe\mutex....
     
  17. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    кстати в той статье метод тоже ч/з ж-ный можно было легко реализовать как я писал в посте #14, по этому принципу я уже писал когда-то инжект протектор.
     
  18. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    вот моя dll-ка, защищающая пользовательский процесс от инжекта и просмотра модулей процесса, ч/з удаленные потоки. (Для тестирования можно использовать ProcessExplorer+)
    http://depositfiles.com/files/9fqezst8g
     
  19. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    xrc2
    Имперсонация.
    Обычная эскалация привилегий. Драйвера это легальный способ выполнить произвольный код на нулевом уровне привилегий.
    Оно есть и работает, но кто вы чтоб это знать ?
    Верно. Во всей линейке NT из под этого процесса доступна ядерная память на запись, а значит и вобще всё(x64 я хз).
    RET
    Имхо, ерунда ;)
     
  20. RET

    RET Well-Known Member

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