Tuesday, May 5, 2009

GNS3 - I know you're out there...

I know you're out there...I can feel you now. I know that
you're afraid. You're afraid of us, you're afraid of
change...I don't know the future...I didn't come here to
tell you how this is going to end, I came here to tell you
how this is going to begin. Now, I'm going to hang up
this phone, and I'm going to show these people what you
don't want them to see. I'm going to show them a world
without you...a world without rules and controls, without
borders or boundaries. A world...where anything is
possible.

Where we go from there...is a choice I leave to you...



Ok si es muy nerd esto de encabezar un post con Matrix, pero hoy desde que comence a trabajar con VirtualBox y GNS3 logre conectar el mundo virtual con el mundo fisico.

Ok eso es relativamente simple en VirtualBox, pero para mi, poder hacerlo desde un router virtual en GNS3, me pareció bárbaro.

Veamos la situación del laboratorio hoy.


En este momento el laboratorio de GNS3 esta configurado en un 70%, esto que significa ?

Significa que tengo todos los equipos de red listos para poder rutear, el PIX esta actuando como firewall y no tiene hasta el momento reglas de NAT. Esto quiere decir que las redes outisde e inside no se ven.

Por el momento puedo llegar desde el router de las sucursales ( Kual01 y Sing01 ) hasta la Casa Central ( Seul y FW1 ), esto teniendo la configuración que vimos en el post anterior.

Ahora veamos en mas detalle la actual configuración de Nostromo, GNS3 y VirtualBox.



Con esta configuración puedo acceder desde los equipos en GNS3 hasta la red física ( 10.10.1.x/24 ), esto implica que levantando una máquina virtual en VirtualBox ( en este caso un Backtrack ) puedo acceder a los equipos configurados en GNS3 y viceversa.

Como hice esto ? Por supuesto utilizando los tutoriales de BlindHog



Lo primero que hice fue configurar la interfaz del router de borde en GNS3
con la IP que tendría la interfaz virtual de Nostromo.

Como veran Fe0/0 es 10.10.1.2/24, en el caso de la interfaz apuntando para el Firewall, esta configurada como Fe0/1 10.10.10.2/30



Ok hasta aquí tenemos el router preparado para acceder al mundo real, solo falta un paso para hacer que suene el teléfono, y esto es agregar el objeto nube.

La nube se debe configurar con la interfaz tun/tap que activaremos luego en Nostromo. Creo que explicar que es un dispositivo tun/tap escapa al post, pero ustedes pueden consultar esto en el siguiente link.



Ya estamos listos, solo falta configurar el Linux y esto se realiza mediante los siguientes comandos :


Pasado al castellano, lo que haremos primero es crear una interface de tipo Tap, luego la seteamos en modo promiscuo junto a la tarjeta de red que sera anfitriona del bridge entre el sistema virtual y el real.
En este caso elegí la eth1.

sudo tunctl -t tap0
sudo ifconfig tap0 0.0.0.0 promisc up sudo ifconfig eth1 0.0.0.0 promisc up

Luego de esto creamos la interfaz de bridge propiamente dicha, llamada br0, la cual enlazaremos con las interfaces Tap0 y Eth1.
sudo brctl addbr br0 sudo brctl addif br0 tap0 sudo brctl addif br0 eth1

Para verificar esto ejecutamos el comando :
nostromo:# sudo brctl show bridge name bridge id STP enabled interfaces br0 8000.00064f60e31a no eth1 tap0

luego de esto debemos levantar las interfaces .

sudo ifconfig br0 up sudo dhclient br0

El ultimo paso, es agregar una ruta hacia las redes virtuales, recordemos que los equipos reales no conocen donde se encuentran.

En mi caso agregue en el Default Gateway una entrada similar a la siguiente :

route add -net 10.10.10.0 netmask 255.255.255.252 10.10.1.2

Es decir le estoy indicando que la red 10.10.10.0/30 la busque en la ip de la interfaz virtual.

Veamos como quedaron las interfaces del Linux :


br0 Link encap:Ethernet HWaddr xxxx:xxxx:xxxx:xxxx:xxxx
inet addr:10.10.1.2 Bcast:10.10.1.15 Mask:255.255.255.240
inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:257523 errors:0 dropped:0 overruns:0 frame:0
TX packets:194193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:348446017 (332.3 MiB) TX bytes:18629221 (17.7 MiB)

eth0 Link encap:Ethernet HWaddr xxxx:xxxx:xxxx:xxxx:xxxx
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2083046 errors:0 dropped:0 overruns:0 frame:0
TX packets:1338 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:654561969 (624.2 MiB) TX bytes:459613 (448.8 KiB)
Interrupt:250 Base address:0xc000

eth1 Link encap:Ethernet HWaddr xxxx:xxxx:xxxx:xxxx:xxxx
inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:471976 errors:0 dropped:0 overruns:0 frame:0
TX packets:398968 errors:11 dropped:0 overruns:11 carrier:0
collisions:0 txqueuelen:1000
RX bytes:577512566 (550.7 MiB) TX bytes:53804519 (51.3 MiB)
Interrupt:19

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:79645 errors:0 dropped:0 overruns:0 frame:0
TX packets:79645 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5661533 (5.3 MiB) TX bytes:5661533 (5.3 MiB)

tap0 Link encap:Ethernet HWaddr xxxx:xxxx:xxxx:xxxx:xxxx
inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4608 errors:0 dropped:0 overruns:0 frame:0
TX packets:5674 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:488887 (477.4 KiB) TX bytes:357109 (348.7 KiB)



Ok listos para hacer la llamada :

Haciendo un ping desde la IP 10.10.10.1 del Pix hacia la IP 10.10.1.1 ( el default gateway de la red fisica )

Funciono !!!

Ok veamos desde la interfaz de NOSTROMO hacia el FW ( esta configurado para responder ICMP )


Perfecto.

Bien ahora una prueba mas, vamos a levantar una maquina de VirtualBox con Backtrack y veamos si podemos hacer unos tests preliminares.


Ok, la interfaz eth1 tomo la IP 10.10.1.6 y el ping funciona barbaro. Es decir que unimos los dos mundos virtuales : GNS3 y VirtualBox.

Pero hagamos un test desde Backtrack hacia el router de borde, el cual como sabemos no tienen ningun tipo de hardening.

Para eso ejecutaremos la herramienta Cisco Global Exploiter, en este caso veremos la vulnerabilidad de autenticacion via Http.


Muy bien , la aplicacion encontro vulnerable al sistema, es decir que podemos acceder via hhtp. Vamos a verificarlo.


Bien, ese router necesita una buena configuracion antes de ponerlo en produccion.


Bien, ahora que estamos bastante avanzados veamos que falta :

Los proximos pasos son crear dos maquinas virtuales, una en la DMZ Publica del Pix con un Windows Server 2003 + IIS + SQLserver y otra maquina en la red interna con Windows XP o Windows 7.

Por lo tanto el diseño debera quedar asi.


Tambien, tengo que crear las reglas del Firewall PIX, de NAT y PAT para permitir navegar desde la red inside hacia el exterior.

Por ultimo quiero mostrarle el consumo de recursos de todo esto :

Teniendo levantado :

GNS3 con

3 Routers ( 3640 y 3725 )

1 Pix 525

VirtualBox

1 BackTrack 4

4 Consolas de acceso a los equipos de red

1 Navegador con tres pestañas

2 Terminales

Y por supuesto el sistema Host, Debian 5.0

Este es el resultado :



La primera elevacion corresponde a un nmap que le realize al router y al Pix desde el backtrack, la segunda mas pronunciada corresponde al programa Autoscan que tambien se ejecuta en Backtrack.

Memoria consumida 2.1 Gb ( 26 % )

Realmente muy prometedor, para cuando le conecte el Windows 2003 + IIS + SQLServer.

Vamos a ver como se comporta.

Comentario final :

Les recomiendo nuevamente el sitio de BlindHog y para la configuracion de la interfaz entre GNS3 y la red fisica el post siguiente :

Home » Tutorials

Part 1 of Dynamips External Cloud Interface on Linux

2 comments:

l0k1... said...

Hola brother, esta bastante bueno tu lab, yo ando haciendo algo parecido pero necesito mandar multicast desde lo que para ti seria el Back-Track. tengo configurado el br0 y todo, logro ver mediante un analizis de wireshark que estoy emitiendo multicast, pero el router donde estoy conectado no lo ve. sabes tu de algun tip para levantar mi comunicacion multicast???


te agradezco y felicidaddes por tu citio.


l0k1

Julio Jaime said...

Hola L0k1

Lamentablemente no tengo experiencia en trabajar con Multicast, solo puedo recomendarte un lab con GNS3 donde se utiliza Multicast.

http://www.gns3-labs.com/2008/11/22/multicasting/

Espero te pueda ayudar.

Que tengas un buen dia.

Slds.