General Paul Lee Project
О... Новости Статьи Софт Кнопки Форум Написать
73144998
General Paul Lee Project

SAM себе режиссер (пользователи)


Теперь рассмотрим устройство ветви, содержащей информацию о пользователях. Опять же на примере:

[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users]
@=hex(00000018):
В поле типа параметра по умолчанию указано количество записей (фактически, это количество пользователей). Далее идут ключи с именами по RID пользователя, например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4]
"F"=hex: .....
"V"=hex: .....
У каждого ключа есть по два параметра:
"F"(flags) - по всей видимости содержит флаги (размер всегда 50h)
"V"(value) - соответственно прочие настройки (размер меняется)

Вот значения каких полей удалось распознать:

для F

    018: qword таймстамп последней модификации записи
               (или смены пароля ?)
               если 0, то надо менять пароль при
               следующем логоне
    030: dword RID пользователя
    038: word (?) флаги (при установке в 1)
                  00: account disabled
                  03: local account
                  04: global account
                  09: password never expired
                  3 и 4 флаги взаимоисключающие
    044: byte (?) у пользователей с правами администратора 
                  равен 1 (к чему бы это)

для V

    первые 204 (ССh) байт занимает индекс вида
    00: dword адрес параметра, относительно начала данных (CCh)
    04: dword размер параметра
    08: dword дополнительная информация о параметре 
              (обычно количество элементов, например в битовых параметрах)

    Всего 17 (11h) параметров. Они бывают следующих типов (по порядку):

    - структура неизвестного содержания (почти)
      00: dword неизвестно
      04: dword адрес блока 1
      08: dword адрес блока 2
      0С: dword адрес блока 3
      10: dword адрес блока 4
      14: данные
      адреса относительно начала этой структуры
      второе слово в блоках - это размер текущего блока
      (по крайней мере в 3-м и 4-м)

      известно, что в блоке 4 по смещению 50h (0Ch при локальном аккаунте)
      находится байт (?), содержащий флаги:
          02: ??? account locked out (если сброшен в 0)
          06: user can't change password (если сброшен в 0)
      и по смещению 54h (10h при локальном аккаунте) SID,
      т.о. 6Ch (28h при локальном аккаунте) dword RID.

    - имя пользователя (username)
    - полное имя (fullname)
    - описание (description)
    - неизвестно (???)
    - расширенные установки (extended settings)
      terminal server имеет следующие дополнительные параметры:

        CtxCfgPresent
        CtxCfgFlags1
        CtxCallback
        CtxShadow
        CtxMaxConnectionTime
        CtxMaxDisconnectionTime
        CtxMaxIdleTime
        CtxKeyboardLayout
        CtxMinEncryptionLevel
        CtxWorkDirectory
        CtxNWLogonServer
        CtxWFHomeDir
        CtxWFHomeDirDrive
        CtxWFProfilePath
        CtxInitialProgram
        CtxCallbackNumber

    - домашний каталог (homedir)
    - буква для мапирования сетевого ресурса (map drive letter)
    - имя логон-скрипта (logon script name)
    - путь к профайлу полльзователя (user profile path)
    - список серверов для коннекта (logon to)
    - время, разрешенное для регистрации (logon hours bit map)
      обычно содержит 168 (A8h) бит (по одному на каждый час недели)
      что точно укладывается в 21 (15h) байт
    - неизвестно
    - кодированный пароль LanManager-а (encripted LanManager password)
    - кодированный пароль WinNT (encripted WinNT password)
    - предыдущие кодированные пароли WinNT 
      (previous encripted WinNT passwords)
    - предыдущие кодированные пароли LanManager-а 
      (previous encripted LanManager passwords)

    С адреса CCh начинаются данные.
В этом же разделе присутствует ключ, содержащий список соответствия RID имени пользователя
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names]
Его подключи имеют название по имени пользователя, а параметр по умолчанию в поле типа параметра содержит RID этого пользователя, например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Administrator]
@=hex(000001F4):


<<

General Paul Lee Corruption