hacktricks/src/network-services-pentesting/8009-pentesting-apache-jserv-protocol-ajp.md

7.8 KiB

8009 - Pentesting Apache JServ Protocol (AJP)

{{#include ../banners/hacktricks-training.md}}

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें

Real-Time Hack News
तेज गति वाली हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से

Latest Announcements
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें

Join us on Discord and start collaborating with top hackers today!

Basic Information

From https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/

AJP एक वायर प्रोटोकॉल है। यह HTTP प्रोटोकॉल का एक अनुकूलित संस्करण है जो एक स्वतंत्र वेब सर्वर जैसे Apache को Tomcat से बात करने की अनुमति देता है। ऐतिहासिक रूप से, Apache ने स्थिर सामग्री को सेवा देने में Tomcat की तुलना में बहुत तेज़ी दिखाई है। विचार यह है कि जब संभव हो, Apache स्थिर सामग्री को सेवा दे, लेकिन Tomcat से संबंधित सामग्री के लिए Tomcat को अनुरोध प्रॉक्सी करे।

Also interesting:

AJP13 प्रोटोकॉल पैकेट-उन्मुख है। प्रदर्शन के कारणों से एक बाइनरी प्रारूप को अधिक पठनीय साधारण पाठ पर चुना गया था। वेब सर्वर TCP कनेक्शनों के माध्यम से सर्वलेट कंटेनर के साथ संवाद करता है। सॉकेट निर्माण की महंगी प्रक्रिया को कम करने के लिए, वेब सर्वर सर्वलेट कंटेनर के साथ स्थायी TCP कनेक्शन बनाए रखने का प्रयास करेगा, और कई अनुरोध/प्रतिक्रिया चक्रों के लिए एक कनेक्शन का पुन: उपयोग करेगा

Default port: 8009

PORT     STATE SERVICE
8009/tcp open  ajp13

CVE-2020-1938 'Ghostcat'

यह एक LFI कमजोरियों है जो कुछ फ़ाइलें प्राप्त करने की अनुमति देती है जैसे WEB-INF/web.xml जिसमें क्रेडेंशियल्स होते हैं। यह कमजोरियों का दुरुपयोग करने के लिए एक exploit है और AJP एक्सपोज़्ड पोर्ट्स इसके प्रति संवेदनशील हो सकते हैं।

पैच किए गए संस्करण 9.0.31, 8.5.51, और 7.0.100 पर या उससे ऊपर हैं।

Enumeration

Automatic

nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>

ब्रूट फोर्स

AJP प्रॉक्सी

Nginx रिवर्स प्रॉक्सी + AJP

(Dockerized संस्करण देखें)

एक खुले AJP प्रॉक्सी पोर्ट (8009 TCP) के साथ संवाद करना संभव है Nginx ajp_module अपाचे मॉड्यूल का उपयोग करके और इस पोर्ट से टॉमेट मैनेजर तक पहुंच प्राप्त करना, जो अंततः कमजोर सर्वर में RCE की ओर ले जा सकता है।

  • https://nginx.org/en/download.html से Nginx डाउनलोड करना शुरू करें और फिर इसे ajp मॉड्यूल के साथ संकलित करें:
# Compile Nginx with the ajp module
git clone https://github.com/dvershinin/nginx_ajp_module.git
cd nginx-version
sudo apt install libpcre3-dev
./configure --add-module=`pwd`/../nginx_ajp_module --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules
make
sudo make install
nginx -V
  • फिर, server ब्लॉक को टिप्पणी करें और /etc/nginx/conf/nginx.conf में http ब्लॉक में निम्नलिखित जोड़ें।
upstream tomcats {
server <TARGET_SERVER>:8009;
keepalive 10;
}
server {
listen 80;
location / {
ajp_keep_conn on;
ajp_pass tomcats;
}
}
  • अंत में, nginx शुरू करें (sudo nginx) और यह जांचें कि यह काम करता है http://127.0.0.1 पर पहुँचकर

Nginx Dockerized-version

git clone https://github.com/ScribblerCoder/nginx-ajp-docker
cd nginx-ajp-docker

nginx.conf में TARGET-IP को AJP IP से बदलें, फिर निर्माण करें और चलाएँ।

docker build . -t nginx-ajp-proxy
docker run -it --rm -p 80:80 nginx-ajp-proxy

Apache AJP Proxy

यह Apache AJP proxy का उपयोग करके उस पोर्ट तक पहुँचने के लिए संभव है, इसके बजाय Nginx

References

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights
हैकिंग की रोमांच और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें

Real-Time Hack News
तेज-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से

Latest Announcements
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें

Join us on Discord and start collaborating with top hackers today!

{{#include ../banners/hacktricks-training.md}}