Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICMP Tunneling Lab

Navega por internet usando solo pings.

Autor: @3diklab en YouTube e Instagram


Qué es esto

ICMP Tunneling permite encapsular tráfico TCP/IP dentro de paquetes ICMP (ping).

Escenario real:

  • WiFi del hotel/aeropuerto bloquea todo
  • VPN bloqueada
  • Pero el ping funciona (siempre lo dejan para "diagnóstico")
  • Solución: Navegar por internet usando solo pings
Ping normal:
[Cabecera ICMP][Datos de relleno]

Ping "tuneado":
[Cabecera ICMP][TU TRÁFICO HTTP ENCAPSULADO]
                      ↑
         El firewall no ve esto

Requisitos

  • Docker instalado
  • Linux o WSL2

Uso rápido

# 1. Clonar repo
git clone https://github.com/ediklab/icmp-tunneling-lab.git
cd icmp-tunneling-lab

# 2. Dar permisos
chmod +x *.sh

# 3. Montar el lab
./setup_lab.sh

# 4. Ejecutar demo automática
./run_demo.sh

# 5. Limpiar cuando termines
./cleanup.sh

Modo manual (recomendado para aprender)

Si quieres trastear y ver cómo funciona por dentro:

./setup_lab.sh    # Monta el lab

Luego abre dos terminales y sigue (MANUAL.md) para:

  • Ver el tráfico ICMP en tiempo real
  • Entender qué hace cada componente
  • Experimentar tú mismo

Arquitectura del Lab

┌─────────────────────────────────────────────────┐
│              Red Docker (172.20.0.0/24)         │
│                                                 │
│  ┌─────────────┐         ┌─────────────┐        │
│  │  CLIENTE    │         │  SERVIDOR   │        │
│  │ 172.20.0.20 │◄─ICMP──►│ 172.20.0.10 │──►Internet
│  │             │         │             │        │
│  │ TCP/UDP ❌  │         │ hans -s     │        │
│  │ ICMP ✅     │         │             │        │
│  └─────────────┘         └─────────────┘        │
└─────────────────────────────────────────────────┘

El cliente tiene bloqueado TCP y UDP. Solo puede hacer ping. El servidor tiene acceso a internet y ejecuta hans en modo servidor.


Paso a paso manual

1. Montar el lab

./setup_lab.sh

2. Verificar bloqueo

# En el cliente, TCP no funciona
docker exec cliente curl google.com
# → Timeout

# Pero el ping sí
docker exec cliente ping 172.20.0.10
# → Funciona

3. Iniciar túnel en servidor

docker exec -it servidor hans -s 10.0.0.1 -p secreto

4. Conectar cliente al túnel

docker exec -it cliente hans -c 172.20.0.10 -p secreto

5. Configurar ruta

docker exec cliente ip route add default via 10.0.0.1

6. Navegar

docker exec cliente curl example.com
# → FUNCIONA (a través de pings)

Cómo funciona

  1. hans crea una interfaz virtual tun0
  2. Todo el tráfico que va por tun0 se encapsula en paquetes ICMP
  3. El servidor recibe los pings, extrae el tráfico y lo reenvía a internet
  4. Las respuestas vuelven por el mismo camino
[Cliente] → curl google.com
    ↓
[tun0] → encapsula en ICMP
    ↓
[Firewall] → "solo veo pings, pasa"
    ↓
[Servidor] → desencapsula → google.com
    ↓
[Respuesta] → mismo camino inverso

Detección y defensa

Ver (docs/DEFENSA.md) para:

  • Cómo detectar ICMP tunneling
  • Reglas de iptables para bloquearlo
  • Configuración de IDS/Snort

Señales de alerta:

  • Pings >64 bytes
  • Muchos pings al mismo destino
  • Pings bidireccionales constantes

Herramientas utilizadas

Herramienta Descripción
hans VPN sobre ICMP
Docker Contenedores para el lab

Alternativas:


Uso en el mundo real

Para usar esto fuera del lab necesitas:

  1. Un VPS con IP pública ($5/mes en DigitalOcean, Vultr, etc.) o que lo montes en casa
  2. Instalar hans en el VPS
  3. Conectarte desde donde estés bloqueado
# En tu VPS
sudo hans -s 10.0.0.1 -p tupassword
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# En tu máquina
sudo hans -c IP_DEL_VPS -p tupassword
sudo ip route add default via 10.0.0.1

Disclaimer

Este lab es para uso educativo. Aprende cómo funciona para:

  • Entender vectores de ataque en redes
  • Mejorar la seguridad de tu infraestructura
  • Prepararte para certificaciones de seguridad

No uses esto para evadir políticas de red sin autorización.


Créditos


Más contenido

Sígueme para más labs y contenido de ciberseguridad:

About

Lab completo de ICMP Tunneling - Navega por internet usando solo pings

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages