Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Flukostat  
#1 Оставлено : 25 января 2024 г. 12:11:18(UTC)
Flukostat

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.01.2024(UTC)
Сообщений: 4
Российская Федерация

Добрый день.
Задача - посмотреть сертификаты в контейнере пользователя на удаленном сервере, контейнер установлен в реестре, логин и пароль пользователя известны.

Если под пользователем войти на удаленный сервер и выполнить команду
"C:\Program Files\Crypto Pro\CSP\certmgr.exe" -list -container "\\.\Registry\name_of_container" -silent 1>c:\!\Name_Of_Container.txt
то информация о сертификате выводится в файл.

Если создать задачу в Task Scheduler с такой же командой и выполнить ее, когда пользователя нет в системе, то файл не формируется.
Если программно через WMI подключиться к удаленному серверу и выполнить эту же команду (InvokeMethod), то файл тоже не формируется.
В последнем случае другие команды ОС отрабатывают нормально и соответствующие программы запускаются и выводят информацию в файл.

Вопрос - certmgr работает только в интерактивном режиме?
Можно как-то простыми командами (без asn1 парсинга ключа реестра header.key) получить свойства сертификата (издатель, субъект, срок действия)?
Offline nickm  
#2 Оставлено : 25 января 2024 г. 12:44:12(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,675

Сказал(а) «Спасибо»: 618 раз
Поблагодарили: 460 раз в 434 постах
Автор: Flukostat Перейти к цитате
Вопрос - certmgr работает только в интерактивном режиме?

Ключ хранится в улье пользователей, в который маппится файл реестра пользователя в момент авторизации этого самого пользователя в УЗ, что логично.

Как вариант, Вы можете поступить следующим образом:
1. Определить "SID" нужного пользователя;
2. Смаппить файл улья пользователя в реестр в раздел "HKEY_USERS" под полученным "SID" в п.1;
3. Выполнить необходимую команду от имени пользователя.

Как второй вариант, использовать:
Код:
psexec -u [username] -p [userpass] command

, реестр пользователя в "HKEY_USERS" смаппится автоматически.
Offline Flukostat  
#3 Оставлено : 25 января 2024 г. 13:30:41(UTC)
Flukostat

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.01.2024(UTC)
Сообщений: 4
Российская Федерация

Автор: nickm Перейти к цитате
Автор: Flukostat Перейти к цитате
Вопрос - certmgr работает только в интерактивном режиме?

Ключ хранится в улье пользователей, в который маппится файл реестра пользователя в момент авторизации этого самого пользователя в УЗ, что логично.

Как вариант, Вы можете поступить следующим образом:
1. Определить "SID" нужного пользователя;
2. Смаппить файл улья пользователя в реестр в раздел "HKEY_USERS" под полученным "SID" в п.1;
3. Выполнить необходимую команду от имени пользователя.

Как второй вариант, использовать:
Код:
psexec -u [username] -p [userpass] command

, реестр пользователя в "HKEY_USERS" смаппится автоматически.


Не совсем так.
Certmgr ничего не делает в реестре пользователя.
Контейнеры КриптоПро для пользователя устанавливаются в реестре в
HKLM\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\SID_Of_User\Keys\Name_Of_Container.
Certmgr обращается именно туда
Untitled.png (132kb) загружен 5 раз(а).
Offline nickm  
#4 Оставлено : 25 января 2024 г. 15:57:12(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,675

Сказал(а) «Спасибо»: 618 раз
Поблагодарили: 460 раз в 434 постах
Автор: Flukostat Перейти к цитате
Не совсем так.

Так, походу запутался, позже вернусь с проверенным ответом.

UPD:
Проверил, Ваш первоначальный сценарий полностью работоспособный - достаточно запустить сценарий от нужного пользователя через планировщик задач и никаких ошибок с доступом к контейнеру не возникает, поэтому не понятно, что у Вас вызвало вопрос, и Мне пришлось "нести чепуху" с подключением файлов реестров пользователей.

Отредактировано пользователем 25 января 2024 г. 17:23:40(UTC)  | Причина: Не указана

Offline Flukostat  
#5 Оставлено : 25 января 2024 г. 17:42:49(UTC)
Flukostat

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.01.2024(UTC)
Сообщений: 4
Российская Федерация

Автор: nickm Перейти к цитате
Автор: Flukostat Перейти к цитате
Не совсем так.

Так, походу запутался, позже вернусь с проверенным ответом.

UPD:
Проверил, Ваш первоначальный сценарий полностью работоспособный - достаточно запустить сценарий от нужного пользователя через планировщик задач и никаких ошибок с доступом к контейнеру не возникает, поэтому не понятно, что у Вас вызвало вопрос, и Мне пришлось "нести чепуху" с подключением файлов реестров пользователей.


Таки вот нет, certmgr запускается, что видно по логу шедулера, но certmgr файла не создает.
Я устанавливаю в Task Scheduler флаг Run whether user is logged on or not, задаю старт задачи по расписанию через 2 мин, и отлогиниваюсь.
Через 5 мин проверяю. Задача выполнилась успешно, но файла нет.
Вы так же делаете или запускаете задачу при вошедшем интерактивном пользователе?
Offline Андрей *  
#6 Оставлено : 25 января 2024 г. 18:01:14(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,752
Мужчина
Российская Федерация

Сказал «Спасибо»: 577 раз
Поблагодарили: 2306 раз в 1807 постах
попробуйте через Process Monitor от другого пользователя посмотреть, что происходит в этой папке в момент запуска утилиты.
Техническую поддержку оказываем тут
Наша база знаний
Offline Flukostat  
#7 Оставлено : 25 января 2024 г. 18:14:46(UTC)
Flukostat

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.01.2024(UTC)
Сообщений: 4
Российская Федерация

Автор: Андрей * Перейти к цитате
попробуйте через Process Monitor от другого пользователя посмотреть, что происходит в этой папке в момент запуска утилиты.

Гм...
Сорри, тут в итоге нарисовалась проблема иного толка.
В истории шедулера фиксируется ошибка 2147944039 (invalid command line options), если убрать перенаправление вывода certmgr в файл (>c:\!\1.txt), то выполняется без ошибок.
По итогу, пока вышел из положения след. командой шедулера:
cmd с ключами /c ""C:\Program Files\Crypto Pro\CSP\certmgr.exe" -list -container "\\.\Registry\Name_Of_Container" -silent > c:\!\1.txt".
Отрабатывает вне зависимости от того, залогинен юзер или нет.

Спс за участие.

Отредактировано пользователем 25 января 2024 г. 18:59:36(UTC)  | Причина: Не указана

Offline nickm  
#8 Оставлено : 25 января 2024 г. 21:14:34(UTC)
nickm

Статус: Активный участник

Группы: Участники
Зарегистрирован: 31.05.2016(UTC)
Сообщений: 2,675

Сказал(а) «Спасибо»: 618 раз
Поблагодарили: 460 раз в 434 постах
Автор: Flukostat Перейти к цитате
По итогу, пока вышел из положения след. командой шедулера:

Угу, поэтому, всегда/ зачастую, использую сценарии, вместо того, что бы передавать параметры в cmd.exe:
Автор: nickm Перейти к цитате
достаточно запустить сценарий от нужного пользователя
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.