|
|||||||||||||
|
|||||||||||||
SAM-файл (SAM сокращение от Security Accounts Manager) - это база "учетных записей пользователей, содержащая сведения об уровнях пользовательских привилегий, паролях и т.п.". По умолчанию ветвь реестра SAM закрыта от просмотра даже для администратора, хотя с полтыка разобраться там действительно невозможно. Ко всему этому прибавим нестандартное использование формата файла реестра и получим полнейшую кашу.
Самый первый параметр попадается на глаза в этом разделе
[HKEY_LOCAL_MACHINE\SAM\SAM]
"C"=hex: .....
Параметр содержит в себе индексированную структуру, содержимое которой для меня остается пока загадкой. Единственное, что можно отметить, это самое первое слово параметра - оно имеет отношение к версии операционной системы, и имеет следующие значения:
3 - WinNT 4.0;
4 - WinNT 4.0 Terminal Edition;
5 - возможно, WinNT 4.5 for Small Business, не проверял;
6 - WinNT 5.0 (2K/XP).
Углубившись еще на два уровня, видим два ключа, содержащие учетные записи:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account]
(от built-in - встроенный), содержит учетные записи встроенные в систему.
Каждый из них имеет по два параметра, которые я оставлю здесь без внимания. Логическая структура их подключей, совершенно идентична, поэтому рассмотрим ее на примере первого ключа.
Итак, перейдя ниже на один уровень, видим три ключа:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases]
содержит информацию о пользователях
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Groups]
Устройство этой ветви рассмотрим на примере:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases]
@=hex(00000002):
В поле типа параметра по умолчанию указано количество записей (количество групп). Далее идут ключи с именами по RID группы, например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\000003E9]
"C"=hex: .....
У каждого ключа есть параметр ("C"), содержащий установки для соответствующей группы. Вот его содержимое:
000: dword RID группы
004: 30h byte индекс следующего вида
00: dword адрес параметра (относительно начала данных)
04: dword размер параметра
08: dword дополнительная информация о параметре
(обычно количество элементов, например в битовых параметрах)
Итого проиндексировано 4 параметра:
- структура неизвестного содержания
00: dword неизвестно
04: dword адрес блока 1
08: dword адрес блока 2
0С: dword адрес блока 3
10: dword адрес блока 4
14: данные
адреса относительно начала этой структуры;
в каждом из блоков второе слово - это размер текущего блока
по крайней мере в 3-м и 4-м.
- имя группы
- описание группы
- список SID членов группы в количестве, указанном в индексе
034: собственно данные, проиндексированные выше
Здесь же присутствует ключ, содержащий список соответствия RID имени группы
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Names]
Его подключи имеют название по имени группы, в поле типа параметра по умолчанию содержится RID этой группы, например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Names\Local Group 1]
@=hex(000003E9):
Также имеется ключ, содержащий список членов групп, разбитый по доменам
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Members]
Его подключи называются по SID-у домена, например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Members\S-1-5-21-1111886394-528819435-1435325219]
@=hex(00000004):
В поле типа параметра по умолчанию у них содержится количество подключей. Подключи имеют название по RID-у пользователя (члена одной из групп), например:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Aliases\Members\S-1-5-21-1111886394-528819435-1435325219\000003F6]
@=hex(00000002):EA,03,00,00,E9,03,00,00
В поле типа параметра по умолчанию записано количество групп, членом которых является данный пользователь (фактически количество двойных слов в этом параметре). Сам параметр по умолчанию содержит RID тех групп, в которые входит данный пользователь.
Все выше изложенное так же относится и к ветке реестра, содержащей информацию о встроенных группах:
[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Builtin\Aliases]
Теперь рассмотрим устройство ветви, содержащей информацию о пользователях. Опять же на примере:
[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):
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
disables right-click(запретить клик правой кнопкой)
"NoViewContextMenu"=dword: 00000001
Запретить любой доступ к панели управления
"NoControlPanel"=dword:00000001
Disable "Internet Options" from tools menu(Запретить "Опции интернета" из меню настроек)
[HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions]
"NoBrowserOptions"=dword:00000001
Disable Default Hidden Shares - This keeps Windows from creating the
Admin$, C$, etc. shares (which are security holes) automatically on startup.
(Запретить создание невидимых расшаренных ресурсов - это предотвращает такие шары как
Admin$, C$ и др. создаваемые при старте системы по умолчанию)
[HKLMA\SYSTEM\CurrentControlSet\Services\LanmanServer\parameters]
;"AutoShareWks"=dword:00000000
[HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
;"AutoShareServer"=dword:00000000
[HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones]
"1004"=dword:00000003
Prevent Access to the Contents of Selected Drives(Запретить доступ к жестким дискам )
; A: 1, B: 2, C: 4, D: 8, E: 16, F: 32, G: 64, H: 128, I: 256, J: 512, K: 1024, L: 2048,
; M: 4096, N: 8192, O: 16384, P: 32768, Q: 65536, R: 131072, S: 262144, T: 524288, U: 1048576,
; V: 2097152, W: 4194304, X: 8388608, Y: 16777216, Z: 33554432, ALL(все): 67108863
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoViewOnDrive"=dword:00000004
[HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
;"NoViewOnDrive"=dword:00000004
Hide Drives in My Computer(Спрятать диски из "Мой компьютер")
; A: 1, B: 2, C: 4, D: 8, E: 16, F: 32, G: 64, H: 128, I: 256, J: 512, K: 1024, L: 2048,
; M: 4096, N: 8192, O: 16384, P: 32768, Q: 65536, R: 131072, S: 262144, T: 524288, U: 1048576,
; V: 2097152, W: 4194304, X: 8388608, Y: 16777216, Z: 33554432, ALL(все): 67108863
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
;"NoDrives"=dword:00000004
[HKLM\Software\MicrosoftWindows\CurrentVersion\Policies\Explorer]
;"NoDrives"=dword:00000004
Block-out folder options(Разблокировать опции папки)
[HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
;"NoFolderOptions"=dword:0000000
Q.Некоторые программы работают только под учетной записью Администратора?
A.Из-под учетной записи Администратора в разделе HKLM\SOFTWARE раздел с настройками нужной программы и щелкните на нем правой кнопкой мыши.
Выберите в появившемся меню команду "Permissions" и установите полный доступ на эту ветвь реестра для пользователя или группы пользователей, которым разрешается с ней работать.
Найдите также в ветви HKCU раздел, соответствующий вашей программе, и сделайте его экспорт в reg-файл. Входите теперь в систему под именем обычного пользователя и импортируйте этот reg-файл обратно в реестр. Перегрузите ПК.
Q.Как сделать, чтобы в Welcome Screen появилась учетная запись Администратора?
A. В разделе HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList установите параметр "Administrator"=1 (типа dword).
Q.В Win XP пытаюсь изменять локальные политики, но система не запоминает новые настройки?
A.Если оснастка Gpedit.msc не позволяет изменить локальные политики безопасности, то попробуйте удалить раздел реестра
HKCU\ Software\ Microsoft\ Windows\ CurrentVersion\ Group Policy Objects.
В аналогичных случаях помогает. Либо установите Microsoft Group Policy Management Console (GPMC)
В первом и втором случае указанные в ключах приложения запускаются в контексте текущего пользователя, в третьем -- от имени системы (System).
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown
Файл подкачки, в который потенциально могут попасть незашифрованные аккаунты и пароли, будет очищаться при каждой перезагрузке, если параметру присвоено значение 1 (REG_DWORD).
HKLM\System\CurrentControlSet\Control\Session Manager\Protection Mode
Устраняется возможность атаки с применением троянских DLL, и, как следствие, получения прав администратора. Требуется установить параметр в 1 (REG_DWORD).
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ShutdownWithoutLogon
Установка ключа в 0 (REG_SZ) позволяет запретить завершение работы системы (кнопка "Shutdown" в окне Logon становится недоступной и окрашивается серым цветом).
HKLM\System\CurrentControlSet\Services\EventLog\System\RestrictGuessAccess
HKLM\System\CurrentControlSet\Services\EventLog\Security\RestrictGuessAccess
HKLM\System\CurrentControlSet\Services\EventLog\Application\RestrictGuessAccess
Создание ключей со значением 1 (REG_DWORD) ограничивает доступ к Журналу событий (EventLog).
HKLM\System\CurrentControlSet\Services\EventLog\System\File
HKLM\System\CurrentControlSet\Services\EventLog\Security\File
HKLM\System\CurrentControlSet\Services\EventLog\Application\File
Перевод log-файлов в другой каталог на диске с помощью ключа File (REG_SZ) может затруднить взломщику их умышленную модификацию.
Когда этот ключ установлен в 1 (REG_SZ), уничтожается информация о последнем зарегистрированном пользователе (очищается строка Login в дилоговом окне Logon process).
HKLM\System\CurentControlSet\Services\Lanman Server\Parameters\Hidden
Присвоение ключу значения 1 (REG_DWORD) скрывает имя сервера. Компьютер перестает отображаться в списках, формируемых основными обозревателями домена, хотя его ресурсы по-прежнему доступны всем, кто знает его непосредственный адрес.
HKLM\System\CurentControlSet\Control\SecurePipeServers
Изменение прав доступа к этому разделу позволяет настроить политику безопасности для удаленного редактирования Реестра. По умолчанию редактирование разрешено только членам группы Administrators.
HKLM\System\CurentControlSet\Control\Lsa\RestrictAnonymous (REG_DWORD)
Присвоение этому ключу значения 1 запрещает соединение с ресурсами компьютера без обязательной регистрации. В частности, это исключает чтение списка учетных записей и их описаний (descriptions).
HKLM\System\CurentControlSet\Services\LanmanServer\Parameters\AutoShareServer (REG_DWORD)
HKLM\System\CurentControlSet\Services\LanmanServer\Parameters\AutoShareWks (REG_DWORD)
Установка этих ключей в 0 (первый, соответственно, для NT Server, второй -- для NT Workstation) исключает администратору сетевой доступ к ресурсам вида \\ComputerName\C$, D$, ..., ADMIN$.
Запрет XP защищать системные файлы:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon надо создать или отредактировать DWORD параметр "SFCDisable", установив ему значение "ffffff9d"
В Internet Explorer существует, и до последнего момента не была прикрыта уязвимость, определяемая антивирусами как Exploit.CodeBaseExec. Эта уязвимость позволяет запускать любые программы, расположенные на ПК пользователя, открывшего веб-страничку с нехитрым кодом.
Если же вы хотите повысить уровень защиты самого IE от подобных атак, то в реестре установите такой параметр:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0
"1004"=dword:00000001
После этого при попытке запуска потенциально опасного скрипта будет выдаваться запрос к пользователю.
B WinXP появилась новая системная папка «Общие документы» («Shared Documents») — если в неё переместить мышью какой-либо файл или папку, то они станут доступны из сети. Если же вам не нравится эта опция, и вы хотите сами контролировать ресурсы общего пользования, то просто удалите раздел реестра
HKLM\SOFTWARE\Microsoft\ Windows\CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders\ {59031a47-3f72-44a7-89c5-5595fe6b30ee} — папка «Shared Documents» после перезагрузки исчезнет.
WinXP необходимо сконфигурировать таким образом, чтобы предотвратить доступ анонимно регистрирующихся пользователей ко всем ресурсам: HKLM\SYSTEM\CurrentControlSet\Control\Lsa поменяв параметр "restrictanonymous"=dword:00000000 на 00000001.
Q.Как сделать, чтобы пpи остановке/запyске стиpался/создавался новый файл подкачки pagefile.sys?
A: [HKLM\ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management]
Параметр "ClearPageFileAtShutdown"=dword:00000001
Этот ключ не стирает пейджфайл с диска, а заполняет его весь нулями, т.е. очищает. Hо сам файл на диске остается. Тоже самое делается в апплете Local Secutity Policy в Administrative Tools, раздел Local Policies, Security Optinos, ключ Clear virtual memory pagefile when system shuts down.
cmd под ударом
Различная хакерская нечисть пытается запустить cmd.exe для удаленного управления системой.Самое время переименовать cmd.exe на произвольное имя.Не забывай, что копия интерпретатора находится в c:\windows\dllcache\cmd.exe, и ее также нужно переименовать. Но это еще не все. Теперь закрепи все изменения в реестре и не дай хакеру ни малейшего шанса :). Сделай так, чтобы, если хакер пытается обратиться к cmd.exe, вместо шелла запускался обычный блокнот, появление которого будет сигналом об опасности. Перейди во вкладку «HKLM\Software\Microsoft\Windows\Current Version\App Patch», создай там вложенный раздел cmd.exe и измени значение дефолтового параметра на путь к блокноту.
Не секрет, что хакеры любят сканировать сети на предмет расшаренных ресурсов. Если у тебя есть общие папки пользователей, стоит задуматься над резонным вопросом, нужно ли светить список шар наружу. Можно отключить NULL-сессию, то есть отображение общих папок для анонимных пользователей. Зайди во вкладку «HKLM\SYSTEM\CurrentControlSet\Control\Lsa» и выстави значение 1 у строкового параметра RestrictAnonymous. Теперь, чтобы посмотреть список расшаренных каталогов, нужно залогиниться под системным юзером.
Часто бывает, что троянец записывает в файл hosts ссылку вида «microsoft.com hacker-ip-address». После обращения к сайту MS на компьютер жертвы заливается еще один троян (как правило, через дыру в браузере). Чтобы этого не произошло, измени местоположение файла hosts (и lmhosts). в разделе «HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters2 - смени значение DataBasePath на другой путь.