Имперсонация в ОС Windows

Тема в разделе "WASM.WIN32", создана пользователем Bill_Prisoner, 26 июн 2005.

  1. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    Здрасьте!

    Вы не знаете можно ли использовать имперсонацию в ОС Windows 2000/XP. Была когда статья про нее, но там пример, который почему-то не работал. Вообшще под админом имперсонация действует, но задмину это редко надо.



    Если я знаю пароль админа, то я могу из под гостя запустить прогу с правами админа? У меня выдается сообщение что не хватает прав. Но с другой стороны runas работает без проблем. Может есть у кого готовый код применения имперсноации для юзера с маленькими привилегиями?
     
  2. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    У меня та же самая ситуация. Дизассемблировав runas удалось узнать, что она пользуется функцией CreateProcessWithLogonW, а не парой LogonUser/CreateProcessWithToken.
     
  3. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    halyavin

    А код ты не написал?
     
  4. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    halyavin

    а разве надо делать новый LogonUser ? По-моему для этого есть ImpersonateLoggedOnUser и потом RevertToSelf
     
  5. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    infern0

    А если поподробнее, а то я этом ни бум бум :)
     
  6. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    Гм, что никто не знает как использовать имперсонацию...?
     
  7. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    Infern0

    ImpersonateLoggedOnUser требует токен, который получается вызовом LogonUser.

    Bill_Prisoner

    Код я не писал, поскольку нужен msdn для выяснения параметров CreateProcessWithLogonW. Кое-что есть в инете, но мне было не охота разбираться с прототипом функции для Visual Basic.
     
  8. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    да, возможно. Было давно мог и ошибится.
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Тут даже статья есть.
     
  10. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    Quantum

    Гм, круто. Как раз в этой статье код работает не так как нужно.