hacktricks/network-services-pentesting/8009-pentesting-apache-jserv-protocol-ajp.md

7.2 KiB

8009 - Pentesting Apache JServ Protocol (AJP)

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!

Insights de Hacking
Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking

Notícias de Hacking em Tempo Real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real

Últimos Anúncios
Fique informado sobre as novas recompensas de bugs lançadas e atualizações cruciais da plataforma

Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!

Informações Básicas

De https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/

AJP é um protocolo de rede. É uma versão otimizada do protocolo HTTP para permitir que um servidor web autônomo, como o Apache, se comunique com o Tomcat. Historicamente, o Apache tem sido muito mais rápido que o Tomcat ao servir conteúdo estático. A ideia é permitir que o Apache sirva o conteúdo estático sempre que possível, mas faça proxy da solicitação para o Tomcat para conteúdo relacionado ao Tomcat.

Também interessante:

O protocolo ajp13 é orientado a pacotes. Um formato binário foi presumivelmente escolhido em vez do texto simples mais legível por razões de desempenho. O servidor web se comunica com o contêiner de servlets por meio de conexões TCP. Para reduzir o caro processo de criação de soquetes, o servidor web tentará manter conexões TCP persistentes com o contêiner de servlets e reutilizar uma conexão para múltiplos ciclos de solicitação/resposta.

Porta padrão: 8009

PORT     STATE SERVICE
8009/tcp open  ajp13

CVE-2020-1938 'Ghostcat'

Esta é uma vulnerabilidade LFI que permite obter alguns arquivos como WEB-INF/web.xml, que contém credenciais. Este é um exploit para abusar da vulnerabilidade e as portas AJP expostas podem ser vulneráveis a isso.

As versões corrigidas estão na versão 9.0.31 ou superior, 8.5.51 e 7.0.100.

Enumeração

Automático

nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>

Força bruta

Proxy AJP

Nginx Reverse Proxy + AJP

(Confira a versão Dockerizada)

É possível se comunicar com uma porta de proxy AJP aberta (8009 TCP) usando o módulo ajp_module do Nginx e acessar o Tomcat Manager a partir dessa porta, o que pode levar a RCE no servidor vulnerável.

# Compile Nginx with the ajp module
git clone https://github.com/dvershinin/nginx_ajp_module.git
cd nginx-version
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
  • Em seguida, comente o bloco server e adicione o seguinte no bloco http em /etc/nginx/conf/nginx.conf.
upstream tomcats {
server <TARGET_SERVER>:8009;
keepalive 10;
}
server {
listen 80;
location / {
ajp_keep_conn on;
ajp_pass tomcats;
}
}
  • Por fim, inicie o nginx (sudo nginx) e verifique se está funcionando acessando http://127.0.0.1

Versão Dockerizada do Nginx

git clone https://github.com/ScribblerCoder/nginx-ajp-docker
cd nginx-ajp-docker

Substitua TARGET-IP em nginx.conf pelo IP AJP e, em seguida, construa e execute.

docker build . -t nginx-ajp-proxy
docker run -it --rm -p 80:80 nginx-ajp-proxy

Apache AJP Proxy

Também é possível usar um proxy Apache AJP para acessar essa porta em vez de Nginx.

Referências

Junte-se ao HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!

Insights de Hacking
Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking

Notícias de Hack em Tempo Real
Mantenha-se atualizado com o mundo do hacking em ritmo acelerado através de notícias e insights em tempo real

Últimos Anúncios
Fique informado sobre as novas recompensas de bugs que estão sendo lançadas e atualizações cruciais da plataforma

Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}