Должен ли я принять меры для предотвращения чтения пароля при вызове CreateProcessWithLogonW?

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

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

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

Например, начните с такой структуры:

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

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

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

1 ответ

Решение

Как насчет разделения exe и пароля с помощью Password Vault? -> Как сохранить и получить учетные данные из диспетчера учетных данных Windows Vault?

Не помогает против внутренней работы, но в случае, если exe попадает в дикую природу.

Другие вопросы по тегам