8009 - Pentesting Apache JServ Protocol (AJP)
Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami błędów!
Spojrzenie na Hakowanie Zanurz się w treściach dotyczących emocji i wyzwań hakowania
Aktualności z Hakowania na Żywo Bądź na bieżąco z szybkim tempem świata hakowania dzięki aktualnościom i spojrzeniom na żywo
Najnowsze Ogłoszenia Bądź na bieżąco z najnowszymi programami bug bounty i istotnymi aktualizacjami platformy
Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!
Podstawowe informacje
Źródło: https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/
AJP to protokół przewodowy. Jest to zoptymalizowana wersja protokołu HTTP, która umożliwia samodzielny serwer internetowy, takie jak Apache, komunikować się z Tomcatem. Historycznie rzecz biorąc, Apache był znacznie szybszy niż Tomcat w obsłudze treści statycznych. Pomysł polega na tym, aby pozwolić Apache serwować treści statyczne, gdy to możliwe, ale przekazywać żądanie do Tomcata w przypadku treści związanych z Tomcatem.
Również interesujące:
Protokół ajp13 jest zorientowany pakietowo. Format binarny został prawdopodobnie wybrany zamiast bardziej czytelnego tekstu z powodów wydajnościowych. Serwer internetowy komunikuje się z kontenerem serwletów poprzez połączenia TCP. Aby ograniczyć kosztowny proces tworzenia gniazd, serwer internetowy będzie próbował utrzymywać trwałe połączenia TCP z kontenerem serwletów i ponownie używać połączenia dla wielokrotnych cykli żądanie/odpowiedź.
Domyślny port: 8009
CVE-2020-1938 'Ghostcat'
Jeśli port AJP jest wystawiony, Tomcat może być podatny na podatność Ghostcat. Oto exploit, który działa z tym problemem.
Ghostcat to podatność LFI, ale w pewnym stopniu ograniczona: tylko pliki z określonej ścieżki mogą być pobrane. Mimo to może to obejmować pliki takie jak WEB-INF/web.xml
, które mogą ujawnić ważne informacje, takie jak dane uwierzytelniające do interfejsu Tomcat, w zależności od konfiguracji serwera.
Zapatchowane wersje równe lub wyższe niż 9.0.31, 8.5.51 i 7.0.100 naprawiły ten problem.
Wyliczanie
Automatyczne
Proxy AJP
Odwrócony proxy Nginx & AJP
Gdy napotkamy otwarty port proxy AJP (8009 TCP), możemy użyć Nginx z modułem 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ł, jak następuje:
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
Zakomentuj cały blok server
i dodaj poniższe linie wewnątrz bloku http
w pliku /etc/nginx/conf/nginx.conf
.
Uruchom Nginx i sprawdź, czy wszystko działa poprawnie, wysyłając żądanie cURL do lokalnego hosta.
Wersja z Dockerem Nginx
Zamień TARGET-IP
w pliku nginx.conf
na adres IP AJP, a następnie zbuduj i uruchom.
Proxy Apache AJP
Napotkanie otwartego portu 8009 bez innych dostępnych portów sieci web jest rzadkie. Niemniej jednak, nadal istnieje możliwość jego wykorzystania za pomocą Metasploita. Korzystając z Apache jako proxy, żądania mogą być przekierowane do Tomcata na porcie 8009.
To ustawienie oferuje potencjał do ominięcia systemów wykrywania i zapobiegania intruzom (IDS/IPS) ze względu na binarną naturę protokołu AJP, chociaż ta zdolność nie została zweryfikowana. Przekierowując zwykłe narzędzie eksploitujące Tomcat Metasploit na 127.0.0.1:80
, można efektywnie przejąć kontrolę nad docelowym systemem.
Odnośniki
Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hakerami i łowcami luk za nagrody!
Spojrzenie na Hacking Zajmij się treściami, które zagłębiają się w emocje i wyzwania hackowania
Aktualności z Hackingu na Żywo Bądź na bieżąco z szybkim światem hackowania dzięki aktualnościom i spojrzeniom na żywo
Najnowsze Ogłoszenia Bądź na bieżąco z najnowszymi programami nagród za znalezienie luk i istotnymi aktualizacjami platformy
Dołącz do nas na Discordzie i zacznij współpracować z najlepszymi hakerami już dziś!
Last updated