GNS3 en FreeBSD mediante Kali/CBSD


La manera mas sencilla de tener GNS3 funcionando en FreeBSD es virtualizando una máquina Kali, para ello lanzaremos una VM mediante CBSD e instalaremos todo lo necesario en ella.

 

El primer paso será instalar todo el software necesario, parte del software está disponible desde los repositorios de Kali, otro se instalará desde Pip y finalmente la utilidad ubridge que será compilada manualmente:

apt install -y libpcap-dev python3-pip python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebsockets qemu qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system virtinst apt-transport-https ca-certificates curl gnupg2 software-properties-common dynamips xterm telnet
pip3 install gns3-server gns3-gui
git clone https://github.com/GNS3/ubridge.git
cd ubridge
make
make install
ls -la /usr/local/bin/ubridge 
-rwxr-xr-x 1 root root 121224 oct 17 20:16 /usr/local/bin/ubridge

Copiamos las imágenes IOS a la VM Kali:

scp -r /mnt/2T/ios/ kr0m@192.168.69.99:/home/kr0m/GNS3/images/

Autorizamos la ip de la Kali para que pueda lanzar aplicaciones en local a través de la red, conectamos por Ssh y lanzamos de forma remota el GNS3:

xhost +inet:192.168.69.99
ssh -vYC kr0m@192.168.69.99 gns3

Vamos a configurar algunos parámetros de GNS3, para ello accesdemos a las preferencias a través de:

Edit -> Peferences

Configuramos el path del binario Dynamips:

Cargamos las imágenes de IOS que necesitemos:

Al seleccionar la imagen puede que nos pida confirmación para descomprimirla, aceptamos:

El valor idle-pc NO lo configuramos ya que GNS3 está bugeado y no funciona, lo haremos mas tarde una vez ya añadido el router al esquema.

Ahora ya podemos añadir desde la parte izquierda el router recién configurado, lo añadimos a nuestro esquema:

Lo arrancamos:

Botón derecho -> Start

Generamos ahora el idle-pc:

Botón derecho -> Autoidle-pc

Para acceder a la consola tendríamos que hacer botón derecho -> Console pero como estamos ejecutando la aplicación por Ssh no nos abrirá el xterm correspondiente a tal acción, debemos acceder por Ssh a la Kali y conectar al puerto de la consola manualmente, el rango de puertos a utilizar se definen en las preferencias de GNS3:

En la interfaz de GNS3 podemos ver que puerto ha sido asignado a cada router:

Accedemos a la Kali y conectamos al socket de la consola:

ssh kr0m@192.168.69.99
telnet 127.0.0.1 5000

Donde podemos ver el arranque del router:

Connected to Dynamips VM "R1" (ID 1, type c3600) - Console port
Press ENTER to get the prompt.
ROMMON emulation microcode.
Launching IOS image at 0x80008000...
Smart Init is disabled. IOMEM set to: 5  
Using iomem percentage: 5
  
Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

           cisco Systems, Inc.
           170 West Tasman Drive
         San Jose, California 95134-1706

Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Tue 24-Apr-07 21:18 by prod_rel_team
Image text-base: 0x60008E5C, data-base: 0x60FE0000

Cisco 3660 (R527x) processor (revision 1.0) with 187392K/9216K bytes of memory.
Processor board ID FTX0945W0MY
R527x CPU at 250MHz, Implementation 40, Rev 1.2, 512KB L2 Cache


3660 Chassis type: ENTERPRISE
2 FastEthernet interfaces
DRAM configuration is 64 bits wide with parity enabled.
253K bytes of NVRAM.
8192K bytes of processor board System flash (Read/Write)

Press RETURN to get started!

Ejecutamos un comando simple para comprobar que funciona correctamente:

R1#show version
Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Tue 24-Apr-07 21:18 by prod_rel_team

ROM: ROMMON Emulation Microcode
ROM: 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)

R1 uptime is 0 minutes
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19
System image file is "tftp://255.255.255.255/unknown"

Cisco 3660 (R527x) processor (revision 1.0) with 187392K/9216K bytes of memory.
Processor board ID FTX0945W0MY
R527x CPU at 250MHz, Implementation 40, Rev 1.2, 512KB L2 Cache

3660 Chassis type: ENTERPRISE
2 FastEthernet interfaces
DRAM configuration is 64 bits wide with parity enabled.
253K bytes of NVRAM.
8192K bytes of processor board System flash (Read/Write)

Configuration register is 0x2102

Vamos a darle red al router mediante una "cloud":

Conectamos mediante el elemento "Add link" la interfaz fastEthernet0/0 a la eth0 de la cloud:

Configuramos el router:

R1#conf terminal 
Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.69.100 255.255.255.0 
R1(config-if)#no shutdown
*Mar  1 00:02:02.419: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:02:03.419: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.69.200

Comprobamos que la red funcione hasta Internet:

R1(config)#end
R1#ping 8.8.8.8

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/29/32 ms

Debemos tener cuidado con las imágenes que cargamos, si la imagen de IOS está corrupta puede dar problemas, sobretodo cuando guardemos la configuración, si lo hacemos Dynamips entero crashea con el siguiente error:

C3600 'Ghost': generic_nvram_extract_config: Unknown error -61605
Si te ha gustado el artículo puedes invitarme a un redbull aquí.
Si tienes cualquier pregunta siempre puedes enviarme un Email o escribir en el grupo de Telegram de AlfaExploit.
Autor: kr0m -- 17/10/2020 19:15:25 -- Categoria: Virtualizacion Cisco FreeBSD