В последнее время в статьях и пентестерских отчетах все чаще упоминается Apache Tomcat. И неспроста. Он занимает шестую строчку по популярности среди веб-серверов в рейтинге W3Techs, что делает его привлекательной мишенью для злоумышленников. Настройки по умолчанию в Apache Tomcat не позволяют противостоять распространенным методам атак, поэтому предлагаю ознакомиться с основными техниками, используемыми для взлома, а также способами противодействия.

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. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

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

На вопрос «Какой антивирус вы используете на своей виндовой машине?» многие безопасники (в…