🙀Tomghost
Olá, viajante! Neste artigo, trago um write-up do desafio Startup, da plataforma TryHackMe.
Contexto
Temos uma máquina rodando um AJP (Apache Jserv Protocol). O AJP é um protocolo binário que pode fazer proxy de solicitações de entrada de um servidor da Web para um servidor de aplicativos que fica atrás do servidor da Web. Versões abaixo da 7.0.100 estão suscetíveis à CVE-2020-1938 (Ghostcat). Consideremos essa máquina uma PoC da CVE em questão.
Tipo: Apache Tomcat
IP: 10.10.76.180
Reconhecimento
Inicialmente, realizamos uma varredura de portas no alvo.
Através da varredura realizada, podemos identificar a porta 8009 (porta padrão do serviço Apache Jserv) aberta. Apenas a identificação dessa porta unida ao contexto do alvo, podemos deduzir que conseguimos explorar essa brecha.
Exploração
A base Exploit Database nos mostra um um exploit publicado para o serviço que encontramos. Ou seja, já temos uma "receita de bolo" para apenas executar e obter acesso ao alvo.
Acabamos de obter um usuário e senha através da exploração inicial. Podemos tentar acessar o alvo via SSH usando as credenciais encontradas.
Temos acesso. Navegando pelo sistema de arquivos do alvo, encontrei um outro usuário através da pasta /home
e, consequentemente, a primeira flag (user.txt).
Movimentação Lateral
Levando em consideração que não há muitos privilégios disponíveis ao usuário que encontramos inicialmente, precisamos encontrar uma forma de lateralizar nosso acesso para o outro usuário encontrado.
Dentro do diretório do usuário skyfuck
, existem dois arquivos interessantes.
Tratam-se, respectivamente, de um arquivo de credenciais e uma chave privada. Nesse caso, podemos gerar uma hash do arquivo tryhackme.asc
via GPG2John e depois quebrá-la utilizando o próprio John.
Com a senha do arquivo em mãos, podemos descriptografar o arquivo credential.pgp
que encontramos no início.
Agora, conseguimos nos movimentar lateralmente para o usuário merlin
.
Agora, com um novo usuário em mãos, podemos tentar escalar nosso privilégios a root.
Escalação de Privilégio
Executando alguns dos passos que executei inicialmente para consultar permissões no usuário skyfuck
, consegui encontrar uma aplicação que posso executar como root.
De acordo com o GTFOBins, podemos escalar privilégios a root utilizando a aplicação zip
com os seguintes comandos:
Após obter acesso máximo ao sistema, entrei no diretório /root
e obti a flag root.txt
. :)
Last updated