8009 - Pentesting Apache JServ Protocol (AJP)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
From: https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/
AJP - це протокол передачі даних. Це оптимізована версія протоколу HTTP, що дозволяє автономному веб-серверу, такому як Apache, спілкуватися з Tomcat. Історично, Apache був значно швидшим за Tomcat у обслуговуванні статичного контенту. Ідея полягає в тому, щоб дозволити Apache обслуговувати статичний контент, коли це можливо, але проксувати запит до Tomcat для контенту, пов'язаного з Tomcat.
Також цікаво:
Протокол ajp13 орієнтований на пакети. Бінарний формат, ймовірно, був обраний замість більш читабельного простого тексту з причин продуктивності. Веб-сервер спілкується з контейнером сервлетів через TCP-з'єднання. Щоб зменшити витрати на створення сокетів, веб-сервер намагатиметься підтримувати постійні TCP-з'єднання з контейнером сервлетів і повторно використовувати з'єднання для кількох циклів запит/відповідь.
Default port: 8009
Якщо порт AJP відкритий, Tomcat може бути вразливим до уразливості Ghostcat. Ось експлойт, який працює з цією проблемою.
Ghostcat є уразливістю LFI, але дещо обмеженою: можна отримати лише файли з певного шляху. Проте, це може включати файли, такі як WEB-INF/web.xml
, які можуть витікати важливу інформацію, таку як облікові дані для інтерфейсу Tomcat, залежно від налаштувань сервера.
Виправлені версії на рівні 9.0.31, 8.5.51 та 7.0.100 усунули цю проблему.
Коли ми натрапляємо на відкритий порт AJP проксі (8009 TCP), ми можемо використовувати Nginx з ajp_module
, щоб отримати доступ до "прихованого" Tomcat Manager. Це можна зробити, скомпілювавши вихідний код Nginx і додавши необхідний модуль, наступним чином:
Завантажте вихідний код Nginx
Завантажте необхідний модуль
Скомпіліруйте вихідний код Nginx з ajp_module
.
Створіть файл конфігурації, що вказує на порт AJP
Закоментуйте весь блок server
і додайте наступні рядки всередині блоку http
у файлі /etc/nginx/conf/nginx.conf
.
Запустіть Nginx і перевірте, чи все працює правильно, надіславши запит cURL до вашого локального хоста.
Замініть TARGET-IP
в nginx.conf
на AJP IP, а потім збудуйте та запустіть.
Зустріти відкритий порт 8009 без інших доступних веб-портів рідко. Однак, все ще можливо експлуатувати його, використовуючи Metasploit. Використовуючи Apache як проксі, запити можна перенаправити на Tomcat на порту 8009.
Ця конфігурація пропонує можливість обійти системи виявлення та запобігання вторгненням (IDS/IPS) через бінарну природу протоколу AJP, хоча ця можливість не була перевірена. Направивши звичайний експлойт Metasploit Tomcat на 127.0.0.1:80
, ви можете ефективно захопити контроль над цільовою системою.
Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та шукачами вразливостей!
Інсайти з хакінгу Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу
Новини про хакінг у реальному часі Будьте в курсі швидкоплинного світу хакінгу через новини та інсайти в реальному часі
Останні оголошення Залишайтеся в курсі нових програм винагород за вразливості та важливих оновлень платформ
Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!
Вчіться та практикуйте хакінг AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте хакінг GCP: HackTricks Training GCP Red Team Expert (GRTE)