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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2020-0688 — Vulnerability scanner for CVE-2020-0688 | Kitploit
Инструменты/GitHubGitHub/cert-lv/cve-2020-0688
ReconnaissanceVulnerability ScannersExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubcert-lv/cve-2020-0688

CVE-2020-0688

Vulnerability scanner for CVE-2020-0688

Репозиторий
816 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Определение серверов Exchange, уязвимых к CVE-2020-0688

CVE-2020-0688 — критическая уязвимость в Microsoft Exchange, вызванная использованием статических ключей. Хотя для эксплуатации требуются действительные учётные данные (на уровне почтового пользователя) и риск массовой эксплуатации низок, эта уязвимость может быть очень полезна в целевых атаках, так как приводит к RCE на уровне SYSTEM.

Дополнительная информация:

  • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
  • https://www.thezdi.com/blog/2020/2/24/cve-2020-0688-remote-code-execution-on-microsoft-exchange-server-through-fixed-cryptographic-keys
  • https://www.tenable.com/blog/cve-2020-0688-microsoft-exchange-server-static-key-flaw-could-lead-to-remote-code-execution

Примечания о ложноотрицательных результатах

Существует несколько источников известных ложноотрицательных результатов (уязвимые серверы Exchange, которые будут пропущены этим скриптом):

  1. Потенциальные серверы Exchange предварительно отбираются путём идентификации хостов, у которых открыты оба порта — 25 и 443. Если в какой-либо конфигурации один из них заблокирован, такие серверы будут пропущены.

  2. zmap оптимизирован на скорость и масштабируемость в ущерб точности. Обычно несколько последовательных запусков zmap дают немного разные результаты. Как следствие, несколько запусков этого скрипта также будут показывать немного разные результаты.

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

  3. Мы не пытаемся действовать скрытно, поэтому некоторые межсетевые экраны могут просто заблокировать нас как робота.

  4. Поскольку мы не используем сложное снятие отпечатков и полагаемся только на версию, которую сообщает сам сервер Exchange, мы ограничены первыми тремя полями в номере версии.

    Например, последнее кумулятивное обновление для Exchange Server 2019 — 15.2.529.5, выпущенное в декабре, является уязвимым. Последнее обновление, содержащее исправление, — 15.2.529.8. Оба они сообщают свою версию как 15.2.529, поэтому скрипт будет считать, что сервер исправлен, даже если на нём не установлено последнее обновление и он уязвим.

    Однако на практике, похоже, есть либо администраторы Exchange, обновляющие свои системы сразу после выхода исправлений, либо те, кто живёт по принципу «работает — не трогай». Промежуточного варианта нет.

Требования

zmap, Python >= 3.5, модули:

  • dnspython
  • pyOpenSSL
  • requests

Вы можете установить их глобально с помощью:

root@kitploit:~
$ sudo dnf install zmap python3-gevent python3-dns python3-pyOpenSSL

или:

root@kitploit:~
$ sudo apt install zmap python3-gevent python3-dns python3-openssl

Модули Python также можно установить локально, через virtualenv:

root@kitploit:~
$ virtualenv -p python3 CVE-2020-0688
$ . ./CVE-2020-0688/bin/activate
$ pip install -r ./requirements.txt

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

Для базового сканирования вам нужен только файл с IP-адресами/подсетями (в формате CIDR) для сканирования:

root@kitploit:~
$ ./scan.py ~/my_networks.txt output.csv

Результат будет записан в формате CSV со следующими столбцами:

IPВерсия ExchangeИмя сервераPTRCommon Name (из TLS-сертификата)

Опционально можно запросить вывод информации обо всех найденных серверах Exchange:

root@kitploit:~
$ ./scan.py -f ~/my_networks.txt output.csv

В этом случае будет добавлен ещё один столбец, указывающий, уязвим ли сервер:

IPВерсия ExchangeУязвим?Имя сервераPTRCommon Name (из TLS-сертификата)

Вы также можете указать файл с IP-адресами/подсетями в чёрном списке (опция -b), изменить количество параллельных задач (-p) или длину таймаутов (-t):

root@kitploit:~
$ # ./scan.py -h
usage: scan.py [-h] [-b BLACKLIST] [-f] [-p PARALLEL] [-t TIMEOUT]
               input output

Определение серверов Exchange, уязвимых к CVE-2020-0688.

positional arguments:
  input                 Входной файл, каждая строка содержит один IP/подсеть
  output                Файл для сохранения результатов (в формате CSV)

optional arguments:
  -h, --help            показать это справочное сообщение и выйти
  -b BLACKLIST, --blacklist BLACKLIST
                        Файл с IP/подсетями, которые следует исключить
  -f, --full            Не отфильтровывать серверы Exchange, которые выглядят обновлёнными
  -p PARALLEL, --parallel PARALLEL
                        Сколько запросов отправлять параллельно (по умолчанию: 1000)
  -t TIMEOUT, --timeout TIMEOUT
                        Таймаут (в секундах) для сетевых подключений (по умолчанию: 5)
Скачать инструмент