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

205 lines
14 KiB
Markdown
Raw Normal View History

2024-02-10 22:40:18 +00:00
# 8009 - Ελεγκτική Δοκιμή Πρωτοκόλλου Apache JServ (AJP)
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-10 22:40:18 +00:00
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
2022-04-28 16:01:33 +00:00
</details>
2023-12-04 15:45:05 +00:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
Εγγραφείτε στον διακομιστή [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς ευρημάτων ασφαλείας!
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
**Εισαγωγή στο Χάκινγκ**\
Αλληλεπιδράστε με περιεχόμενο που εξερευνά τον ενθουσιασμό και τις προκλήσεις του χάκινγκ
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον γρήγορο ρυθμό του κόσμου του χάκινγκ μέσω ειδήσεων και αναλύσεων σε πραγματικό χρόνο
2023-07-14 15:03:41 +00:00
2024-02-10 22:40:18 +00:00
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις νεότερες ευρήματα ασφαλείας που ξεκινούν και τις κρίσιμες ενημερώσεις των πλατφορμών
2023-07-14 15:03:41 +00:00
2024-02-10 22:40:18 +00:00
**Συμμετέχετε στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **και αρχίστε να συνεργάζεστε με τους κορυφαίους χάκερ σήμερα!**
2022-11-05 09:07:43 +00:00
2024-02-10 22:40:18 +00:00
## Βασικές Πληροφορίες
2024-02-10 22:40:18 +00:00
Από: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
2024-02-10 22:40:18 +00:00
> Το AJP είναι ένα πρωτόκολλο επικοινωνίας. Είναι μια βελτιστοποιημένη έκδοση του πρωτοκόλλου HTTP που επιτρέπει σε ένα αυτόνομο διακομιστή ιστού όπως το [Apache](http://httpd.apache.org/) να επικοινωνεί με το Tomcat. Ιστορικά, το Apache ήταν πολύ πιο γρήγορο από το Tomcat στην παροχή στατικού περιεχομένου. Η ιδέα είναι να επιτρέψει στο Apache να εξυπηρετεί το στατικό περιεχόμενο όταν είναι δυνατόν, αλλά να προωθεί το αίτημα στο Tomcat για περιεχόμενο που σχετίζεται με το Tomcat.
2024-02-10 22:40:18 +00:00
Επίσης ενδιαφέρον:
2024-02-10 22:40:18 +00:00
> Το πρωτόκολλο ajp13 είναι προσανατολισμένο σε πακέτα. Ένα δυαδικό μορφότυπο επιλέχθηκε πιθανώς αντί για το πιο αναγνώσιμο απλό κείμενο για λόγους απόδοσης. Ο διακομιστής ιστού επικοινωνεί με τον δοχείο servlet μέσω συνδέσεων TCP. Για να μειωθεί η δαπανηρή διαδικασία δημιουργίας socket, ο διακομιστής ιστού θα προσπαθήσει να διατηρήσει συνεχείς συνδέσεις TCP με τον δοχείο servlet και να επαναχρησιμοποιήσει μια σύνδεση για πολλούς κύκλους αιτήματος/απόκρισης
2024-02-10 22:40:18 +00:00
**Προεπιλεγμένη θύρα:** 8009
2022-05-01 13:25:53 +00:00
```
PORT STATE SERVICE
8009/tcp open ajp13
```
2022-05-01 13:25:53 +00:00
## CVE-2020-1938 ['Ghostcat'](https://www.chaitin.cn/en/ghostcat)
2024-02-10 22:40:18 +00:00
Εάν ο θύρα AJP είναι εκτεθειμένη, το Tomcat μπορεί να είναι ευάλωτο στην ευπάθεια Ghostcat. Εδώ υπάρχει ένα [exploit](https://www.exploit-db.com/exploits/48143) που λειτουργεί με αυτό το πρόβλημα.
2024-02-10 22:40:18 +00:00
Το Ghostcat είναι μια ευπάθεια LFI, αλλά κάπως περιορισμένη: μόνο αρχεία από ένα συγκεκριμένο μονοπάτι μπορούν να ανακτηθούν. Ωστόσο, αυτό μπορεί να περιλαμβάνει αρχεία όπως το `WEB-INF/web.xml` τα οποία μπορούν να διαρρεύσουν σημαντικές πληροφορίες όπως διαπιστευτήρια για τη διεπαφή του Tomcat, ανάλογα με τη ρύθμιση του διακομιστή.
2024-02-10 22:40:18 +00:00
Οι επιδιορθωμένες εκδόσεις στο ή πάνω από 9.0.31, 8.5.51 και 7.0.100 έχουν διορθώσει αυτό το πρόβλημα.
2024-02-10 22:40:18 +00:00
## Απαρίθμηση
2024-02-10 22:40:18 +00:00
### Αυτόματη
2022-10-03 13:43:01 +00:00
```bash
nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
2022-05-01 13:25:53 +00:00
```
2024-02-10 22:40:18 +00:00
### [**Βίαιη επίθεση**](../generic-methodologies-and-resources/brute-force.md#ajp)
2022-10-03 13:43:01 +00:00
2024-02-10 22:40:18 +00:00
## AJP Προξενήτρα
2022-10-03 13:43:01 +00:00
2024-02-10 22:40:18 +00:00
### Nginx Αντίστροφη Προξενήτρα & AJP
2024-02-10 22:40:18 +00:00
[Ελέγξτε την εκδοχή Dockerized](#Dockerized-version)
2022-10-03 13:43:01 +00:00
2024-02-10 22:40:18 +00:00
Όταν συναντάμε ένα ανοιχτό θύρα AJP προξενήτρας (8009 TCP), μπορούμε να χρησιμοποιήσουμε το Nginx με το `ajp_module` για να έχουμε πρόσβαση στο "κρυφό" Tomcat Manager. Αυτό μπορεί να γίνει με τη συγκέντρωση του πηγαίου κώδικα του Nginx και την προσθήκη του απαιτούμενου module, όπως ακολούθως:
2024-02-10 22:40:18 +00:00
* Κατεβάστε τον πηγαίο κώδικα του Nginx
* Κατεβάστε το απαιτούμενο module
* Συγκεντρώστε τον πηγαίο κώδικα του Nginx με το `ajp_module`.
* Δημιουργήστε ένα αρχείο διαμόρφωσης που να δείχνει στη θύρα AJP
```bash
2022-10-03 13:43:01 +00:00
# Download Nginx code
wget https://nginx.org/download/nginx-1.21.3.tar.gz
tar -xzvf nginx-1.21.3.tar.gz
# Compile Nginx source code with the ajp module
git clone https://github.com/dvershinin/nginx_ajp_module.git
cd nginx-1.21.3
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
```
2024-02-10 22:40:18 +00:00
Σχολιάστε ολόκληρο το μπλοκ `server` και προσθέστε τις παρακάτω γραμμές μέσα στο μπλοκ `http` στο αρχείο `/etc/nginx/conf/nginx.conf`.
2022-10-03 13:43:01 +00:00
```shell-session
upstream tomcats {
2024-02-10 22:40:18 +00:00
server <TARGET_SERVER>:8009;
keepalive 10;
}
2022-10-03 13:43:01 +00:00
server {
2024-02-10 22:40:18 +00:00
listen 80;
location / {
ajp_keep_conn on;
ajp_pass tomcats;
}
2022-10-03 13:43:01 +00:00
}
```
2024-02-10 22:40:18 +00:00
Εκκινήστε το Nginx και ελέγξτε αν όλα λειτουργούν σωστά εκδίδοντας ένα αίτημα cURL στον τοπικό σας διακομιστή.
2022-10-03 13:43:01 +00:00
```html
sudo nginx
curl http://127.0.0.1:80
<!DOCTYPE html>
<html lang="en">
2024-02-10 22:40:18 +00:00
<head>
<meta charset="UTF-8" />
<title>Apache Tomcat/X.X.XX</title>
<link href="favicon.ico" rel="icon" type="image/x-icon" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="tomcat.css" rel="stylesheet" type="text/css" />
</headas
<body>
<div id="wrapper">
<div id="navigation" class="curved container">
<span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
<span id="nav-hosts"><a href="/docs/">Documentation</a></span>
<span id="nav-config"><a href="/docs/config/">Configuration</a></span>
<span id="nav-examples"><a href="/examples/">Examples</a></span>
<span id="nav-wiki"><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></span>
<span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
<span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
<br class="separator" />
</div>
<div id="asf-box">
<h1>Apache Tomcat/X.X.XX</h1>
</div>
<div id="upper" class="curved container">
<div id="congrats" class="curved container">
<h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
2022-10-03 13:43:01 +00:00
<SNIP>
```
2024-02-10 22:40:18 +00:00
### Έκδοση Nginx σε Docker
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Η εκδοχή του Nginx που τρέχει σε περιβάλλον Docker
```bash
git clone https://github.com/ScribblerCoder/nginx-ajp-docker
cd nginx-ajp-docker
```
2024-02-10 22:40:18 +00:00
Αντικαταστήστε το `TARGET-IP` στο `nginx.conf` με την AJP IP, στη συνέχεια κατασκευάστε και εκτελέστε.
``` bash
docker build . -t nginx-ajp-proxy
docker run -it --rm -p 80:80 nginx-ajp-proxy
```
2024-02-08 21:36:35 +00:00
### Apache AJP Proxy
2024-02-10 22:40:18 +00:00
Συναντώντας ένα ανοιχτό θύρα 8009 χωρίς άλλες προσβάσιμες θύρες ιστού είναι σπάνιο. Ωστόσο, είναι ακόμα δυνατό να εκμεταλλευτείτε αυτό χρησιμοποιώντας το **Metasploit**. Αξιοποιώντας το **Apache** ως έναν διαμεσολαβητή (proxy), οι αιτήσεις μπορούν να ανακατευθυνθούν στον **Tomcat** στη θύρα 8009.
2024-02-08 21:36:35 +00:00
```bash
sudo apt-get install libapache2-mod-jk
sudo vim /etc/apache2/apache2.conf # append the following line to the config
2024-02-10 22:40:18 +00:00
Include ajp.conf
sudo vim /etc/apache2/ajp.conf # create the following file, change HOST to the target address
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from localhost
</Proxy>
ProxyPass / ajp://HOST:8009/
ProxyPassReverse / ajp://HOST:8009/
2024-02-08 21:36:35 +00:00
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo systemctl restart apache2
```
2024-02-10 22:40:18 +00:00
Αυτή η ρύθμιση προσφέρει τη δυνατότητα να παρακάμψετε τα συστήματα ανίχνευσης και πρόληψης διείσδυσης (IDS/IPS) λόγω της δυαδικής φύσης του πρωτοκόλλου AJP, αν και αυτή η δυνατότητα δεν έχει επαληθευτεί. Κατευθύνοντας ένα κανονικό εκμεταλλευτή Metasploit Tomcat στο `127.0.0.1:80`, μπορείτε αποτελεσματικά να αποκτήσετε έλεγχο του συστήματος που έχει στόχο.
2024-02-08 21:36:35 +00:00
```bash
msf exploit(tomcat_mgr_deploy) > show options
```
2024-02-10 22:40:18 +00:00
## Αναφορές
2024-02-08 21:36:35 +00:00
* [https://github.com/yaoweibin/nginx_ajp_module](https://github.com/yaoweibin/nginx_ajp_module)
2022-10-03 13:43:01 +00:00
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
2022-04-28 16:01:33 +00:00
2023-12-04 15:45:05 +00:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-07-14 15:03:41 +00:00
2024-02-10 22:40:18 +00:00
Συμμετέχετε στον διακομιστή [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς ευρημάτων ασφαλείας!
2022-11-05 09:07:43 +00:00
2024-02-10 22:40:18 +00:00
**Εισαγωγή στο Hacking**\
Ασχοληθείτε με περιεχόμενο που εξερευνά τον ενθουσιασμό και τις προκλήσεις του χάκινγκ.
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
Μείνετε ενημερωμένοι με τον γρήγορο ρυθμό του κόσμου του χάκινγκ μέσω ειδήσεων και αναλύσεων σε πραγματικό χρόνο.
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
**Τελευταίες Ανακοινώσεις**\
Μείνετε ενημερωμένοι με τις νεότερες προσφορές ευρημάτων ασφαλείας που ξεκινούν και τις κρίσιμες ενημερώσεις της πλατφόρμας.
2023-02-27 09:28:45 +00:00
2024-02-10 22:40:18 +00:00
**Συμμετέχετε μαζί μας στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) και αρχίστε να συνεργάζεστε με τους κορυφαίους χάκερ σήμερα!
2022-11-05 09:07:43 +00:00
2022-10-03 13:43:01 +00:00
<details>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-10 22:40:18 +00:00
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετέχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
2022-04-28 16:01:33 +00:00
</details>