Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как и написал NKritsky в ядре нет пользователей [update] 24.01.06 17:35 Число просмотров: 2122
Автор: amirul <Serge> Статус: The Elderman Отредактировано 24.01.06 18:23 Количество правок: 1
|
Есть токены. Контролем за базой данных имен занимается процесс lsass.exe, который ясное дело в третьем кольце. Выхода два: либо перекинуть информацию в третье кольцо (своему сервису или через APC) и дождаться пока SID сконвертируется в имя либо ковырять базу самому. Как известно, она находится в SAM
Самый примитивный способ конвертирования SID-а в имя, не выходя из нулевого кольца (только для локальных пользователей):
В \Registry\MACHINE\SAM\SAM\Domains\Account\Users\Names находятся ключи с именами всех локальных пользователей, а типом дефолтового значения для каждого такого ключа, является RID - последний элемент в SID-е. Достаточно просто перечислить все подключи указанного ключа и сравнивать типы с RID-ом. При совпадении - имя найдено.
Более правильный способ - выковыривать имя из V-значения подключа \Registry\MACHINE\SAM\SAM\Domains\Account\Users
Но с его структурой разбираться лень
------------------
Поковырял немного. Короче в V-блоке по смещению (от начала блока) 12 (0xc) лежит ULONG - смещение (от конца структуры) до имени, а следом за ним (по смещению 16 от начала блока) - количество БАЙТ в имени. Так как имя в юникоде, то символов там ровно в два раза меньше. Теперь о загадочной фразе "от конца структуры". Структура имеет длину 0xcc (204) байта и вроде бы не менялась со времен как минимум NT4. Какие еще поля есть в этой структуре - бог весть, но в ней записана вся информация, имеющая фиксированную длину. Вся информация, которая может иметь переменную длину записана в том же виде, что и имя (смещение от конца и длина).
|
|
|