Seguridad
Disclaimer: Todas las pruebas se realizaron en un ambiente simulado por GNS3 en su versión 2.2.46. La imagen de los switches es la “Vios_l2-ADVENTERPRISEK9-M - 15.2(20200924:215240)” y de los routers es “VIOS-ADVENTERPRISEK9-M - 15.9(3)M6”. Con el único motivo de continuar mi aprendizaje.
Con el objetivo de detectar brechas de seguridad en el diseño, simule ser un atacante desde dentro de la red utilizando Kali Linux en su versión 2024.1. Luego de ello, procedí a mitigar y/o remediar las vulnerabilidades encontradas.
En mi papel de empleado, utilicé herramientas de reconocimiento para escanear la red en busca de información relevante. Primero, usé WireShark - v4.2.3, con el pude ver el tráfico que circulaba por el enlace e identificar los protocolos en uso: STP, VRRP, CDP, DHCP, ARP y DTP. Como se puede ver en la siguiente imágene adjunta.
Luego de ello, use NMAP - v7.92, con el realicé un escaneo del segmento de la red en busca de dispositivos y encontré dos routers cisco. La siguiente imagen muestra la información obtenida por nmap.
Aprovechándome del protocolo CDP y Yersinia, obtuve información relevante del switch al que estaba conectado. Este equipo se identificó con el nombre de B-01-SW01 y la dirección IP de gestión 10.0.11.20, como se puede ver en la siguiente imagen.
Luego, utilizando el mismo software y el protocolo Dynamic trunking protocol (DTP), negocié una interfaz del tipo trunk entre la máquina virtual de kali (de ahora en más: VM) y el switch. Seguido, analicé el enlace con wireshark y logré obtener un esquema completo de la infraestructura de la red. En él, se mostraban 17 VLANs y sus respectivos STP root bridge. Además, al analizar las tramas en detalle, puede ver las direcciones MAC que cambiaban entre las primeras y últimas VLANs, como se puede ver en la siguiente imagen
En la información obtenida por CDP, la VLAN 11 es la red de gestión de los equipos. Por este motivo, creé una interfaz con el vlan-id 11 en la VM. Con el fin de obtener información sobre los servicios de direccionamiento IP, configure la interfaz para obtenerla dinámicamente. Al analizar la comunicación, encontré un servidor DHCP y que los routers 10.0.11.253 y .254 realizan la función de DHCP Relay Agent. Esto quiere decir, que el servidor se encontraba en otra red. Por último, utilicé nmap a la dirección IP que identifica al servidor DHCP, 172.22.32.5, pero este no respondió dado que no había una ruta al destino. Proseguí por el servidor DNS, ya que tenía otro direccionamiento IP y al realizar un traceroute puede observar que la última IP era parecida a la aportada por wireshark acerca del servidor DHCP. La siguiente imagen muestra lo antes mencionado.
Con la información obtenida, concluí que podía haber más equipos en ese rango de direcciones IP. Por ende, tras una inspección con nmap, descubrí que habían tres servidores. La siguiente imagen muestra la información obtenida por nmap.
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sS -sV -O 1.1.2.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 10:26 EDT
Nmap scan report for 1.1.2.1
Host is up (0.072s latency).
All 1000 scanned ports on 1.1.2.1 are in ignored states.
Not shown: 1000 closed tcp ports (reset)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: router|specialized|switch
Running: Cisco IOS 12.X
OS CPE: cpe:/h:cisco:c1812 cpe:/h:cisco:c3640 cpe:/h:cisco:c3700 cpe:/o:cisco:ios:12.4 cpe:/o:cisco:ios:12.1 cpe:/h:cis>
OS details: Cisco 1812, 3640, or 3700 router (IOS 12.4), Cisco DOCSIS cable modem termination server (IOS 12.1), Cisco >
Nmap scan report for 1.1.2.2
Host is up (0.074s latency).
All 1000 scanned ports on 1.1.2.2 are in ignored states.
Not shown: 1000 closed tcp ports (reset)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: router|specialized|switch
Running: Cisco IOS 12.X
OS CPE: cpe:/h:cisco:c1812 cpe:/h:cisco:c3640 cpe:/h:cisco:c3700 cpe:/o:cisco:ios:12.4 cpe:/o:cisco:ios:12.1 cpe:/h:cis>
OS details: Cisco 1812, 3640, or 3700 router (IOS 12.4), Cisco DOCSIS cable modem termination server (IOS 12.1), Cisco >
Nmap scan report for 1.1.2.3
Host is up (0.052s latency).
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE VERSION
53/tcp open tcpwrapped
Aggressive OS guesses: Cisco IOS 12.4 or IOS-XE 15.3 (98%), Cisco 860 or 870 router (IOS 12.4) (97%), Cisco 1841 router>
No exact OS matches for host (test conditions non-ideal).
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 256 IP addresses (3 hosts up) scanned in 64.21 seconds
Continuando con el reconocimiento, utilicé el script Vuln de nmap, con fin de recabar información sobre vulnerabilidades conocidas en los routers. Como se puede apreciar en el siguiente cuadro, vemos que en servicio de SSH, utiliza un grupo de Diffie-Hellman que no es lo suficientemente fuerte, y por otro lado, puede haber una vulnerabilidad con el protocolo HTTP.
Finalmente, con las vlans 11 (Gestión) y 100 (Usuarios finales) establecidas en la interfaz trunk, creé un NAT en iptables. Esta configuración dirige todo el tráfico proveniente de la vlan 11 a la vlan 100. Posteriormente, con la herramienta Ettercap creé un rogue DHCP sobre la vlan 11 con otro direccionamiento IP y realicé un man-in-the-middle attack (MitM). De esta manera, cualquier comunicación interna o externa de las máquinas víctima iba a pasar por su puerta de enlace, o sea, la vm con Kali. Cabe destacar que si hubiera seleccionado el mismo direccionamiento IP que la vlan 11, solo vería el tráfico que tiene destino otras redes, ya que las internas se resolverían en capa 2. Volviendo al ataque MitM, pude capturar una sesión SSH de un cliente y el router principal de esa red, o sea B-00-SW01. La siguiente imagen muestra la captura de la sesión.
Para concluir este capítulo, el hecho de haber llegado hasta este punto donde pude escuchar todas las comunicaciones de un equipo me hizo apreciar más la importancia de la ciberseguridad. Para finalizar, procedí a mitigar y/o remediar las vulnerabilidades encontradas. Si estás interesado en ver todas las pruebas realizadas, herramientas y más, dirígete al link. Si estás interesado en el archivo que contiene la captura de la sección SSH, pincha aquí.
┌──(kali㉿kali)-[~]
└─$ sudo nmap --script Vuln 10.0.11.1
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 05:33 EDT
Nmap scan report for 10.0.11.1
Host is up (0.035s latency).
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
80/tcp open http
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| http-method-tamper:
| VULNERABLE:
| Authentication bypass by HTTP verb tampering
| State: VULNERABLE (Exploitable)
| This web server contains password protected resources vulnerable to authentication bypass
| vulnerabilities via HTTP verb tampering. This is often found in web servers that only limit access to the
| common HTTP methods and in misconfigured .htaccess files.
|
| Extra information:
|
| URIs suspected to be vulnerable to HTTP verb tampering:
| / [POST]
|
| References:
| http://www.imperva.com/resources/glossary/http_verb_tampering.html
| http://capec.mitre.org/data/definitions/274.html
| http://www.mkit.com.ar/labs/htexploit/
|_ https://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST_%28OWASP-CM-008%29
443/tcp open https
|_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug)
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| ssl-dh-params:
| VULNERABLE:
| Diffie-Hellman Key Exchange Insufficient Group Strength
| State: VULNERABLE
| Transport Layer Security (TLS) services that use Diffie-Hellman groups
| of insufficient strength, especially those using one of a few commonly
| shared groups, may be susceptible to passive eavesdropping attacks.
| Check results:
| WEAK DH GROUP 1
| Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA
| Modulus Type: Safe prime
| Modulus Source: RFC2409/Oakley Group 2
| Modulus Length: 1024
| Generator Length: 8
| Public Key Length: 1024
| References:
| http-method-tamper:
| VULNERABLE:
| Authentication bypass by HTTP verb tampering
| State: VULNERABLE (Exploitable)
| This web server contains password protected resources vulnerable to authentication bypass
| vulnerabilities via HTTP verb tampering. This is often found in web servers that only limit access to the
| common HTTP methods and in misconfigured .htaccess files.
|
| Extra information:
|
| URIs suspected to be vulnerable to HTTP verb tampering:
| / [POST]
|
| References:
| http://www.imperva.com/resources/glossary/http_verb_tampering.html
| http://capec.mitre.org/data/definitions/274.html
| http://www.mkit.com.ar/labs/htexploit/
|_ https://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST_%28OWASP-CM-008%29
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)
MAC Address: 00:00:5E:00:01:74 (Icann, Iana Department)
Nmap done: 1 IP address (1 host up) scanned in 390.58 seconds