Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Azure-AD-Password-Checker — Azure AD Password Checker | Kitploit
Инструменты/GitHubGitHub/quahac/azure-ad-password-checker
Оборонительные ИнструментыАудит конфигурацииБезопасность облачных средУправление идентификацией и доступом (IAM)АутентификацияRed Teaming
GitHubquahac/azure-ad-password-checker

Azure-AD-Password-Checker

Azure AD Password Checker

Репозиторий
86621 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Azure AD Password Checker

В среде Azure AD можно определить, отключена ли у пользователя многофакторная проверка подлинности (MFA), без необходимости в каких-либо особых привилегиях. Это можно сделать, проанализировав дату создания учётной записи и дату последнего изменения пароля.

Если дата и время создания учётной записи совпадают с датой и временем последнего изменения пароля, это может указывать на то, что с момента создания учётной записи не было никакого взаимодействия с человеком, и пользователь не смог включить многофакторную проверку подлинности (MFA) или изменить свой пароль. Существуют и другие «аномалии», например, когда дата изменения пароля старше даты создания. Это также говорит о том, что многофакторная проверка подлинности (MFA) не могла быть включена, потому что пользователь ещё не был создан!

Обновление от 16-10-2023:

  • Какова вероятность того, что два пользователя изменят свои пароли в одно и то же время? Это можно считать ещё одной аномалией MFA. Она будет отмечена синим цветом и обозначена как (количество появлений)

Обновление от 18-02-2024:

  • Вывод пользователей с аномалиями MFA в файл
  • Многофакторную проверку подлинности (MFA) можно включить без необходимости смены пароля, используя телефонный звонок или SMS. Однако, если в учётной записи пользователя не указан номер телефона, администраторы не смогут активировать параметры проверки по телефону или с помощью текстовых сообщений. Это упущение означает, что пользователи не могут подтвердить свой номер телефона при создании учётной записи или во время входа в систему. Отсутствие проверки номера телефона может облегчить выявление учётных записей, где MFA не настроена. Чтобы решить эту проблему, учётные записи без номера телефона будут отмечены светло-голубым цветом и помечены как (phone numbers: x).
    См.: Microsoft/Azure SMS или телефонный звонок — Во время первой регистрации или входа пользователю предлагается указать и подтвердить номер телефона. При последующих входах пользователю предлагается выбрать параметр «Отправить код» (Send Code) или «Позвонить мне» (Call Me).

Эта информация может быть полезна для выявления потенциальных угроз безопасности и предназначена для использования как красными, так и синими командами.

Для работы этого инструмента требуется файл базы данных roadrecon или JSON-файл, извлечённый с помощью опции --code-javascript. Инструмент Roadrecon разработан dirkjanm и может быть загружен с github или .

Скачать инструмент
https://github.com/dirkjanm/ROADtools
pip install roadrecon

Как использовать, см.:

root@kitploit:~
python3 azurepwchecker.py
usage: azurepwchecker.py [-h] [--roadrecon-dump] [--roadrecon-dump-mfa] [-d DB] [-m] [-l] [-ll] [-lll] [-la] [-lo]
                         [-ji JSON_INPUT] [-c]

Azure AD Password Checker - This is a parser for generated JSON file or the roadrecon database file designed for use by both red and blue teams. 
Database can be created when using --code-javascript option to extract 'merged_users.json' file with be created to later input this file with --json-input argument.
And roadrecon generated roadrecon.db file can be used! roadrecon is developed by https://github.com/dirkjanm credits to him!

options:
  -h, --help            show this help message and exit
  -d DB, --db DB        Specify the path to the 'roadrecon.db' database file, default is this location
  -m, --mfa-list        User Accounts without MFA (No privileged user required)! This argument helps identify user
                        accounts that have not enabled Multi-Factor Authentication (MFA). If an account's creation
                        date and time match its last password change date and time, it may indicate that no human
                        interaction has occurred since the account was created, and the user has not been able to
                        enable MFA or change their password. And there are other 'anomalies' such as the password
                        change date being older than the creation date. This suggests also that Multi-Factor
                        Authentication (MFA) couldn't be enabled because the User wasn't created yet! :-]
  -mo OUTFILE, --outfile OUTFILE
                        Output users with MFA anomalies to file
  -l, --pw-month        User accounts that had their passwords changed last month
  -ll, --pw-year        User accounts that had their passwords changed last year
  -lll, --pw-older      User accounts that haven't changed their passwords in a long time, oldest first
  -la, --admin          User accounts that are members of 'Admin' named groups, including 'Global Reader'
  -lo, --out-of-hours   User password change that occurred outside of office hours, specifically between 5:00 PM
                        (17:00) and 8:00 AM (08:00) on weekdays, as well as on Saturdays and Sundays
  -ji JSON_INPUT, --json-input JSON_INPUT
                        Provide the JSON file imported from your web browser's console using JavaScript. For
                        'createdDateTime' and 'lastPasswordChange' details, ensure you download the JSON output using
                        the '--code-javascript' option.
  -c, --code-javascript
                        Perform extraction even if 'azurepwchecker.py' or 'roadrecon' is unavailable. This script
                        enables extraction through the JavaScript console of a web browser. To proceed, ensure you
                        have a valid account to log in at https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants
                        /UserManagementMenuBlade/~/AllUsers or an active session on a computer. Copy and paste the
                        provided JavaScript code into the browser's console. Once the session is validated and you
                        have the necessary permissions, a JSON file named 'merged_users.json' will be generated. You
                        can then import it using the following command as example: 'azurepwchecker.py --json-input
                        merged_users.json -m'
  -v, --version         show program's version number and exit
  
run roadrecon first:
  (Run the following command to install the tool "pip install roadrecon)"

  --roadrecon-dump      "roadrecon dump" command or do it with roadrecon
  --roadrecon-dump-mfa  "roadrecon dump --mfa" command (requires privileged access) or do it with roadrecon

Нет roadrecon > сгенерируйте и скопируйте azurepwchecker.py --code-javascript или js-файл из папки:

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

  1. Войдите на портал Azure

    • Перейдите на https://portal.azure.com и войдите, используя свою действующую учётную запись.
  2. Откройте раздел управления пользователями

    • Перейдите в раздел User Management на портале Azure.
  3. Откройте инструменты разработчика

    • Нажмите F12 в веб-браузере, чтобы открыть инструменты разработчика.
  4. Выполните скрипт

    • Скопируйте и вставьте предоставленный скрипт.
  5. Получите UsersList и UserInfo

    • Скрипт загрузит список пользователей (UsersList) вместе с информацией о пользователях, включая дату создания и дату последнего изменения пароля.
  6. Загрузите объединённую информацию о пользователях

    • После завершения выполнения скрипта проверьте загрузки. Если всё прошло гладко, будет создан файл с именем merged_users.json.
  7. Запустите Azure AD Password Checker

    • azurepwchecker.py --json-input merged_users.json

См. пример:

https://github.com/quahac/Azure-AD-Password-Checker/assets/49560894/0fd77e2c-068e-4aef-aafd-c5ec23db7385

См. вступление:

https://user-images.githubusercontent.com/49560894/233073626-d1ccc173-c3cf-4751-878b-e8f0c65e6c0a.mp4

Обновление от 16-10-2023:

double_lastpasswordchangedatetime

Как использовать аргумент --code-javascript для создания списка пользователей на портале Azure, который затем можно импортировать с помощью команды azurepwchecker.py --json-input merged_users.json:

Обновление от 13-02-2024:

Я загрузил отредактированную версию GraphRunner от @dafthack, и ему за это спасибо. В этой изменённой версии я добавил новую функцию, которая позволяет читать HAR-файлы прямо с устройства «жертвы». Эта новая функция помогает проверять и анализировать токены доступа (Access Tokens) для получения доступа к различным разрешениям или областям (scopes). Кроме того, если срок действия токена доступа истёк, эта версия позволяет использовать токен обновления (Refresh Token) для создания нового токена доступа. Этот процесс чувствителен ко времени, но он устраняет необходимость в именах пользователей и паролях, если вы уже вошли в среду Office365, поскольку требует только токены сеанса, найденные в HAR-файлах.

Пожалуйста, поймите, что код может показаться немного неорганизованным. Мой опыт в основном не связан с JavaScript, поэтому я сосредоточился на добавлении новых функций, а не на организации кода.

  1. Загрузите HAR-файл(ы), используя инструменты разработчика, доступные в веб-браузерах. Для большинства браузеров просто нажмите F12, чтобы открыть инструменты разработчика, затем перейдите на вкладку 'Network' (Сеть), чтобы сохранить HAR-файлы, после обновления веб-страницы: video

  2. Загрузите свой HAR-файл(ы) через предоставленный интерфейс. После загрузки вы можете просматривать различные токены доступа для анализа деталей сеанса, включая их области действия и многое другое. Токены, отображаемые красным цветом, указывают на то, что срок их действия истёк. GraphRunner также поддерживает использование токенов обновления для создания новых действительных токенов доступа при необходимости: video

  3. Добавлены функции, позволяющие загружать полные данные пользователей в JSON-файл, обнаруживать аномалии MFA в учётных записях и загружать список этих аномалий: video