1

Многие программы, такие как runas на Windows и su на * nix принимают меры для обеспечения того, чтобы пользователи не делали глупых вещей, таких как запись паролей в пакетных файлах, гарантируя, что пароль не может быть отправлен на него или представлен как аргумент ,Должен ли я принимать меры для предотвращения чтения пароля из вызова CreateProcessWithLogonW?

На работе есть задача, которую необходимо выполнить другому сотруднику, который требует входа в систему в качестве учетной записи администратора домена. Я пишу приложение-заглушку, которое вызывает CreateProcessWithLogonW, чтобы сделать это без возможности просмотра простого текстового пароля и без указания пароля администратора.

Моя забота заключается в том, что пароль, вероятно, будет отображаться как обычный текст в исполняемом файле, если он открывается шестнадцатеричным редактором (или даже текстовым редактором). Должен ли я принимать меры для обеспечения того, чтобы пароль был сгенерирован запутанным образом в этом приложении?

Е.Г., начните со структурой, как это:

typedef struct _MYPASS 
{ 
    unsigned int first4; 
    unsigned int next4; 
    unsigned short next2; 
    unsigned char last1; 
} MYPASS; 

Затем выполняют арифметические операции над битами для создания ASCII, соответствующий пароль для входа.

Является ли это излишним для внутреннего применения?

+1

Я хотел бы использовать задание планировщика или фоновый демон, чтобы гарантировать, что фактический пользователь, который его запускает, не имеет доступа к пространству процессов запущенного приложения или (что еще хуже) обертки. – eckes

ответ