ZwCreateProcess и статический импорт

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

  1. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    В ntoskrnl.lib нет этой функции
    Заюзал Dll2Lib
    просмотрел
    опять нет!

    Вопрос: как импортировать ZwCreateProcess?

    krnlGetProcAddress не предлагать
    Нужно именно импортировать, а не найти динамически
     
  2. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Как же ты её импортировать собрался, если её нет в экспорте ядра.
     
  3. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    я уже понял. Жаль.
    Тогда прийдется мэпить нтдлл, вытягивать оттуда номер сервиса и в сдт искать адрес.
     
  4. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    zoool
    Нах мапить ntdll.dll? Ненужный гемор, имхо.
    Номер ZwCreateProcess в SSDT - 0x002f.
    Смотри подробней - http://www.metasploit.com/users/opcode/syscalls.html
    Просто сделай нечто хука функции как в 3-й статье Ms-Rem'а, и будет тебе счастье...
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Не, так не пойдёт, хочешь привизать к версии ?
     
  6. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    Clerk
    Согласен, немного кривой способ, но можно сделать экспорт NtBuildNumber, и в зависимости от результата определять номер функции. Всего 5 вариантов )))
     
  7. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    steelfactor
    5 вариантов на 1 ф-ию, 5 на другую, А код, который сам всё найдёт не так уж и велик.
     
  8. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    asd
    Да я и не спорю. Если речь идет об экспорте одной функции для какого-то конкретного случая, в данном случае ZwCreateProcess, то можно экспортировать ее по номеру, хотя это, повторюсь, моветон.
    В противном случае - если речь идет о промышленных масштабах :))), конечно, удобнее парсить SSDT по имени функции.
     
  9. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    steelfactor, хватет оправдывать детские способы получения номера функции в СДТ
     
  10. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    Реализовал через парсинг ntdll
    удобно
    быстро
    кода совсем мало :)

    Никаких больших таблиц и привязки к версиям