Содержание статьи
- Введение
- Разведка
- Определение версии
- CVE-2006-1654
- Поиск директорий и файлов
- Защита от поиска директорий и файлов
- Защита от определения версии
- Эксплуатация уязвимостей
- Поиск эксплоитов
- Подбор паролей
- Защита от брутфорса
- Ограничение доступа по IP
- Закрепление в системе
- Заливка шелла
- Ограничение учетной записи
- CIS Apache Tomcat 7 Benchmark
- Заключение
WARNING
Статья адресована специалистам по безопасности и тем, кто собирается ими стать. Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Введение
Apache Tomcat — открытое приложение, разрабатываемое Apache Software Foundation и представляющее собой контейнер сервлетов. Написан на языке Java. Tomcat может выступать в качестве самостоятельного веб-сервера, сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений GlassFish и JBoss Application Server. По данным W3Techs, его используют 0,6% всех сайтов (а с учетом локальных сетей эта цифра в разы увеличивается). Так, поисковая система Shodan находит порядка 955 тысяч веб-ресурсов, работающих на данном веб-сервере. Это указывает на то, что Apache Tomcat служит местом потенциального интереса для злоумышленников.
Если говорить о конкретных применениях, то Apache Tomcat можно встретить в системе голосовой почты Cisco Unity Express, в решении Cisco для управления сетями Cisco Network Registrar, в автоматизированных библиотечных информационных системах, в системе управления множеством точек доступа из единого центра управления UniFi, в Server Backup Manager от R1Soft, в системе взаимодействия с сервисами ГИС ГМП, в НБКИ (iDБанк-СМЭВ, Credit Registry), в ДБО, в веб-тулбарах для принтеров.
Чтобы познакомиться с основными видами атак на Tomcat и методами противодействия им, возьмем версию 7.0.77, установленную с настройками по умолчанию на Windows-машине. Адрес этой машины будет 192.168.223.130
, адрес атакующего — 192.168.223.144
. $CATALINA_HOME
— место установки Tomcat. Приступим.
Разведка
Определение версии
Начнем с обнаружения открытых портов и определения используемой версии веб-сервера. По умолчанию Apache Tomcat расположен на порту 8080, но частенько его можно обнаружить на портах 8443, 8081, 80 и 443. На всякий случай с помощью Nmap просканируем все порты:
nmap -sS -sV -p - 192.168.223.130
После того как мы узнали, на каком порте находится Apache Tomcat, определим используемую версию. В старых версиях Apache Tomcat номер версии указывался в HTTP-заголовках X-Powered-By
или Server
, например Server: Apache Tomcat/4.0.6
. Начиная с версий 5.5.29 и 6.0.23 HTTP-заголовок Server
принимает значение Apache-Coyote/1.1
. В таком случае определить версию можно, вызвав страницу с ошибкой или заглянув в «лишние» файлы: на страницы со справочной информацией (/docs/
), страницы с примерами (/examples/
) или в файл RELEASE-NOTES.txt
:
http://192.168.223.130:8080/!
http://192.168.223.130:8080/docs/
http://192.168.223.130:8080/RELEASE-NOTES.txt
CVE-2006-1654
Кстати, уязвимость CVE-2006-1654, найденная в веб-тулбоксах HP Color LaserJet 2500/4600 (инструмент, предоставляющий доступ к справочной информации, информации о состоянии принтера и инструментам для диагностики и решения проблем), — «заслуга» именно Apache Tomcat. Уязвимость обхода каталога позволяет злоумышленнику получить доступ к любым файлам и каталогам уязвимой системы, включая исходные коды приложений, конфигурационные и системные файлы.
Поиск директорий и файлов
Поищем доступные директории и файлы. В этом нам поможет OWASP ZAP (раньше для этих целей использовался OWASP DirBuster, но тулза не обновляется с 2009 года, а на странице проекта взамен рекомендуют использовать именно OWASP ZAP). Все, что от тебя требуется, — это вставить URL-адрес для атаки и нажать на кнопку «Атака». При желании можешь указать свой файл для брута директорий.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»