<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami nagród za błędy!
> AJP to protokół przesyłania danych. Jest to zoptymalizowana wersja protokołu HTTP, która umożliwia samodzielny serwer WWW, tak jak [Apache](http://httpd.apache.org/), komunikację z Tomcatem. Historycznie rzecz biorąc, Apache był znacznie szybszy od Tomcata w obsłudze treści statycznych. Pomysł polega na tym, aby pozwolić Apache na obsługę treści statycznych, jeśli to możliwe, ale przekierować żądanie do Tomcata w przypadku treści związanych z Tomcatem.
> Protokół ajp13 jest oparty na pakietach. Format binarny został prawdopodobnie wybrany z powodów wydajnościowych, zamiast bardziej czytelnego tekstu. Serwer WWW komunikuje się z kontenerem serwletów za pośrednictwem połączeń TCP. Aby ograniczyć kosztowny proces tworzenia gniazda, serwer WWW będzie próbował utrzymać trwałe połączenia TCP z kontenerem serwletów i ponownie używać połączenia dla wielu cykli żądanie/odpowiedź.
Jeśli port AJP jest wystawiony, Tomcat może być podatny na podatność Ghostcat. Oto [exploit](https://www.exploit-db.com/exploits/48143), który działa w przypadku tego problemu.
Ghostcat to podatność LFI, ale nieco ograniczona: można pobrać tylko pliki z określonej ścieżki. Niemniej jednak, może to obejmować pliki takie jak `WEB-INF/web.xml`, które mogą wyciekać ważne informacje, takie jak poświadczenia dla interfejsu Tomcat, w zależności od konfiguracji serwera.
Gdy natrafimy na otwarty port AJP proxy (8009 TCP), możemy użyć Nginx z modułem `ajp_module`, aby uzyskać dostęp do "ukrytego" Tomcat Managera. Można to zrobić, kompilując kod źródłowy Nginx i dodając wymagany moduł, jak następuje:
Nginx jest popularnym serwerem HTTP i proxy reverse-proxy. Może być uruchamiany w kontenerze Docker, co ułatwia jego wdrażanie i skalowanie. Poniżej przedstawiono przykładowy plik Dockerfile, który pozwala na uruchomienie Nginx w kontenerze Docker.
W powyższym pliku Dockerfile używamy obrazu `nginx:latest` jako podstawy. Następnie kopiujemy plik konfiguracyjny `nginx.conf` do katalogu `/etc/nginx/nginx.conf` w kontenerze. Używamy również polecenia `EXPOSE` do odsłonięcia portu 80, który jest domyślnym portem HTTP dla Nginx. Na koniec, w poleceniu `CMD`, uruchamiamy Nginx w trybie demona.
Aby zbudować obraz Docker z powyższym plikiem Dockerfile, wykonaj polecenie:
Następnie, aby uruchomić kontener z obrazem Nginx, wykonaj polecenie:
```bash
docker run -d -p 80:80 nginx-dockerized
```
Teraz Nginx będzie dostępny na porcie 80 na hoście Docker. Możesz dostosować plik konfiguracyjny `nginx.conf` według własnych potrzeb, aby skonfigurować Nginx zgodnie z wymaganiami Twojej aplikacji.
Napotkanie otwartego portu 8009 bez innych dostępnych portów internetowych jest rzadkie. Jednak wciąż istnieje możliwość jego wykorzystania za pomocą **Metasploit**. Korzystając z **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) ze względu na binarną naturę protokołu AJP, chociaż ta zdolność nie została potwierdzona. Przekierowując zwykłe narzędzie Metasploit Tomcat na `127.0.0.1:80`, można efektywnie przejąć kontrolę nad docelowym systemem.
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.