Многие программы, такие как runas
на Windows и su
на * nix принимают меры для обеспечения того, чтобы пользователи не делали глупых вещей, таких как запись паролей в пакетных файлах, гарантируя, что пароль не может быть отправлен на него или представлен как аргумент ,Должен ли я принимать меры для предотвращения чтения пароля из вызова CreateProcessWithLogonW?
На работе есть задача, которую необходимо выполнить другому сотруднику, который требует входа в систему в качестве учетной записи администратора домена. Я пишу приложение-заглушку, которое вызывает CreateProcessWithLogonW
, чтобы сделать это без возможности просмотра простого текстового пароля и без указания пароля администратора.
Моя забота заключается в том, что пароль, вероятно, будет отображаться как обычный текст в исполняемом файле, если он открывается шестнадцатеричным редактором (или даже текстовым редактором). Должен ли я принимать меры для обеспечения того, чтобы пароль был сгенерирован запутанным образом в этом приложении?
Е.Г., начните со структурой, как это:
typedef struct _MYPASS
{
unsigned int first4;
unsigned int next4;
unsigned short next2;
unsigned char last1;
} MYPASS;
Затем выполняют арифметические операции над битами для создания ASCII, соответствующий пароль для входа.
Является ли это излишним для внутреннего применения?
Я хотел бы использовать задание планировщика или фоновый демон, чтобы гарантировать, что фактический пользователь, который его запускает, не имеет доступа к пространству процессов запущенного приложения или (что еще хуже) обертки. – eckes