# 8009 - Apache JServ Protokolünü (AJP) Pentest Etme
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.** * **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek katkıda bulunun.
Deneyimli hackerlar ve ödül avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın! **Hackleme İpuçları**\ Hackleme heyecanını ve zorluklarını ele alan içeriklerle etkileşime geçin **Gerçek Zamanlı Hack Haberleri**\ Hızlı tempolu hack dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın **En Son Duyurular**\ Başlatılan en yeni ödül avı programları ve önemli platform güncellemeleri hakkında bilgi edinin **Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla işbirliğine başlayın! ## Temel Bilgiler Kaynak: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/) > AJP bir tel protokoldür. [Apache](http://httpd.apache.org/) gibi bağımsız bir web sunucusunun Tomcat ile iletişim kurmasına izin vermek için HTTP protokolünün optimize edilmiş bir sürümüdür. Tarihsel olarak, Apache statik içerik sunmada Tomcat'ten çok daha hızlı olmuştur. Fikir, mümkün olduğunda Apache'nin statik içeriği sunmasına izin vermek, ancak Tomcat ile ilgili içerik için isteği Tomcat'e yönlendirmektir. Ayrıca ilginç olan: > ajp13 protokolü paket odaklıdır. Daha okunabilir düz metin yerine performans nedenleriyle muhtemelen bir ikili format seçilmiştir. Web sunucusu, servlet konteyneriyle TCP bağlantıları üzerinden iletişim kurar. Soket oluşturmanın maliyetli işleminden kaçınmak için web sunucusu, servlet konteyneri için kalıcı TCP bağlantılarını sürdürmeye ve bir bağlantıyı birden fazla istek/yanıt döngüsü için yeniden kullanmaya çalışacaktır. **Varsayılan port:** 8009 ``` PORT STATE SERVICE 8009/tcp open ajp13 ``` ## CVE-2020-1938 ['Ghostcat'](https://www.chaitin.cn/en/ghostcat) Eğer AJP bağlantı noktası açıksa, Tomcat Ghostcat zafiyetine duyarlı olabilir. İşte bu sorunla çalışan bir [exploit](https://www.exploit-db.com/exploits/48143). Ghostcat bir LFI zafiyeti olup, biraz kısıtlıdır: yalnızca belirli bir yol içindeki dosyalar çekilebilir. Yine de, bu, sunucu yapılandırmasına bağlı olarak Tomcat arayüzü için kimlik bilgileri gibi önemli bilgiler sızdırabilecek `WEB-INF/web.xml` gibi dosyaları içerebilir. Bu sorunu düzeltmiş yamalanmış sürümler 9.0.31 veya üstü, 8.5.51 ve 7.0.100'dür. ## Enumeration ### Otomatik ```bash nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 ``` ### [**Kaba kuvvet**](../generic-methodologies-and-resources/brute-force.md#ajp) ## AJP Vekil Sunucu ### Nginx Ters Vekil Sunucu & AJP [Dockerize edilmiş sürümü kontrol edin](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version) 8009 TCP açık bir AJP vekil sunucu bağlantısıyla karşılaştığımızda, Nginx'i `ajp_module` ile kullanarak "gizli" Tomcat Yöneticisine erişebiliriz. Bunun için aşağıdaki adımları izleyebiliriz: * Nginx kaynak kodunu indirin * Gerekli modülü indirin * Nginx kaynak kodunu `ajp_module` ile derleyin. * AJP Portunu işaret eden bir yapılandırma dosyası oluşturun. ```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 ``` ```diff -# server { -# listen 80; -# server_name example.com; -# location / { -# proxy_pass http://127.0.0.1:8009; -# } -# } +# server { +# listen 80; +# server_name example.com; +# location / { +# proxy_pass http://127.0.0.1:8009; +# } +# } ``` ```shell-session upstream tomcats { server :8009; keepalive 10; } server { listen 80; location / { ajp_keep_conn on; ajp_pass tomcats; } } ``` Nginx'i başlatın ve her şeyin düzgün çalışıp çalışmadığını kontrol etmek için yerel ana bilgisayarınıza bir cURL isteği göndererek kontrol edin. ```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 Dockerize Sürümü ```bash git clone https://github.com/ScribblerCoder/nginx-ajp-docker cd nginx-ajp-docker ``` `nginx.conf` dosyasındaki `TARGET-IP` değerini AJP IP ile değiştirin, ardından derleyin ve çalıştırın. ```bash docker build . -t nginx-ajp-proxy docker run -it --rm -p 80:80 nginx-ajp-proxy ``` ### Apache AJP Proxy Diğer erişilebilir web bağlantı noktaları olmadan açık bir 8009 bağlantı noktasıyla karşılaşmak nadirdir. Bununla birlikte, **Metasploit** kullanılarak bunu sömürmek hala mümkündür. Bir proxy olarak **Apache**'yi kullanarak istekler **Tomcat**'a 8009 bağlantı noktasında yeniden yönlendirilebilir. ```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 ``` Bu kurulum, **AJP protokolünün ikili yapısından** dolayı sızma tespit ve önleme sistemlerini (IDS/IPS) atlayabilme potansiyeli sunar, ancak bu yetenek doğrulanmamıştır. Hedef sistem üzerinde kontrolü ele geçirmek için düzenli bir Metasploit Tomcat saldırısını `127.0.0.1:80` adresine yönlendirerek etkili bir şekilde kontrolü ele geçirebilirsiniz. ```bash msf exploit(tomcat_mgr_deploy) > show options ``` ## Referanslar * [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)
**HackenProof Discord** sunucusuna katılın ve deneyimli hackerlar ve ödül avcıları ile iletişim kurun! **Hacking Insights**\ Hacking'in heyecanına ve zorluklarına inen içeriklerle etkileşime girin **Gerçek Zamanlı Hack Haberleri**\ Hızlı tempolu hacking dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın **En Son Duyurular**\ Yeni ödül avcılıkları başlatılırken ve önemli platform güncellemeleri hakkında bilgi sahibi olun **Bize** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **katılın ve bugün en iyi hackerlarla işbirliğine başlayın!**
Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.** * **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) **ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.**