# 8009 - Pentesting Apache JServ Protocol (AJP) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 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**](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) рдпрджрд┐ AJP рдкреЛрд░реНрдЯ рдЙрдЬрд╛рдЧрд░ рд╣реИ, рддреЛ Tomcat Ghostcat рднреЗрджреНрдпрддрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ [рд╢реЛрд╖рдг](https://www.exploit-db.com/exploits/48143) рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Ghostcat рдПрдХ LFI рднреЗрджреНрдпрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд: рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрде рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреАрдВрдЪреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдлрд┐рд░ рднреА, рдЗрд╕рдореЗрдВ `WEB-INF/web.xml` рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ Tomcat рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдЬреИрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЬреЛ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред 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 ``` ### [**рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕**](../generic-methodologies-and-resources/brute-force.md#ajp) ## AJP рдкреНрд░реЙрдХреНрд╕реА ### Nginx рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ AJP [рдбреЙрдХрд░рд╛рдЗрдЬреНрдб рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВ](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version) рдЬрдм рд╣рдо рдПрдХ рдЦреБрд▓реЗ AJP рдкреНрд░реЙрдХреНрд╕реА рдкреЛрд░реНрдЯ (8009 TCP) рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо "рдЫрд┐рдкреЗ рд╣реБрдП" рдЯреЙрдордХреИрдЯ рдкреНрд░рдмрдВрдзрдХ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП Nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ Nginx рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ: * Nginx рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ * рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ * `ajp_module` рдХреЗ рд╕рд╛рде Nginx рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред * AJP рдкреЛрд░реНрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ ```bash # 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 ``` `server` рдмреНрд▓реЙрдХ рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдФрд░ `/etc/nginx/conf/nginx.conf` рдореЗрдВ `http` рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред ```shell-session upstream tomcats { server :8009; keepalive 10; } server { listen 80; location / { ajp_keep_conn on; ajp_pass tomcats; } } ``` Nginx рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ cURL рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░рдХреЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред ```html sudo nginx curl http://127.0.0.1:80 Apache Tomcat/X.X.XX

Apache Tomcat/X.X.XX

If you're seeing this, you've successfully installed Tomcat. Congratulations!

``` ### 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 рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ 8009 рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реБрд▓рдн рд╡реЗрдм рдкреЛрд░реНрдЯ рдХреЗ рджреБрд░реНрд▓рдн рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕реЗ **Metasploit** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЛрд╖рдг рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИред **Apache** рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ 8009 рдкрд░ **Tomcat** рдХреА рдУрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ```bash sudo apt-get install libapache2-mod-jk sudo vim /etc/apache2/apache2.conf # append the following line to the config Include ajp.conf sudo vim /etc/apache2/ajp.conf # create the following file, change HOST to the target address ProxyRequests Off Order deny,allow Deny from all Allow from localhost ProxyPass / ajp://HOST:8009/ ProxyPassReverse / ajp://HOST:8009/ sudo a2enmod proxy_http sudo a2enmod proxy_ajp sudo systemctl restart apache2 ``` рдпрд╣ рд╕реЗрдЯрдЕрдк **AJP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдмрд╛рдЗрдирд░реА рдкреНрд░рдХреГрддрд┐** рдХреЗ рдХрд╛рд░рдг рдШреБрд╕рдкреИрда рдкрд╣рдЪрд╛рди рдФрд░ рд░реЛрдХрдерд╛рдо рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ (IDS/IPS) рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдПрдХ рдирд┐рдпрдорд┐рдд Metasploit Tomcat рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдХреЛ `127.0.0.1:80` рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдХреЗ, рдЖрдк рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ```bash msf exploit(tomcat_mgr_deploy) > show options ``` ## рд╕рдВрджрд░реНрдн * [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module) * [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters! **рд╣реИрдХрд┐рдВрдЧ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐**\ Engage with content that delves into the thrill and challenges of hacking **рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╣реИрдХ рд╕рдорд╛рдЪрд╛рд░**\ Keep up-to-date with fast-paced hacking world through real-time news and insights **рдирд╡реАрдирддрдо рдШреЛрд╖рдгрд╛рдПрдБ**\ Stay informed with the newest bug bounties launching and crucial platform updates **Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today! {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}