нужно нутро ntdll :-)

Тема в разделе "WASM.HEAP", создана пользователем cresta, 14 янв 2006.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Народ, кому не лень, запустите программку в аттаче, она считает 16 байт из ntdll и покажет их в MessageBox'е, скопируйте Ctrl+C и вставьте в ответ.

    Если не очень лень :)



    P.S.

    Интересует совпадение кода ZwOpenProcess на разных ОС, с разными сервиспаками.

    У меня XP (sp0) :

    B87A000000BA0003FE7FFFD2C2100090



    Спасибо.



    [​IMG] _832987216__ntdllLooker.exe
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Windows XP Sp2

    B87A000000BA0003FE7FFF12C210



    Windows 2000 Sp4

    B86A0000008D542404CD2EC210



    Windows vista beta 1

    B8B9000000BA0003FE7FFF12C210
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Спасибо :)



    Я думаю, что XP sp1 будет такое же, как sp2
     
  4. Gloomy

    Gloomy New Member

    Публикаций:
    0
    Регистрация:
    29 май 2003
    Сообщения:
    48
    Адрес:
    Екатеринбург
    Windows XP Pro SP2 Eng

    B87A000000BA0003FE7FFF12C2100090
     
  5. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    чтоб окончательно тебя расстроить :) - Windows 2000 SP4 + rollup update:



    B86A0000008D542404CD2EC210008BFF
     
  6. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Broken Sword

    А что расстраиваться-то :)

    Всё достаточно чётко прослеживается:

    w2k использует int 2E, XP и выше используют переход на syscall (sp0 - через call edx, sp1,sp2,vista - через call dword ptr[edx]). Ну и коды в eax: 6A-7A-B9

    Имея эту информацию, уже можно избавиться от перехвата ZwXXX.
     
  7. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


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

    Для этого просто надо загрузить с диска копию ntdll с помощью пелоадера и вызывать апи оттуда.



    cresta

    Как закончишь свой руткит детектор, дай мне его поглядеть. Хочу проверить свой руткит на живучесть :)
     
  8. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257




    Это я уже сделал, но только для EnumServicesStatusEx (маппинг advapi с пересчётом смещений), чтобы отловить скрытые драйвера hxdef'а.



    А в случае с ntdll не уверен, что это получится достаточно быстрый код. Поэтому на всякий случай доп. варианты. В принципе самодельный вызов syscall уже реализован и работает, но только для SP0 (call edx), для других информации не было.

    Хотя с маппированием dll все-же проще.





    Лучше ты давай свой руткит, а то мне тренироваться не на чем :))) hxdef100r и AFXRootkit2005 я уже вдоль и поперек вижу (скрытыет процессы, файловые объекты, ключи реестра, драйвера). Надо что-то новое :)

    Если есть SP0, то примерный набросок есть, хотя лучше бы закончить.
     
  9. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Извини, я не заинтересован в попадании моего руткита к разработчикам руткит детекторов, но возможно кое-какие демки дам (после релиза руткит детектора).
     
  10. Guest

    Guest Guest

    Публикаций:
    0
    Ms Rem

    Подскажи будет ли такой метод корректным? например я делаю перехват ZwOpenProcess, ч-з SDT. Но после меня возможно ктото перезапишет мою ловушку (или удалит). Так вот что если в режиме ядра создать поток, который будет проверять скажем раз в минуту "правильность" адресса ZwOpenProcess, и если там стоит не мой то записать вновь мою ловушку?



    Или может есть проще метод? например может есть какоето событие или еще что...
     
  11. Guest

    Guest Guest

    Публикаций:
    0
    Ms Rem

    Спасибо! Я понял куда копать, уже нашел статью даже...
     
  12. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Ms Rem

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



    Corleone

    Чтобы полностью контролировать ситуацию и сделать абсолютный перехват, есть только один метод - подменить ntoskrnl.exe своим ядром. Сможешь?
     
  13. Guest

    Guest Guest

    Публикаций:
    0
    cresta

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



    p.s. Ms Rem спасибо за помощь