iniqua

5feb/100

Tunelizando con tsocks (I): Nmap

government,politics news,politics news,politics

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.

Usando una pasarela intermedia

La creación de un túnel a una máquina no es nada del otro mundo, ni nuevo. Usando openssh podemos crear un túnel de forma muy simple con el siguiente comando:

ssh -C -D ip_local:puerto usuario@IP_remota -p puerto

Si queremos hacer un proxy local que escuche en el puerto 8080 y que se conecte al sistema remoto (tiene que tener el servicio de ssh activo) usuario iniqua e IP 10.10.10.2 y que tiene activo el servidor ssh en el puerto 2424, pondríamos:

ssh -C -D 127.0.0.1:8080 10.10.10.2 iniqua@10.10.10.2 -p 2424

Sencillo, ¿verdad?. Ahora solo tenemos que configurar nuestro proxy del sistema para que salgo por el proxy local (127.0.0.1:8080). Importante señalar que hay que indicar que el proxy essosck5.

Ahora queremos hacer algo más complejo: Queremos hacer un escaneo con nmap a través de este túnel. Para esto necesitamos el apoyo de una herramienta llamada tsocks (para Windows existe la alternativa FreeCap. En este post solo explicaremos tsocks)

Tsocks hace uso de uso del concepto "Shared Library Interceptor". Haciendo uso de una librería propia se carga en el espacio de usuario del proceso ejecutado. Cuando éste quiere iniciar una comunicación, tsocks intercepta la petición de conexión y la redirige a través de él. Para que cargue su librería tenemos ejecutar el siguiente comando:

tsocks -on

Cuando acabemos no se nos debe de olvidar hacer lo contrario, ya que sino tsocks seguirá interceptando las conexiones de nuestro PC:

tsocks -off

Tenemos que configurar Tsocks antes de poder usarlo. El archivo de configuración se encuentra en: "/etc/tsocks.conf". Lo parámetros a configurar son:

  • local = RED/Máscara. Este parámetro nos indica que conexiones no va a enviar a través del proxy. Aquí se indicarán, normalmente, las direcciones de nuestra red local. Cuando el tráfico vaya hacia estas IPs el tráfico no saldrá a por el proxy.

  • server = IP. Aquí indicaremos la IP del servidor a través del cual tunelaremos. En nuestro caso, según el ejemplo anterior, es "127.0.0.1".

  • server_type = 5. Esto indica que es la versión 5 del protocolosocksla que usará. No tocaremos este parámetro.

  • server_port = X. El puerto en que escucha el servidor que tunela. En nuestro caso 8080.

A modo de resumen, nuestro archivo de configuración tendría que parecerse a lo siguiente:

local = 127.0.0.0/255.0.0.0

# Si estas en una red interna, indícala. Si estas en saliendo a

# internet a través de la red 192.168.12.0:

local = 192.168.12.0/255.255.255.0

server = 127.0.0.1

server_type = 5

server_port = 8080

Una de las limitaciones la usarnmapa través del proxy es que solo ciertos tipos de escaneos funcionarán correctamente. Para un escaner normal deberíamos usar el tipo "Connect" (-sT).

Tan solo que lanzar nmap:

tsocks nmap -PN -sT -n 1.1.1.1

Publicado por Dani

Comentarios (0) Trackbacks (0)

Aún no hay comentarios.


Leave a comment

(required)

Aún no hay trackbacks.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes