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

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

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

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

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

Категории

Все категории
Loading categories
exchange-scanner — Определение публично доступных серверов Microsoft Exchange и их версий программного обеспечения | Kitploit
Инструменты/GitHubGitHub/bishopfox/exchange-scanner
РазведкаСканеры уязвимостейАнализ уязвимостейСбор информацииВеб-безопасностьБезопасность Электронной Почты
GitHubbishopfox/exchange-scanner

exchange-scanner

Определение публично доступных серверов Microsoft Exchange и их версий программного обеспечения

Репозиторий
12 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

Сканер Microsoft Exchange Server

пример сканирования

Описание

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

Для этого используются следующие методы:

  • Определение версии Outlook Web Access (OWA) по заголовкам ответов, содержимому страницы входа и хешам favicon
  • Определение версии инструмента экспорта Exchange Control Panel (ECP) по XML-ответам
  • Определение версии конечной точки Autodiscover по заголовкам ответов
  • Идентификация служб SMTP, IMAP и POP3 на распространённых портах по баннерам служб

Обнаруженные номера сборок сопоставляются с таблицей версий, полученной с сайта Microsoft, которая охватывает все выпуски от Exchange Server 5.5 до Exchange Server Subscription Edition (SE), включая уровни Service Pack (SP), Cumulative Update (CU), Security Update (SU), Hotfix Update (HU) и Update Rollup (RU). Совпадения выводятся с названием продукта, датой выпуска и строками CPE в формате словаря NVD.

Начало работы

Предварительные требования

Рекомендуемый способ запуска сканера — через Docker, для которого не требуются локальные зависимости, кроме самого Docker. Если вы хотите запускать скрипт напрямую, учтите, что он разработан для 64-разрядного Debian Linux, но должен работать с любым вариантом Linux, поддерживаемым Python 3, dnsx и fingerprintx (с небольшими изменениями в скрипте установки).

Установка

Docker (рекомендуется)

Соберите образ. Он включает Python, зафиксированные Python-пакеты и привязанные к версиям бинарные файлы dnsx и fingerprintx, а при сборке загружает таблицу версий Exchange Server с сайта Microsoft:

root@kitploit:~
docker build -t exchange-scanner .

Затем запустите сканер, передав ему те же аргументы, которые вы передавали бы скрипту (описаны ниже в разделе «Использование»):

root@kitploit:~
# Scan a single target
docker run --rm exchange-scanner -q -t 192.168.5.3

# Scan a list of targets (mount the file into the container)
docker run --rm -v "$PWD/targets.txt:/app/targets.txt" exchange-scanner -l targets.txt

Пересоберите образ, чтобы обновить таблицу версий.

Установка вручную

Выполните scripts/install-requirements.sh, чтобы установить необходимые инструменты, пакеты и другие зависимости. Python-пакеты зафиксированы на конкретных версиях в scripts/requirements.txt.

Вы можете в любой момент повторно запустить scripts/get-exchange-versions.py отдельно, чтобы обновить таблицу версий ПО, находящуюся в exchange-versions.json.

Использование

Запустите скрипт exchange-scanner.py с параметром -h, чтобы просмотреть подробности использования:

root@kitploit:~
❯ ./exchange-scanner.py -h
usage: exchange-scanner.py [-h] [-q] [-d] [-x TIMEOUT] [-o OUTFILE] (-t TARGET | -l LIST)

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Suppress log output (except errors)
  -d, --debug           Print debugging messages
  -x TIMEOUT, --timeout TIMEOUT
                        Set timeout for HTTP requests (defaults to 3 seconds)
  -o OUTFILE, --outfile OUTFILE
                        Save output to a file instead of writing to stdout
  -t TARGET, --target TARGET
                        A single hostname or IP address to scan
  -l LIST, --list LIST  File containing a list of hostnames and/or IP addresses to scan (one per line)

Обязательно: -t или -l

  • Чтобы просканировать одну цель, используйте -t с одним именем хоста или IP-адресом. Если имя хоста разрешается в несколько IP-адресов, скрипт просканирует каждый из них отдельно.
  • Чтобы просканировать несколько целей одновременно, создайте файл, в котором каждая строка содержит одно имя хоста или IP-адрес, а затем используйте -l с именем этого файла.

Журналирование: чтобы подавить большую часть вывода журнала, используйте -q. Чтобы увидеть больше подробностей в журнале, используйте -d.

Тайм-аут: чтобы изменить максимальное время ожидания ответа на каждый HTTP-запрос, укажите значение тайм-аута в секундах (по умолчанию — 3). Имейте в виду, что один IP-адрес при определённых обстоятельствах может породить более 200 запросов (хотя большинство сканирований не достигает такого объёма), поэтому обычно предпочтителен более короткий тайм-аут.

Вывод: по умолчанию результаты сканирования выводятся в формате JSON. Чтобы сохранить вывод в файл вместо вывода в stdout, используйте -o с именем файла.

Пример

root@kitploit:~
$ ./exchange-scanner.py -q -t 192.168.5.3
[
    {
        "hostname": "192.168.5.3",
        "ip_address": "192.168.5.3",
        "build_number": "15.2.1118",
        "exchange_services": [
            "https://192.168.5.3:443",
            "imaps://192.168.5.3:993"
        ],
        "product_name": "Exchange Server 2019 CU12 (2022H1)",
        "major_version": "2019",
        "update": "Cumulative Update 12",
        "security_update": null,
        "release_date": "2022-04-20",
        "recalled": false,
        "cpes": [
            "cpe:2.3:a:microsoft:exchange_server:2019:cumulative_update_12:*:*:*:*:*:*",
            "cpe:2.3:a:microsoft:outlook_web_access:2019:cumulative_update_12:*:*:*:*:*:*"
        ]
    }
]

Разное

Правовое предупреждение

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

Лицензия

Этот проект распространяется под лицензией GNU General Public License.

Возможности и ограничения

  • Сканер в настоящее время проверяет только порты по умолчанию для служб по умолчанию.
  • Предполагается, что цель сканируется с внешней точки.
  • Для определения версий при обнаружении частичных номеров сборок используется нечёткое сопоставление.
  • Он также помечает обновления, отозванные Microsoft, с помощью поля recalled в выводе.
  • Строки CPE соответствуют формату словаря CPE NVD. Поскольку словарь NVD отслеживает обновления только до уровня CU/SP/RU (не SU/HU), эти CPE указаны по принципу «наилучшего соответствия» и могут не совпадать с записью словаря точно. Полная обнаруженная информация (точный номер сборки, уровень SU/HU) сохраняется в других полях результата.
Скачать инструмент