8009 - Pentesting Apache JServ Protocol (AJP)
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F600722126-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FJtticLwENZ4i7WwgHiQe%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%28380%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4912a78a&sv=1)
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!
Podstawowe informacje
From: https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/
AJP to protokół sieciowy. Jest to zoptymalizowana wersja protokołu HTTP, która pozwala samodzielnemu serwerowi internetowemu, takiemu jak Apache, komunikować się z Tomcatem. Historycznie, Apache był znacznie szybszy niż Tomcat w serwowaniu statycznej zawartości. Idea polega na tym, aby pozwolić Apache'owi serwować statyczną zawartość, gdy to możliwe, ale przekazywać żądanie do Tomcata w przypadku zawartości związanej z Tomcatem.
Również interesujące:
Protokół ajp13 jest zorientowany na pakiety. Format binarny został prawdopodobnie wybrany zamiast bardziej czytelnego tekstu zwykłego z powodów wydajnościowych. Serwer internetowy komunikuje się z kontenerem servletów za pośrednictwem połączeń TCP. Aby ograniczyć kosztowny proces tworzenia gniazd, serwer internetowy będzie starał się utrzymywać trwałe połączenia TCP z kontenerem servletów i ponownie wykorzystywać połączenie do wielu cykli żądanie/odpowiedź.
Domyślny port: 8009
CVE-2020-1938 'Ghostcat'
Jeśli port AJP jest wystawiony, Tomcat może być podatny na lukę Ghostcat. Oto eksploit, który działa z tym problemem.
Ghostcat to luka LFI, ale w pewnym stopniu ograniczona: można pobierać tylko pliki z określonej ścieżki. Mimo to, mogą to być pliki takie jak WEB-INF/web.xml
, które mogą ujawniać ważne informacje, takie jak dane uwierzytelniające do interfejsu Tomcat, w zależności od konfiguracji serwera.
Poprawione wersje w wersji 9.0.31 lub wyższej, 8.5.51 i 7.0.100 naprawiły ten problem.
Enumeration
Automatic
AJP Proxy
Nginx Reverse Proxy & AJP
Kiedy napotykamy otwarty port proxy AJP (8009 TCP), możemy użyć Nginx z ajp_module
, aby uzyskać dostęp do "ukrytego" Menedżera Tomcat. Można to zrobić, kompilując kod źródłowy Nginx i dodając wymagany moduł, w następujący sposób:
Pobierz kod źródłowy Nginx
Pobierz wymagany moduł
Skompiluj kod źródłowy Nginx z
ajp_module
.Utwórz plik konfiguracyjny wskazujący na port AJP
Skomentuj cały blok server
i dodaj następujące linie wewnątrz bloku http
w /etc/nginx/conf/nginx.conf
.
Uruchom Nginx i sprawdź, czy wszystko działa poprawnie, wydając żądanie cURL do swojego lokalnego hosta.
Nginx w wersji Dockerowej
Zamień TARGET-IP
w nginx.conf
na AJP IP, a następnie zbuduj i uruchom.
Apache AJP Proxy
Napotkanie otwartego portu 8009 bez innych dostępnych portów webowych jest rzadkie. Jednak nadal możliwe jest jego wykorzystanie za pomocą Metasploit. Wykorzystując Apache jako proxy, żądania mogą być przekierowywane do Tomcat na porcie 8009.
To ustawienie oferuje potencjał do obejścia systemów wykrywania i zapobiegania włamaniom (IDS/IPS) z powodu binarnej natury protokołu AJP, chociaż ta zdolność nie została zweryfikowana. Kierując regularny exploit Metasploit Tomcat do 127.0.0.1:80
, możesz skutecznie przejąć kontrolę nad docelowym systemem.
References
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F600722126-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FJtticLwENZ4i7WwgHiQe%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%28380%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4912a78a&sv=1)
Dołącz do HackenProof Discord, aby komunikować się z doświadczonymi hackerami i łowcami bugów!
Hacking Insights Zaangażuj się w treści, które zgłębiają dreszczyk emocji i wyzwania związane z hackingiem
Real-Time Hack News Bądź na bieżąco z dynamicznym światem hackingu dzięki wiadomościom i spostrzeżeniom w czasie rzeczywistym
Latest Announcements Bądź informowany o najnowszych programach bug bounty oraz istotnych aktualizacjach platformy
Dołącz do nas na Discord i zacznij współpracować z najlepszymi hackerami już dziś!
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated