13 KiB
8009 - Pentesting Apache JServ Protocol (AJP)
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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!
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'
рдпрджрд┐ AJP рдкреЛрд░реНрдЯ рдЙрдЬрд╛рдЧрд░ рд╣реИ, рддреЛ Tomcat Ghostcat рднреЗрджреНрдпрддрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рд╢реЛрд╖рдг рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
Ghostcat рдПрдХ LFI рднреЗрджреНрдпрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд: рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрде рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреАрдВрдЪреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдлрд┐рд░ рднреА, рдЗрд╕рдореЗрдВ WEB-INF/web.xml
рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ Tomcat рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдЬреИрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЬреЛ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
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
рдбреЙрдХрд░рд╛рдЗрдЬреНрдб рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВ
рдЬрдм рд╣рдо рдПрдХ рдЦреБрд▓реЗ AJP рдкреНрд░реЙрдХреНрд╕реА рдкреЛрд░реНрдЯ (8009 TCP) рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо "рдЫрд┐рдкреЗ рд╣реБрдП" рдЯреЙрдордХреИрдЯ рдкреНрд░рдмрдВрдзрдХ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП Nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ Nginx рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:
- Nginx рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
ajp_module
рдХреЗ рд╕рд╛рде Nginx рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред- AJP рдкреЛрд░реНрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ
# 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
рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред
upstream tomcats {
server <TARGET_SERVER>:8009;
keepalive 10;
}
server {
listen 80;
location / {
ajp_keep_conn on;
ajp_pass tomcats;
}
}
Nginx рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ cURL рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░рдХреЗ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
sudo nginx
curl http://127.0.0.1:80
<!DOCTYPE html>
<html lang="en">
<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>
<SNIP>
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
рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ 8009 рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реБрд▓рдн рд╡реЗрдм рдкреЛрд░реНрдЯ рдХреЗ рджреБрд░реНрд▓рдн рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕реЗ Metasploit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЛрд╖рдг рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИред Apache рдХреЛ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ 8009 рдкрд░ Tomcat рдХреА рдУрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
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
<Proxy *>
Order deny,allow
Deny from all
Allow from localhost
</Proxy>
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
рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдХреЗ, рдЖрдк рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
msf exploit(tomcat_mgr_deploy) > show options
рд╕рдВрджрд░реНрдн
- https://github.com/yaoweibin/nginx_ajp_module
- https://academy.hackthebox.com/module/145/section/1295
Join HackenProof Discord 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 and start collaborating with top hackers today!
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.