8009 - Pentesting Apache JServ Protocol (AJP)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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!
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 na serwowanie statycznej zawartości, gdy to możliwe, ale proxy'ować żą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ę utrzymać trwałe połączenia TCP z kontenerem servletów i ponownie wykorzystywać połączenie do wielu cykli żądanie/odpowiedź.
Default port: 8009
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 sensie 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 9.0.31, 8.5.51 i 7.0.100 rozwiązały ten problem.
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.
Zamień TARGET-IP
w nginx.conf
na AJP IP, a następnie zbuduj i uruchom.
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.
Ta konfiguracja 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.
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 zagłębiają się w 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)