Forums -> Глюкодром -> Проблема с правами пользователя в XP
| Full Version

valja
Начальное состояние компа: два пользователя - Administrator и user (группы "Users", "Network configuration operators"), логин с "welcome screen", т.е. при логине отображаются оба пользвателя.

На днях юзер сообщил, что при логине отображается только Administrator, чтобы загрузиться как user, нужно дважды нажать Ctrl-Alt-Del и входить через обычное окно логина.

Проверил - так и есть, НО, в "Computer Management" видно, что ползователь user только в группе "Administrators" :w00t: После рестарта картина меняется - user не имеет вообще ни одной группы. Попытка добавить его в группу "Administrators" завершается ошибкой - "user is already in group "Administrators"" (реально администраторских прав нет). В другие группы добавляется/удаляется без проблем. Винт в порядке (просканирован), вирусов и заразы не наблюдается.

Налицо несоответствие записей в реестре - у пользователя имеется запись о членстве в группе "Administrators", не позволяющая реально добавить его в эту группу, но не дающая и реальных прав администратора. Вопрос - где эта запись может быть?
FiL
че-то конкретно побилось в реестре. Я при таких заморочках не глядя переставляю винду. Никогда не знаешь где еще что вылезет.
mts
Вроде когда-то было восстановление реестра? Или это было очень давно?
valja
Тут вопрос не в перестановке винды или восстановлении реестра. У нас этих компов мног и есть образ, а из образа видна (со всем дополнительным софтом и настройками) ставится за 30мин. Вопрос тут в том, где "собака порылась" и как. Есть подозрения, что это не произошло "само собой" (железо в порядке, вирусья не наблюдается).
FiL
то что юзера в групп нет, а потом он там есть - это уже слишком глюк, чтоб его как-то искать. Мне так кажется.
valja
QUOTE (FiL @ 03-02-2009, 21:47)
то что юзера в групп нет, а потом он там есть - это уже слишком глюк, чтоб его как-то искать. Мне так кажется.
Приходится искать. Слишком похоже на неудачную попытку юзера получить права адмиеа.
Sandro
Валя, а не может это быть пока не учтенный, только что выпущенный в свет, вирус?
То есть, антивирус или malware его не определяют?
Vlady304
QUOTE (Sandro2 @ 03-02-2009, 20:25)
Валя, а не может это быть пока не учтенный, только что выпущенный в свет, вирус?
То есть, антивирус или malware его не определяют?
А такое бывает? Все вирусы пишет Касперский :crazy:
elina817
QUOTE (valja @ 04-02-2009, 00:28)
QUOTE (FiL @ 03-02-2009, 21:47)
то что юзера в групп нет, а потом он там есть - это уже слишком глюк, чтоб его как-то искать. Мне так кажется.
Приходится искать. Слишком похоже на неудачную попытку юзера получить права адмиеа.
Скорее похоже на неудачную попытку другого админа что-то изменить в правах допуска этого юзера :)
valja
QUOTE (elina817 @ 04-02-2009, 05:57)
QUOTE (valja @ 04-02-2009, 00:28)
QUOTE (FiL @ 03-02-2009, 21:47)
то что юзера в групп нет, а потом он там есть - это уже слишком глюк, чтоб его как-то искать. Мне так кажется.
Приходится искать. Слишком похоже на неудачную попытку юзера получить права адмиеа.
Скорее похоже на неудачную попытку другого админа что-то изменить в правах допуска этого юзера :)
Тогда это какой-то подпольный адимн и не из нашей конторы. :nlo: . Комп (лаптоп) был все время у пользователя и у меня (да и у других людей с правами админа) не было никаких причин менять права пользователя.
FiL
QUOTE (elina817 @ 03-02-2009, 22:57)
QUOTE (valja @ 04-02-2009, 00:28)
QUOTE (FiL @ 03-02-2009, 21:47)
то что юзера в групп нет, а потом он там есть - это уже слишком глюк, чтоб его как-то искать. Мне так кажется.
Приходится искать. Слишком похоже на неудачную попытку юзера получить права адмиеа.
Скорее похоже на неудачную попытку другого админа что-то изменить в правах допуска этого юзера :)
а вот не скажи. Попытка редактирования реестра из-под какого-нить ERD или им подобных таки может вылиться в подобную фигню. А админ работает из работающей системы, она не даст себя корраптить. Ну, пока живая :)
valja
QUOTE (FiL @ 04-02-2009, 08:35)
А админ работает из работающей системы, она не даст себя корраптить. Ну, пока живая :)
Во всем остальном вполне живая, никаких других глюков не наблюдается.
horton
QUOTE (valja)
Вопрос - где эта запись может быть?
HKLM\SAM. :)
Вот только дело может быть гораздо хуже, чем реестр...
Возможно ведь ещё что где-то ошибочная запись и в Local Policy "завелась".

Создай на пробу ещё одного "свежего" пользователя. И попробуй поназначать те же права, которые пробовал. Если назначаются и работают - думаю, что дело не в полисях. Хотя...
После этого скопируй профиль от проблемного пользователя. Если проблемы появились - скорее всего (as FiL) кто-то копался в реестре.

QUOTE (valja)
Винт в порядке (просканирован), вирусов и заразы не наблюдается.
Сорри, что с наивными вопросами :) но он "просканирован" нормально? Через Live-CD и с применением нормальных тулзов типа Revealer?

Кстати, проблемы с отсутствием пользователя на LogonScreen лечатся (иногда) через:
CODE
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\SpecialAccounts\UserList

Склоняюсь к совету FiL: переставлять и ещё раз переставлять. :)
Причин может быть миллион, и неизвестно кто и чем там покопался...

PS : Извини за "поучение", но это УЖОС называть пользователя "user"... :actu:

:hi:
valja
QUOTE (horton @ 04-02-2009, 11:06)
QUOTE (valja)
Вопрос - где эта запись может быть?
HKLM\SAM. :)
Спасибо, глянем.
QUOTE
Создай на пробу ещё одного "свежего" пользователя. И попробуй поназначать те же права, которые пробовал. Если назначаются и работают - думаю, что дело не в полисях. Хотя...
После этого скопируй профиль от проблемного пользователя. Если проблемы появились - скорее всего (as FiL) кто-то копался в реестре.
Со свежим пользователем все в порядке. Профиль копировать не пробовал, но попробую.
QUOTE
Сорри, что с наивными вопросами :) но он "просканирован" нормально? Через Live-CD и с применением нормальных тулзов типа Revealer?
Под сканированием имелось в виду физическое здоровье диска. А для поиска вирусьев винт подцеплялся к другому компу с кучей софта.
QUOTE
Склоняюсь к совету FiL: переставлять и ещё раз переставлять. :)
Причин может быть миллион, и неизвестно кто и чем там покопался...:)
Да юзеру сразу был выдан второй точно такой же лаптоп. Тут нужно выяснить, что проиошло - несчастный случай или умысел.
QUOTE
PS : Извини за "поучение", но это УЖОС называть пользователя "user"... :actu:

:hi:
Имя юзера условное :)
horton
QUOTE (valja)
QUOTE (horton)
HKLM\SAM.
Спасибо, глянем.
По крайней мере, если помнишь, известная детская "ломалка" основана именно на тамошних ключиках "F" и "V".

QUOTE
Со свежим пользователем все в порядке.
Хорошо.
Т.е. можно почти с уверенностью сказать, что дело не в полисях, а именно с SAM'ом что-то не так.

QUOTE
Профиль копировать не пробовал, но попробую.
Скорее всего, тоже всё в порядке после этого?

QUOTE
Для поиска вирусьев винт подцеплялся к другому компу
Имя юзера условное
Тогда два раза - извини. :)
valja
QUOTE (horton)
HKLM\SAM.
Там пусто (вернее, пустая Default запись и еще HKLM\SAM\SAM тоже с пустой Default записью).

QUOTE (horton)
QUOTE
Профиль копировать не пробовал, но попробую.
Скорее всего, тоже всё в порядке после этого?
Да, со вторым юзером все ОК и после копирования профиля.
horton
QUOTE
Там пусто (вернее, пустая Default запись и еще HKLM\SAM\SAM тоже с пустой Default записью).
Шутишь!? :)
"Этого не может быть, потому, что не может быть нико..."
А сам файл SAM в папке config есть? И размер у него нулевой?

Немножко неловко говорить, но там по умолчанию права только у SYSTEM.
Даже у админов там "special rights". Они ничего не могут.
Из-за этого не видишь?

QUOTE
со вторым юзером все ОК и после копирования профиля.
Логично. SAM при копировании (ессно) не трогается.
Видимо, действительно, кто-то пытался "стать" админом вручную...
valja
QUOTE (horton @ 04-02-2009, 16:14)
QUOTE
Там пусто (вернее, пустая Default запись и еще HKLM\SAM\SAM тоже с пустой Default записью).
Шутишь!? :)
"Этого не может быть, потому, что не может быть нико..."
А сам файл SAM в папке config есть? И размер у него нулевой?

Немножко неловко говорить, но там по умолчанию права только у SYSTEM.
Даже у админов там "special rights". Они ничего не могут.
Из-за этого не видишь?
My bad :(, запускал regedit просто админом. Но я уже дома, так что под SYSTEM буду смотреть завтра. А SAM файл в папке config там есть, ненулевой.
QUOTE
QUOTE
со вторым юзером все ОК и после копирования профиля.
Логично. SAM при копировании (ессно) не трогается.
Видимо, действительно, кто-то пытался "стать" админом вручную...
Такое подозрение возникло сразу. Возможно, временно подставляли другой SAM файл, но что то не срослось.
valja
QUOTE (Sandro2 @ 04-02-2009, 03:25)
Валя, а не может это быть пока не учтенный, только что выпущенный в свет, вирус?
То есть, антивирус или malware его не определяют?
В принципе возможно, но маловероятно. Если даже так, то странный вирус - его единственное (пока) проявление - права юзера. И тогда тем более копать надо. :)
Sandro
Ну не вирус, это я оговорился, а троян специально заточенный под такую задачу. Тем более если он написан узконаправлено, специально для вашей конторы, то ни один антивирусник или антималвера его не определит. Или просто, "недоделанный" троян. :) Хотя, согласен - маловероятно.
valja
QUOTE (horton @ 04-02-2009, 11:06)
HKLM\SAM. :)
:hi:

В HKLM\SAM\SAM\Domains\Builtin\Aliases в ключе админской группы наблюдается только RID админа, пользователя не видно. Что в общем то и логично - его в группе админов не видно и реальных админских прав у него нет. НО, в конце записи восемь лишних байтов нулей (?). Нормально при добавлении пользователя в админ группу туда его RID и пишется, но при удалении из группы стирается вся дополнительна область - никаких лишних нулей не остается.

В общем, временно подкину туда SAM от нормально работающего клона. Если проблема исчезнет, то собака там и зарыта (т.е. в SAM). Если нет, придется копать в других местах. В любом случае будет полезно посмотреть через RegMon обращения к реестру.
valja
Другой SAM так и не упел подкинуть. Попутно произошел диалектический скачок - после очередного запуска компа юзер проявился в группе админов. Только теперь его удалить из админов не получается - "The specified account name is not a member of the local group". Теперь сижу, разглядываю логи RegMon.

Sandro2, народ молился бы на такой врус, превращяющий юзера в непотопляемого админа. :)
Sandro
Валя, я же говорю - "не вирус", а специальная программулька... если ты говоришь что есть подозрение что юзер пытался взять права админа. Ведь есть же такие программы.

Хотя да, ежели он непотопляем, тогда странно. А в реале нельзя этого юзера выловить и спросить (с пристрастием)?
valja
QUOTE (Sandro2 @ 05-02-2009, 21:21)
Валя, я же говорю - "не вирус", а специальная программулька... если ты говоришь что есть подозрение что юзер пытался взять права админа. Ведь есть же такие программы.
Конечно есть, их даже искать особо не надо.
QUOTE
Хотя да, ежели он непотопляем, тогда странно. А в реале нельзя этого юзера выловить и спросить (с пристрастием)?
Так его и ловить не надо, он сам комп принес. И говорит, что вот, запустил машину, а тут такое... Для вопросов с пристрастием голых подзрений мало.
horton
QUOTE (valja)
Попутно произошел диалектический скачок - после очередного запуска компа юзер проявился в группе админов. Только теперь его удалить из админов не получается - "The specified account name is not a member of the local group".
valja, такое уже было... В каком-то фильме. По-моему восстание машин называлось. Блокируем все обращения к SAM и изменения допускаются только от имени SYSTEM. По предварительной заявке. Вписанной только в заранее известные понумерованные блоки эмулятора FAT...

А если серьёзно - похоже, что ты уже начал "рикошеты" ловить от некорректного изменения файла.
И не известно что и чем вызвано и что первично...
Надеюсь, хоть ключик hivelist ссылается на правильный файл, а не непойми на что. :)

QUOTE (valja)
Теперь сижу, разглядываю логи RegMon.
Показывает? А как ты его под SYSTEM запустил?
Через service_any?
valja
QUOTE (horton @ 05-02-2009, 22:43)
Надеюсь, хоть ключик hivelist ссылается на правильный файл, а не непойми на что. :)
Там их два, оба в порядке (идентичны ключам на нормальной системе). Вообще говоря, весьма удобно держать рядом аналогичный нормальный комп (с того же имиджа) и сравнивать ключи. :)

QUOTE
QUOTE (valja)
Теперь сижу, разглядываю логи RegMon.
Показывает? А как ты его под SYSTEM запустил?
Через service_any?
Похоже, он сам так запускается (скачал свежую версию с майкрософта). По крайней мере в логах все видно. Вот кусочек лога при попытке удалить "непотопляемого" админа:
CODE
228 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\C SUCCESS 07 00 01 00 00 00 00 00 ...
229 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\Domains\Account\V SUCCESS 00 00 00 00 E0 00 00 00 ...
230 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\Domains\Builtin\V SUCCESS 00 00 00 00 98 00 00 00 ...
231 16:20:13 lsass.exe:1076 OpenKey HKLM\SAM\SAM\DOMAINS\Account\Groups\Names\user NOT FOUND
232 16:20:13 lsass.exe:1076 OpenKey HKLM\SAM\SAM\DOMAINS\Account\Aliases\Names\user NOT FOUND
233 16:20:13 lsass.exe:1076 OpenKey HKLM\SAM\SAM\DOMAINS\Account\Users\Names\user SUCCESS Access: 0x20019
234 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\DOMAINS\Account\Users\Names\user\(Default) SUCCESS UNKNOWN TYPE: 1005
235 16:20:13 lsass.exe:1076 CloseKey HKLM\SAM\SAM\DOMAINS\Account\Users\Names\user SUCCESS
236 16:20:13 lsass.exe:1076 OpenKey HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED SUCCESS Access: 0x2001F
237 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED\V SUCCESS 00 00 00 00 D4 00 00 00 ...
238 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED\F SUCCESS 02 00 01 00 00 00 00 00 ...
239 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED\V SUCCESS 00 00 00 00 D4 00 00 00 ...
240 16:20:13 lsass.exe:1076 QueryValue HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED\V SUCCESS 00 00 00 00 D4 00 00 00 ...
241 16:20:13 lsass.exe:1076 CloseKey HKLM\SAM\SAM\DOMAINS\Account\Users\000003ED SUCCESS
А вообще под SYSTEM можно запускать через PsExec - например
psexec -s -i regedit.exe
valja
Круг поисков сужается. Подставил нормальный SAM, все работает. Т.е. копать нужно в SAM - сравнивать SAMы (и соответствующие логи).
valja
Коротко кртина следующая:

Есть изменеия в ключе HKLM\SAM\SAM\Domains\F

Изменен ключ HKLM\SAM\SAM\Domains\Account\Aliases\000003EC\C (это группа дебагеров) - в конце дописан администратор (RID 1f4). Computer Management показывает наличие администратора в этой группе, удалить из нее не удается.

К ключу [HKLMACHINE\SAM\SAM\Domains\Account\Aliases\Members\S-1-5-21-..... добавлен подключ \000001F4]

У ключа [HKLM\SAM\SAM\Domains\Account\Users\000001F4] (1f4 это RID администратора) изменены оба F и V.

У ключа [HKLM\SAM\SAM\Domains\Account\Users\000003ED] (3ED это RID юзера) изменен F.

У ключа [HKLM\SAM\SAM\Domains\Builtin] изменен F.

Изменен [HKLM\SAM\SAM\Domains\Builtin\Aliases\00000220] (это описание группы администраторов). Число членов группы увеличено с 1 до 2, увеличена длина записи с 0x1c на 0x24. НО, в конце присутствуют только данные администратора (1f4), дополненные в конце восемью нулевыми байтами, данных про второго пользователя нет.

У ключа [HKLM\SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5-21-...\000003ED] в начале добавлено hex:20,02,00,00 - т.е. принадлежность к группе администраторов 0220 (нормально там стоит hex:21,02,00,00 - принадлежность к группе users 0221)

Эти две записи конфликтуют - у юзера прописано, что он в группе админов, а в описании группы администраторов есть данные только администратора.

В общем, похоже, что была попытка добавить юзера в группу администраторов, но что то не срослось при записи на диск и в результате получился некорректный SAM.
FiL
спасибо за детективную историю.
valja
Ну, история еще не совсем закончена. Тут есть еще один неясный момент - самопроизвольное изменение состояния юзера. При первом запуске компа юзер был только в группе админов, после выключения и следующего включения вообще без групп (но в админы добавить не удавалось). Через несколько дней админская группа "проявилась" - неудаляемая. К сожалению я только тогда сообразил записать SAM и сравнить его с нормальным. Но в любом случае ненормальность SAM налицо.
Set
На руткиты не проверял?
valja
QUOTE (Set @ 07-02-2009, 19:32)
На руткиты не проверял?
Проверял (винт был подключен к другому компу с кучей софта), ничего не нашел.
valja
Ситуация заметно прояснилась. Похоже, что удалось найти софт, которым пытались получить права администратора - на контрольном лаптопе удалось полностью воспроизвести данную ситуацию. Уже в самой программе отмечно, что данная функция экспериментальная и после ее применения могут быть глюки с группами.

После первого старта появляется только логин юзера (что есть нормально - если есть другие администраторы, штатного администратора не показывают), юзер только в группе админов (предыдущие группы сбрасываются). После рестарта картина меняется - появляется только логин администратора. У юзера нет видимых групп, но в администраторыы добавить нельзя - сообщается, что юзер уже в группе администраторов. Именно в этом состоянии комп принесли ко мне. Далее начинается самое интересное. При последующих запусках комп запускается в одно из двух описанных выше состояний - появляется либо логин администратора (тогда юзер не имеет группы и ему нельзя присвоить права администратора) либо логин юзера (тогда юзер в группе администраторов и его нельзя из нее удалить). То есть, один к одному повтор ситуации с проблемным компьютером. И не только в поведении компа, но и с содержимым SAM. Вывод однозначен.

Осталась последняя невыясненная деталь, но это скорее для общего образования. На основе чего комп при стартапе решает, какая из двух ситуаций реализуется? Этот выбор делается до логина, так как соответсвенно появляется либо логин только юзера либо логин только админа. Какой либо закономерности я (пока) не заметил. Я попробовал сравнить SAM обоих ситуаций - разница только в ключе [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\RID\F
Выглядит несколько непонятно, но с другой стороны, проблема именно в SAM (при подстановке начального SAM все работает нормально).
FiL
А что за софтинка-то?
valja
QUOTE (FiL @ 10-02-2009, 23:06)
А что за софтинка-то?
Линуксовый бут-диск с утилитами (тут).