Как найти окно utilman-а?

Тема в разделе "WASM.BEGINNERS", создана пользователем _sheva740, 15 май 2009.

  1. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Когда-то была такая атака на повышение прав локального пользователя
    shatter. Запускался utilman ему слали сообщения , пересылали shell
    потом выполняли его.
    Сегодня пытаюсь найти имя окна (XP SP3 ru) и не могу :dntknw:(
    Может кто подскажет?

    Код (Text):
    1. .486                
    2. .model flat,stdcall
    3. option casemap :none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\user32.inc
    6. include \masm32\include\kernel32.inc
    7. includelib \masm32\lib\user32.lib
    8. includelib \masm32\lib\kernel32.lib
    9. include \masm32\include\masm32.inc
    10. includelib \masm32\lib\masm32.lib
    11. .data
    12.     tWindow db 'Диспетчер служебных программ',0
    13.     cWindow db '#32770',0
    14.     _path   db 'c:\windows\system32\utilman.exe',0
    15.     pi  PROCESS_INFORMATION <>
    16.     sinfo   STARTUPINFO <>
    17.     _info1      db '[+] Finding utilman Window...',13,10,0
    18.     _info2      db '[-] Couldn t Find utilman Window',13,10,0
    19.     _info3      db '[+] Found Main Window At...0x%u',13,10,0    ;шаблон для вывода
    20. .data?
    21.     textBuf     db 64 dup( ? );для вывода тек.времени
    22.     cyrBuffer       db ?   
    23. .code
    24. start:
    25.     invoke  CreateProcess, addr _path, NULL,NULL,NULL,FALSE,\
    26.                                         NULL,\
    27.                                         NULL,NULL, addr sinfo, addr pi
    28.     invoke  StdOut, addr _info1         ; [+] Finding %s Window...
    29.     invoke  CharToOem, ADDR tWindow,ADDR cyrBuffer
    30.     invoke  FindWindow,ADDR cWindow, ADDR cyrBuffer
    31.     .if eax == 0
    32.         invoke  StdOut, addr _info2     ; [-] Couldn t Find utilman Window
    33.         ;ret 0
    34.     .endif
    35.     invoke  wsprintf,ADDR textBuf,ADDR _info3,eax   ; [+] Found Main Window At...0x%x  
    36.     invoke  ExitProcess,0  
    37. end start
    Не могу найти дескриптор окна (eax =0)и все!!!
    Не подскажите?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    _sheva740
    CreateProcess выполняется успешно? Например, структура STARTUPINFO не инициализирована.
    Зачем CharToOem?
    Буфер под результат работы CharToOem ни маловат?
     
  3. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    q_q
    Окно utilman - а появляется.
    не нужен - уберу! Но не помогает :dntknw:(
    Не пойму, хотя Spy++ из VC 6.0 все нашел, может я что-то не так делаю?
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    _sheva740
    > Но не помогает
    Ты попробовал?

    ps
    > _info3 db '[+] Found Main Window At...0x%u',13,10,0 ;шаблон для вывода
    Imho если добавляешь перед числом 0x, то логичнее использовать что-то похожее на %08X.
     
  5. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    q_q
    Да не вот
    Код (Text):
    1. start:
    2.     invoke  CreateProcess, addr _path, NULL,NULL,NULL,FALSE,\
    3.                                         NULL,\
    4.                                         NULL,NULL, addr sinfo, addr pi
    5.     invoke  FindWindow,ADDR cWindow, ADDR tWindow;ADDR cyrBuffer
    6.     .if eax == 0
    7.         invoke  StdOut, addr _info2     ; [-] Couldn t Find utilman Window
    8.         ;ret 0
    9.     .endif
    10.     invoke  wsprintf,ADDR textBuf,ADDR _info3,eax   ; [+] Found Main Window At...0x%x  
    11.     invoke  ExitProcess,0  
    12. end start
    пробовал, но нет :dntknw:
    а Вы находите это окно?


    Спасибо.
     
  6. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    _sheva740
    Да, если между CreateProcess и FindWindow поставить Sleep. :)))
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    <Win + U>
    Код (Text):
    1. ClassName CHAR "#32770",0
    2.     invoke FindWindow, addr ClassName, NULL
     
  8. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    а окно utilman не закрывается, оно висит так долго как мне нужно.
    Пробовал, тот же результат.
    Код (Text):
    1. start:
    2.     invoke  CreateProcess, addr _path, NULL,NULL,NULL,FALSE,\
    3.                                         NULL,\
    4.                                         NULL,NULL, addr sinfo, addr pi
    5.     invoke  Sleep, 1000
    6.     invoke  FindWindow,ADDR cWindow, ADDR tWindow;ADDR cyrBuffer
    7.     .if eax == 0
    8.         invoke  StdOut, addr _info2     ; [-] Couldn t Find utilman Window
    9.     .endif
    10.     invoke  ExitProcess,0  
    11. end start
    Не знаю а если из драйвера запустить cmd.exe. Пока не знаю как но эта консоль будет с правами system?
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Его винлогон запускает. Так в чём проблема заключается ?
     
  10. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Clerk
    Да проблема в том что не могу вот получить дескриптор окна по указателю на строку с именем окна (db 'Диспетчер служебных программ',0).
    Помнится в 2000 - ке без проблем было :dntknw:
    Не подскажите?
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Ну а #7 для кого написан ?
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Хотя не то. Без заголовка окно вэба возвращает странно. Не знаю.
    С такимже успехом можно использовать винлогона окно:
    Class "SAS window class"
    Name "SAS window"
    Тоже дырявое, но не понятно как окна системных процессов искать. Хотя попробовать может Tcb привилегию включить..
     
  13. Clerk

    Clerk Забанен

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

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Тогда что получается?
    Снимите шляпу! Начиная с xp sp3 провожаем shatter в /dev/null :dntknw:
     
  15. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    _sheva740
    shatter гораздо раньше 3го сервиспака пофиксили