Hack The Box – Antique (passo a passo)

Só salve rapaziada.

Hoje vou trazer a resolução da máquina Antique do HTB.
Para resolver essa máquina, serão necessárias as habilidades:

  • Conhecimentos básicos em Linux
  • Enumeração
  • Pivoting Local

Então marcha e boa.

Enumeração

Como sempre comecei com o scan de portas. Me deparei apenas a porta 23(telnet) aberta, então é nele que iremos focar.
Ao tentar se conectar na porta 23 com comando telnet, obtemos de retorno um campo de autenticação da HP JetDirect.

Bem, já tenho um norte. Então vou começar minhas pesquisas.
Dessa vez comecei procurando por senhas padrões do sistema HP Jetdirect, de cara encontro uma página interessante sobre Hackear Impressoras de Rede, explicando que existe uma vunerabilidade no sistema que é possivel extrair sua senha através do SNMP.

Então volto fazer um scan de portas na máquina, só que dessa vez procurando a porta UDP 161, que é a porta do SNMP.
A porta está aberta, então posso tentar explorar a vulnerabilidade.

O SNMP é um protocolo que permite a extração de diversas informações do sistema através de MIBs. A MIB utilizada para essa informação da senha segundo o site é a .1.3.6.1.4.1.11.2.3.9.1.1.13.0. Então vou usar o comando snmpget para extrair essa informação, o que me retornou a informação em Hexadecimal.

Pesquisei na internet por conversores de hexadecimais para ASCII para converter a informação, e consegui a senha:
P@ssw0rd@123!!123

Com a senha consegui fazer a conexão via telnet.

Eu pessoalmente não tenho nenhum conhecimento prévio sobre esse sistema, mas como bons hackers precisamos aprender a fuçar. Dessa vez não foi tão dificíl, ao apertar o “?” o manual mostra que, com o comando exec podemos executar comandos no sistema.

Bem, assim posso então fazer um shell reverso, primeiro vejo se o sistema tem o python instalado, depois faço o shell reverso.
Preparo minha máquina para a conexão, abrindo a porta 1234 com o comando nc.
Executo o comando em python apontando o envio da shell para minha máquina.
Assim consigo acesso a shell e a primeira flag, user.txt

Pivoting Local

Após o acesso a shell preciso arrumar uma forma de escalar o privilégio.
Com o comando netstat vejo que existe a porta 631 rodando apenas localmente no host, e por isso o nmap externo não encontrou a porta. Com uma preve pesquisa vejo que a porta 631 normalmente é utilizada para Internet Printing Protocol.

Para que eu consiga acesso a essa porta remotamente, vou precisar usar a técnica de pivoting para criar um túnel entre a máquina alvo e minha máquina. Para isso vou utilizar o Chisel.

Primeiro uso o Chisel para abrir um server na porta 8000 da minha máquina.

Depois faço fechamento do túnel na máquina alvo.
Obs: Realizei a instalação do Chisel na minha máquina, e transferi ele para máquina alvo, pois o problema precisa estar nas duas máquinas.

Após o fechamento do túnel, a porta 161 é aberta na minha máquina. Todo teste que eu fizer nela o tráfego é enviado através do túnel para a máquina alvo.
Então agora posso acessar a porta pelo navegador como se a aplicação estivesse rodando em minha máquina.
Vejo que na portga 631 está rodando o sistema CUPS versão 1.6.1

Agora que tenho o versão do sistema, partiu google.
Na pesquisa de cara já encontro uma vulnerabilidade Root File Read. Essa vulnerabilidade permite que arquivos do sistema sejam lidos através da alteração do ErrorLog.

Fiz o teste alterando o ErrorLog para o arquivo /etc/shadow com o comando cupctl.
Ao acessar a página de logs (127.0.0.1:631/admin/log/error_log?) no sistema, me trouxe a leitura do arquivo

Dessa forma então consigo ler a flag do arquivo root.txt

Sobre Vitor Prado 37 Artigos
Nascido e criado nas periferias de Diadema-SP, encontrei no estudo e no conhecimento uma forma alternativa de enfrentar os desafios da vida, apesar das muitas barreiras colocadas no caminho.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*