Tunelizando con tsocks (I): Nmap
En el transcurso del día a día muchas veces se nos plantea la necesidad de acceder a un dispositivo que no se encuentra en nuestra red o al que nuestra red tiene restringido el acceso. Ante esta situación tenemos varias posibles soluciones:
-
Conectarnos directamente al dispositivo o a la red a la que se encuentre conectado.
-
Usar una pasarela intermedia para llegar a él.
-
Intentar eludir las reglas del firewall de nuestra red mediante un túnel.
La solución más sencilla sin duda es la primera opción. Pero muchas veces no tenemos esa posibilidad, bien porque el dispositivo está en otra ciudad o, incluso, en otro país. O sencillamente no se nos permite el acceso físico donde se encuentra el dispositivo o la red.
Las opciones más viables son la segunda, la tercera, o una combinación de ambas. En este post solo hablaremos de la segunda. En posteriores post explicaremos la tercera opción y como se pueden combinar.
[tool] FireHOL
- Nombre FireHOL
- Lenguaje Perl
- Última versión 26-02-2009
- Licencia GPL
- Enlace http://firehol.sourceforge.net
- Descripción
FireHOL es algo así como un generador de reglas para Iptables donde podemos definir cualquier número de interfaces, rutas servicios, etc... Se trata de un lenguaje para expresar reglas de firewall, pero no genera un tipo de protección o modelo de firewall. Basa su potencial en su diseño simplista, que nos ofrece una capa que recubre Iptables con un lenguaje sencillo de manejar. Dice textualmente que "Básicamente tienes que aprender cuatro comandos" que son interface, router, server y client. Lo cual es muy prometedor
. Además su política de funcionamiento general se resume en "DROP/REJECT EVERYTHING, ALLOW EXPLICITLY", a tener en cuenta a la hora de trabajar con FireHOL.
Algunos ejemplos de la funcionalidad de FireHOL:
protection strong
Con este comando le indicaremos que queremos que active todas las protecciones (... icmp-floods syn-floods malformed-xmas malformed-null malformed-bad...).
group with src "192.168.100.1 192.168.100.110" server ssh accept server telnet accept group end
Este comando permitiremos el acceso a los servicios de SSH y Telnet al rango de IPs origen indicado.
blacklist full 172.192.23.43 10.10.10.1
De esta sencilla manera hemos declarado una lista negra que incluye las dos direcciones IPs del ejemplo de forma bidireccional, es decir, no podemos enviar ni recibir datos de esas IPs.
+info: Comandos FireHOL
dns2tcp: Túnel sobre el protocolo de DNS
Me hago eco de un artículo que he encontrado en mi lista de RSS, se trata de otra más de las técnicas para encapsular tráfico sobre un protocolo al que se deja pulular a sus anchas.
En este caso el título es significativo “De un hotel a Internet sin pasar por caja” en él podemos encontrar cómo darle una aplicación práctica al encapsulamiento sobre el protocolo DNS.
En él se hace referencia a la noticia original de donde surgió la idea, un artículo de Luis Peralta. Tengo que reconocer que desconocía el blog, pero a partir de hoy acaba de ganar a un asiduo lector.
Se puede ver como utilizar y poner a trabajar dns2tcp para permitirnos encapsular una conexión tcp bajo el protocolo DNS, un step by step fantástico.
Gracias a ambos dos por ilustrarnos.
Fuentes: