Можно ли поднять статус юзерного процесса до системного?

Тема в разделе "WASM.WIN32", создана пользователем Asterix, 20 фев 2005.

  1. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    subj , если да то как, какие функции заюзать?
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    хм.. если я правильно понял то ответ мой будет таким :

    Можно : использую неджокументированные структуры и фукции позволяющие перейти из ring-3 в ring-0

    На счет какие именно функции и как это сделать можно почитать в phrack-59 (статья Playing with Windows вроде)
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    я уточню, нужно сделать так чтоб другие процессы считали этот процесс системным, только и всего, т.е. в том же PETools/LordPE чтоб этот процесс отображался как системный.
     
  4. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    TermoSINteZ

    IMHO Asterix вероятно имел в виду то, как процессу выполняемому с правами пользователя получить права даже не админа, а сразу - системы.



    З.Ы.: Asterix успел ответить раньше.
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Да, ещё, естно, процесс мой выполняется под админом, это само-собой разумеется.
     
  6. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    Asterix

    %) Я первый раз о таком слышу. Может быть PETools/LordPE имеют собственный список системных процессов? Ты сам видел чтобы эти утилитки показывали какой-нибудь "левый" процесс как системный?
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Мне тут подсказывают что ExeShield так делает.



    Поправлено:

    По последним данным это не так, Sorry за дезинформацию %)
     
  8. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    А зачем вообще нужен этот системный статус, т.е. что он дает?
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Чтоб никто не убил процесс :derisive:

    или хотя бы думали что этот процесс трогать не стоит :)
     
  10. Sickle

    Sickle New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2003
    Сообщения:
    181
    обзови свой процес svchost.exe :)

    их и так несколько штук в таскменеджере болтается, так что твой никто не заметит. и убить его не выйдет :)
     
  11. _Merovingian

    _Merovingian New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2005
    Сообщения:
    6
    1. Замапиться в винлогон

    2. Написать AT час:минута_после_текущей /interactive твоя_программа
     
  12. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Есть такая "штука" - имперсонация называется, и соответствующие дыры в ней :)
     
  13. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    Asterix

    Чтоб никто не убил процесс :derisive:

    или хотя бы думали что этот процесс трогать не стоит :)




    сделай его службой - оно выполняется в LocalSystem.

    хотя убить службу все равно можно, я этот вопрос недавно тут поднимал, по крайней мере, мне никто толком не ответил...
     
  14. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    Ну, раз пошла такая пьянка, то и я внесу свои 5 копеек:) Както раз я наткнулся на форуме журнала Хакер на топик "Неубиваемые проги". Помимо прочего в нем мое внимание привлекли посты некого DeepThinker. Вот что я из них узнал:

    Вообще есть один недокументированный способ сделать прогу неубиваемой на NT. Надо IRQL поставить на 1 и не снимать. Вот краткое описание, как это делается: Значит, загружаешь библиотеку hal.dll, как если бы она была пользовательской. Находишь в ней адрес ф-ии KfRaiseIrql и смещение его отн. базы. Через EnumModules находишь базовый адрес настоящей hal.dll, загруженной в пространство ядра и прибавляешь к нему смещение. Теперь ты знаешь адрес этой ф-ии в памяти. Ее объявление выглядит так: _fastcall ULONG KfRaiseIrql(ULONG Irql); Затем любым способом переходишь в режим ядра. Поищи в сети, как это сделать - по словам ZwSystemDebugControl или Device\PhysicalMemory или callgate.sys. И из режима ядра вызываешь эту ф-ию KfRaiseIrql(1); Затем возвращаешься в режим пользователя. Все. Программу не убить. Не помню уже, на каких Виндах я это проверял, но на ХР работает вроде, на 2003 вроде тоже. Бывали правда случаи, когда удавалось сделать из нее зомби - убить, но в списке процессов она висит. Вроде если с консольной прогой так сделать и закрыть консоль, то так и будет. А убить неконсольную можно только из режима ядра (модифицировав ее код так, чтобы она сама себя завершила), болше никак. Комп перезагрузить тоже нельзя, пока эта хрень работает. Отладчик не может к такой проге подключиться и после закрытия сам превратится в зомби. Вот, пожалуй, и все.
     
  15. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    пардон за не в тему, но все же:

    Если подрубаешь на usb устройество переботинка не требуется, есно дело к устройству может потребуется драйвер. А драйвер как я понял это код находящийся в старших адресах адр. пространства процесса, но его туда не просто закинуть надо зарегистрировать в системе. Но у меня есть дрова, которые не требовали перезагрузки, т.е. как - то сами регистрируются.



    Интересно, как это происходит?
     
  16. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    EvilsInterrupt

    Ответ на этот вопрос, и на многие другие по этой теме ты найдешь в статьях Four-F по драйверам режима ядра.
     
  17. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    Oleg_SK

    Только нужно помнить, что этим запрещается доставка обычных APC процессу и из-за этого могут возникнуть глюки. Например подсистема POSIX использует APC для реализации сигналов.