Security

Существует ли способ аудита AD для определенного пароля?

Раньше мы использовали «стандартный» пароль для всех новых пользователей (например, MyPa55word). Я хочу убедиться, что он больше не используется нигде в нашей системе. Единственный способ, который я могу придумать, как это сделать, это либо а) каким-то образом провести аудит каталога на наличие пользователей с таким паролем, либо б) установить GP, который специально запрещает этот пароль (в идеале, это будет предлагать пользователям сбросить пароль).

У кого-нибудь есть советы по поводу того, как мне к этому подойти?

Ответ 1

Вы можете попробовать найти способ написать сценарий попытки входа в общий ресурс или ресурс, который будет пробовать «стандартный» пароль для каждого пользователя в списке, например, с помощью пакетного файла, а затем записывать в журнал, какие из них были успешными. Но это будет много работы для одного аудита, если вы не являетесь крупным предприятием с большим количеством учетных записей. Возможно, существуют какие-то «серые» утилиты безопасности, но я не знаю, насколько им можно доверять. Возможно, вы сможете получить утилиту для аудита паролей с атакой по словарю (l0phtcrack?) и использовать только пароль по умолчанию в качестве пользовательского словаря. Это может ускорить и упростить работу. Здесь возникают сложности, поскольку эти утилиты являются инструментами, которые как помогают, так и вредят. Некоторые сканеры вредоносных программ будут отмечать их, даже если вы используете их в законных целях. В Windows не так много встроенных утилит проверки паролей для администраторов, поскольку она была создана специально для того, чтобы администраторы могли сбрасывать или удалять пароли, но не знали, что это были «потерянные» или «забытые» пароли.

Ответ 2

Я бы установил значение Enforce password history на большое число (скажем, 10) и либо уменьшил возраст пароля до 30, либо написал сценарий истечения срока действия пароля для всех пользователей. Следующее, что нужно сделать, это посмотреть на учетные записи служб и сбросить их пароли. Если у вас большая среда, это будет непросто (поэтому в 2008 году появились новые управляемые учетные записи служб). Я согласен с предыдущим ответом в том, что утилиты, которые могут восстановить пароль, часто доставляют больше проблем, чем того стоят. Надеюсь, что вы работаете в среде, где пароли можно регулярно удалять, и в этом случае пароль, конечно, со временем исчезнет, если только у вас настроена история паролей.

Ответ 3

В прошлом я использовал pwdump 6 для сброса хешей паролей. Заранее создайте учетную запись с паролем. Если пользователи использовали один и тот же пароль, хеш пароля, сброшенный для пользователей, должен быть одинаковым. Убедитесь, что у вас есть разрешения, так как хеши паролей являются конфиденциальными, поскольку существуют такие инструменты как спец. таблицы, которые имеют размер в несколько гигабайт и позволяют людям найти пароль пользователя по хешу. Linux и unix-системы предотвращают использование спец. таблиц, поскольку они часто добавляют салт, чтобы хеш-таблицы для одной системы не могли быть использованы для второй системы.

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

Ответ 4

Вот несколько идей ни одна из них не очень хороша (с той точки зрения, что они могут вызвать срабатывание антивируса или системы обнаружения вторжений):

  1. Вы можете сбросить хэши паролей из Active Directory и запустить на них программу для взлома паролей. Вы можете получить хеши с помощью fgdump. Остерегайтесь обе эти утилиты, вероятно, вызовут тревогу в вашем антивирусном ПО.

  2. Вы можете написать простой сценарий для итерационного просмотра списка пользователей, проверяя правильность паролей с помощью команды «NET USE». Используйте что-то вроде этого:

   @echo off

    rem Путь назначения для "сопоставления" с "диском" для проверки пароля

    set DESTPATH=\\SERVER\Share

    rem Буква диска, используемая для "сопоставления" с "диском" для проверки пароля

    SET DRIVE_LETTER=Q:

    rem Доменное имя NetBIOS для проверки

    set DOMAIN=DOMAIN

    rem Файл, содержащий список имен пользователей, по одному в строке

    SET USERLIST=userlist.txt

    rem Пароль для проверки

    SET PASSWORD=MyPa55word

    rem Выходной файл

    SET OUTPUT=output.txt

    if exist "%DRIVE_LETTER%\." goto _letter_used

    for /f %%i in (%USERLIST%) do (

        net use %DRIVE_LETTER% %DESTPATH% /USER:%DOMAIN%\%%i %PASSWORD%

        if exist "%DRIVE_LETTER%\." echo %%i password is %PASSWORD%>>%OUTPUT%

        net use %DRIVE_LETTER% /d /y

    )

    goto end

    :_letter_used

    echo %DRIVE_LETTER% уже используется. Измените его на свободную букву диска и запустите заново.

    :end

Поместите список пользователей в «userlist.txt» (по одному имени пользователя в строке), установите переменные в верхней части сценария для ссылки на путь, к которому пользователь должен иметь возможность «сопоставить диск», и убедитесь, что ПК, на котором вы его запускаете, не имеет других «дисков», «сопоставленных» с сервером назначения (поскольку ПК с Windows позволяет использовать только один набор учетных данных для соединений SMB-клиента с данным сервером одновременно).

Схожие статьи

Security

Стоит ли разрешать сотрудникам пересылать свою электронную почту Exchange в GMail?

Security

Легко ли подделать IP-адреса?

Security

Оптимальная политика сложности пароля пользователя

Security

Почему лучше использовать EAP-TTLS вместо PEAP?