mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
118 lines
7.8 KiB
Markdown
118 lines
7.8 KiB
Markdown
# 8009 - Pentesting Apache JServ Protocol (AJP)
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
<figure><img src="../images/image (3).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
|
|
|
**Hacking Insights**\
|
|
हैकिंग की रोमांचक और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें
|
|
|
|
**Real-Time Hack News**\
|
|
तेज गति वाली हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से
|
|
|
|
**Latest Announcements**\
|
|
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
|
|
|
|
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
|
|
|
## Basic Information
|
|
|
|
From [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
|
|
|
|
> AJP एक वायर प्रोटोकॉल है। यह HTTP प्रोटोकॉल का एक अनुकूलित संस्करण है जो एक स्वतंत्र वेब सर्वर जैसे [Apache](http://httpd.apache.org/) को 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'](https://www.chaitin.cn/en/ghostcat)
|
|
|
|
यह एक LFI कमजोरियों है जो कुछ फ़ाइलें प्राप्त करने की अनुमति देती है जैसे `WEB-INF/web.xml` जिसमें क्रेडेंशियल्स होते हैं। यह कमजोरियों का दुरुपयोग करने के लिए एक [exploit](https://www.exploit-db.com/exploits/48143) है और AJP एक्सपोज़्ड पोर्ट्स इसके प्रति संवेदनशील हो सकते हैं।
|
|
|
|
पैच किए गए संस्करण 9.0.31, 8.5.51, और 7.0.100 पर या उससे ऊपर हैं।
|
|
|
|
## Enumeration
|
|
|
|
### Automatic
|
|
```bash
|
|
nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
|
```
|
|
### [**ब्रूट फोर्स**](../generic-hacking/brute-force.md#ajp)
|
|
|
|
## AJP प्रॉक्सी
|
|
|
|
### Nginx रिवर्स प्रॉक्सी + AJP
|
|
|
|
([Dockerized संस्करण देखें](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version))
|
|
|
|
एक खुले AJP प्रॉक्सी पोर्ट (8009 TCP) के साथ संवाद करना संभव है Nginx `ajp_module` अपाचे मॉड्यूल का उपयोग करके और इस पोर्ट से टॉमेट मैनेजर तक पहुंच प्राप्त करना, जो अंततः कमजोर सर्वर में RCE की ओर ले जा सकता है।
|
|
|
|
- [https://nginx.org/en/download.html](https://nginx.org/en/download.html) से Nginx डाउनलोड करना शुरू करें और फिर इसे ajp मॉड्यूल के साथ संकलित करें:
|
|
```bash
|
|
# 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` ब्लॉक में निम्नलिखित जोड़ें।
|
|
```json
|
|
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
|
|
```bash
|
|
git clone https://github.com/ScribblerCoder/nginx-ajp-docker
|
|
cd nginx-ajp-docker
|
|
```
|
|
`nginx.conf` में `TARGET-IP` को AJP IP से बदलें, फिर निर्माण करें और चलाएँ।
|
|
```bash
|
|
docker build . -t nginx-ajp-proxy
|
|
docker run -it --rm -p 80:80 nginx-ajp-proxy
|
|
```
|
|
### Apache AJP Proxy
|
|
|
|
यह **Apache AJP proxy** का उपयोग करके उस पोर्ट तक पहुँचने के लिए संभव है, इसके बजाय **Nginx**।
|
|
|
|
## References
|
|
|
|
- [https://github.com/yaoweibin/nginx_ajp_module](https://github.com/yaoweibin/nginx_ajp_module)
|
|
|
|
<figure><img src="../images/image (3).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
|
|
|
**Hacking Insights**\
|
|
हैकिंग की रोमांच और चुनौतियों में गहराई से जाने वाले सामग्री के साथ जुड़ें
|
|
|
|
**Real-Time Hack News**\
|
|
तेज-तर्रार हैकिंग दुनिया के साथ अद्यतित रहें वास्तविक समय की समाचार और अंतर्दृष्टि के माध्यम से
|
|
|
|
**Latest Announcements**\
|
|
नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
|
|
|
|
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|