WinXP и Vista-->выход в ring0 из ring3 и проблемы иже с этим

Тема в разделе "WASM.NT.KERNEL", создана пользователем DrSlonix, 23 апр 2009.

  1. DrSlonix

    DrSlonix New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2007
    Сообщения:
    3
    Народ, подскажите, где можно найти материал о том, как мона перейти в XP и Vista в ring0. И то с какими при этом можно столкнуться проблемами. Заранее Вам благодарен.
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    DrSlonix
    в ветке COMMERCE
    ды ладно, мелочи :)
     
  3. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Ну прям мелочный народ пошел, как что так сразу в комерц, не знаешь, что ответить не пиши...
     
  4. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    dgs
    да я отстал от этой темы :)
    но просто занят первоочередными своими проблемами ;)
    но эта тема сто пудово тянет на КОММЕРЦ т.к. это нужно для извлечения прибыли или
    нанесения вреда кому-то с помощъю сабжа ;))
    dgs а это не ВЫ товарищъ зарегились одноразово для этой темы под ТС ????
     
  5. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    DrSlonix
    1) Написать драйвер, материал:
    - гугл
    - на этом сайте
    2) Использовать паблик и не очень уязвимости, материал:
    - собственные разработки
    - васм.коммерц
     
  6. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    а чем Microsoft DDK не подходит ?
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Вопрос про смену дпл ?
    Чтобы перейти нужно это через шлюз делать. Прерывания или калгейт. Мне больше калгейт нравится, тоесть в GDT шлюз вызова. Проблема может быть с установкой шлюзов на каждом процессоре. Я это делаю поиском KiAbiosGdt, там список указателей на GDT каждого процессора. Собственно со сменой кольца защиты проблем нет, только два нюанса:
    > Перед тем как передать управление через гейт на код, в диапазоне юзермодных адресов нужно залочить страницы. Это делается созданием захватывающего потока - тред который в цикле обращается к страницам, которые будут юзаться после смены кольца защиты, что позволяет держать страницы в памяти без выгрузки их в своп.
    > После перехода через шлюз перезагрузить все сегментные регистры, загрузив в них ядерные селекторы(в Ds и Es могут быть юзермодные селекторы), Fs обязательно перезагружать, так он адресует PCR.
     
  8. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    DrSlonix
    Вопрос слишком общий, уточни пожалуйста что ты имел ввиду, просто есть много способов и не понятно что именно тебе нужно
     
  9. DrSlonix

    DrSlonix New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2007
    Сообщения:
    3
    Clerk будь добр мож даш линк на какой-нибудь семпл или пример приведешь. Я ранее такого рода вещами не занимался :-(((((, а щас от пришлось. Спасибо за ранее....
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    http://files.virustech.org/indy/Code/Callgate/
     
  11. DrSlonix

    DrSlonix New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2007
    Сообщения:
    3
    Clerk, спасибо. Пока еще не разбирался, а токо мельком взглянул асмы и инки. Но думаю это то, что мне нужно. (Гы, мелочь, а приятно, шо код покоменчено на великом и могучем...)
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Легальный способ с ZwLoadDriver.
    Нелегальный - это сплоиты всякие, если найдете (паблик/приват) где-либо.

    Clerk
    Что-то мне не сильно верится, что товарищу надо просто сменить дпл. Ибо вопрос тогда странный про ОС.
    Твой iInstallCallgate видать надо из драйвера запускать? -) Тогда в чем, собственно, смысл. Ради коннекта с юзермодом?
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great
    Видимо вопрос именно про смену дпл.
     
  14. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Мы с товарищем хотели в сплоите заюзать. Код прозрачный всеголишь установка шлюза. Рабочий, использовали следующим образом.
    Некоторая уязвимость в ядре передавала управление при вызове сервиса на адрес, который находится по адресу 0:3, тоесть в начале адресного пространства. Мы записывали по этому адресу указатель на наш обработчик. Обработчиком и был этот код. Он копировал второй обработчик, который и являлся полезной нагрузкой в пул, затем создавал калгейт, при вызове которого из юзермода управление и получал тот код. До вызова кода, который вызывал передачу управления в юзермод, выделялась память с нулевого адреса и страницы захватывались потоком, который просто исполнял инструкции перехода в цикле в этих страницах, изза чего они не выгружались в своп. Затем при эскалации, когда вызывался уязвимый сервис получал управление этот код, он устанавливал гейт и копировал тот обработчик в пул, после чего управление возвращалось в ядро. Далее для эксплуатирования уязвимости просто вызывался этот шлюз. Такова была модель.
    Great
    Насчёт драйвера - подобный код не используют в драйверах, да он исполняется в режиме ядра, но никак в модуле.