Идентификаторы безопасности SID
Идентификаторы безопасности
Идентификаторы безопасности — это уникальные номера пользователей, групп, доменов, служб и компьютеров. То есть у тех объектов, которые могут получать доступ к другим объектам, таким как: файлы, драйверы, разделы дисков, реестр.
SID представляет собой число переменной длины, которое состоит из:
- номера версии идентификатора;
- идентификатора полномочий, который показывает максимальный уровень полномочий. Для группы «Все» равно 1. Для конкретной учетной записи или группы равно 5;
- несколько чисел подчиненных полномочий;
- значения RID, которое гарантирует уникальность.
SID всегда начинается с “S”, например: S-1-5-21-1463437245-1224812800-863842198-1128.
- 1 — номер версии;
- 5 — идентификатор полномочий;
- 21, 1463437245, 1224812800, 863842198 — значения подчиненных полномочий;
- 1128 — RID.
Логика назначения SID
Каждый локальный пользователь создается на основе компьютерного или доменного идентификатора. А для уникальности в конце записывается уникальный RID для каждого объекта. RID для новых пользовательских учетных данных начинается с 1000, и увеличивается с каждым новым пользователем и группой. До 1000 идут RID для стандартных пользователей, например 500 для пользователя «Администратор», 501 для «Гость».
Если компьютер повышается до контроллера домена, то за основу берется идентификатор компьютера и из него создается идентификатор домена. А идентификатор компьютера генерируется заново.
Стандартные SID
Есть предопределенные идентификаторы. Они одинаковые на всех машинах во всем мире. Так файл, доступный группе Everyone (Все), на одной машине, будет открыт и на другой, если перенести жесткий диск туда.
В системе Windows существуют следующие стандартные SID:
- s-1-0-0 — Nobody (Никто) — используется, когда идентификатор неизвестен;
- s-1-1-0 — Everyone (Все) — группа, включающая всех пользователей за исключением анонимных;
- S-1-2-0 — Local (Локальная) — группа пользователей, вошедших в терминалы, которые физически подключены к системе;
- S-1-3-0 — Creator Owner ID (ID Владельца) — идентификатор владельца, используемый в наследуемых ACL;
- S-1-3-1 — Creator Owner ID (ID Группы Владельца) — тоже что и выше, но для группы владельца;
- S-1-5-18 — LocalSystem — используется службами;
- S-1-5-19 — LocalService — используется службами;
- S-1-5-20 — NetworkService — используется службами.
Работа с утилитой PsGetsid.exe
Для просмотра идентификаторов можно воспользоваться утилитой PsGetsid из набора Sysinternals. Выполнив команду без параметров вы увидите имя компьютера и его SID:
PsGetsid.exe
SID for \\PC-1:
S-1-5-21-679991269-3265548881-4162047351
Указав имя домена — увидите идентификатор домена:
PsGetsid.exe test.domain.local
SID for TEST\test.domain.local:
S-1-5-21-1241004363-267861926-1289139162
Указав свое имя узнаете свой идентификатор, он будет зависеть от SID домена. И на всех компьютерах в домене будет одинаковым:
PsGetsid.exe testuser
SID for TEST\testuser:
S-1-5-21-1241004363-267861926-1289139162-1155
Как видно выше, к доменному SID просто добавили RID. При этом, локальные пользователи с одинаковыми именами на всех компьютерах будут разными.
В качестве параметра можно указать сам идентификатор, утилита в этом случае вернет имя пользователя:
PsGetsid.exe S-1-5-21-1241004363-267861926-1289139162-1155
Account for PC-1\S-1-5-21-1241004363-267861926-1289139162-1155:
User: TEST\testuser
Можно узнать имя администратора домена, для этого используем идентификатор домена и стандартный для администратора RID = 500:
PsGetsid.exe S-1-5-21-1241004363-267861926-1289139162-500
Account for PC-1\S-1-5-21-1241004363-267861926-1289139162-500:
User: TEST\Administrator
Любой компьютер в домене имеет свой SID, он также будет состоять из SID домена и своего RID. Чтобы его узнать пишите домен\имя_компьютера$:
PsGetsid64.exe TEST\SRV-1$
SID for TEST\SRV-1$:
S-1-5-21-1241004363-267861926-1289139162-1610
SIP Процессов
Так как процессы запускаются от имени какого-либо пользователя, то процессы тоже имеют SID. Посмотреть их можно с помощью программы Process Explorer . Для этого нужно открыть свойства выбранного процесса и перейти на вкладку Security:

Выше я смотрю SID пользователя под которым работает один из процессов svhost.exe.
Если понравилась статья, подпишись на мой канал в VK или Telegram .