SNMP. Security Not My Problem
Como todos sabéis, SNMP desde sus inicios, fué un protocolo orientado a la administración de dispositivos de red, en la capa de aplicación, muy muy inseguro.
Hoy os voy a comentar un ataque sencillo, y viejo, de allá por el 2009.
No pongo las referencias, que son muy fáciles de encontrar, para no alentar a los chavales a hackearle el router del vecino, pero me parece interesante comentar la jugada.
El dispositivo que presenta la vulnerabilidad por defecto de serie, y que no quiere decir que este "ataque" sea solo para ese tipo, sino que conocemos parámetros exactos, es el famoso Zyxell Prestige serie 660 hw. ¿Cuanta gente tiene este en casa? ¿Cuantos clientes lo usan para pequeños negocios?. El impacto de este "bug" es y fué increíble, y a no ser que tu vecina del sexto sepa actualizar firmware´s y tocar configuraciones del mismo, seguirá vigente durante bastante tiempo.
Hoy os voy a comentar un ataque sencillo, y viejo, de allá por el 2009.
No pongo las referencias, que son muy fáciles de encontrar, para no alentar a los chavales a hackearle el router del vecino, pero me parece interesante comentar la jugada.
El dispositivo que presenta la vulnerabilidad por defecto de serie, y que no quiere decir que este "ataque" sea solo para ese tipo, sino que conocemos parámetros exactos, es el famoso Zyxell Prestige serie 660 hw. ¿Cuanta gente tiene este en casa? ¿Cuantos clientes lo usan para pequeños negocios?. El impacto de este "bug" es y fué increíble, y a no ser que tu vecina del sexto sepa actualizar firmware´s y tocar configuraciones del mismo, seguirá vigente durante bastante tiempo.
El problema radica en la configuración por defecto de las claves de las comunidades, publicas y privadas, y de la exposición a la boca wan del puerto 160 udp . Una vez identificado el router en cuestión, lanzamos un nmap básico hacia los puertos simpáticos 21,23 y 80. sabes qué son? Como veis, aparte de "fardar" con mi nuevo nmap 6. los puertos se encuentran Filtered. La gracia del asunto es que conociendo los OID´s, que serían los parametros para listar e incluso escribir configuraciones, con una herramienta como braa para realizar consultas SNMP,instalada en backtrack, la cosa está sencilla.
Lanzamos las query´s de escritura contra el router. De esta manera, estamos abriendo los puertos del router.
Como podeis apreciar, el nmap me los muestra como abiertos.
Esto qué quiere decir? que si tenemos un router de telefónica, que no han auditado, y que lleva este fallo de seguridad tan gordo, dudo mucho que hayan cambiado la clave por defecto para su administración, bien sea por Telnet, o por la comodísima web del dispositivo.
La prueba realizada sobre este "amigo" fué exitosa, telnet ip clave por defecto 1234 y ... cocinaaaaaaaaaaaa. Viendo las tablas de asignación del DHCP podemos saber que host están por la red, desde la opción de mantenimiento podemos hacer un ping hacia un host interno. Redirigir mediante NAT el tráfico de los puertos más "simpaticos" hacia los host internos sería una buena acción. Cambiar el DNS por un fake dns apuntando a un metasploit/set , sería lo mas precioso del mundo. Pero nosotros somos buenos, y no queremos hacer daño. Llamaremos a nuestra vecina del sexto, y le aconsejaremos:
22. SNMP Configuration
* Nos aparece esto
Menu 22 - SNMP Configuration
SNMP:
Get Community= public
Set Community= public
Trusted Host= 0.0.0.0
Trap:
Community= public
Destination= 0.0.0.0
Press ENTER to Confirm or ESC to Cancel:
* Deberiamos cambiar la password GET y SET por algo menos obvio.
* Ademas podemos asignar como Trusted Host a algun PC de la LAN interna
para que solo este PC (con la IP que especifiquemos pueda obtener/modificar
valores usando SNMP.
* Trap: Si configuramos una ip destino, el router enviara a este destino
informacion de gestion relativa a interfaces, velocidad, etc. Podemos
usar MRTG para recolectar informacion. Por supuesto hay que cambiar la
Community!!!
22. SNMP Configuration
* Nos aparece esto
Menu 22 - SNMP Configuration
SNMP:
Get Community= public
Set Community= public
Trusted Host= 0.0.0.0
Trap:
Community= public
Destination= 0.0.0.0
Press ENTER to Confirm or ESC to Cancel:
* Deberiamos cambiar la password GET y SET por algo menos obvio.
* Ademas podemos asignar como Trusted Host a algun PC de la LAN interna
para que solo este PC (con la IP que especifiquemos pueda obtener/modificar
valores usando SNMP.
* Trap: Si configuramos una ip destino, el router enviara a este destino
informacion de gestion relativa a interfaces, velocidad, etc. Podemos
usar MRTG para recolectar informacion. Por supuesto hay que cambiar la
Community!!!