Año 2 - N°9 | Septiembre 2006

- Entrevista

- Las Leyes

- Palabras de Ciso

- Tips para un Ciso

- Punto de Vista


- Hacking bajo la lupa

- Estadísticas

- Productos

- Capacitación

- Toolbox

- Links de Interés

- Lo Sabías?

- Hot Vulnerabilities 


- E-Fraude

- Noticias

- Bolsa de Trabajo

- Agenda & Eventos

- Carta de Lectores

- Libro de Pases

- El Chiste


-Ediciones Anteriores-


- Claves del Mes -

robo bancario -iso27001 - 0 day - criptografía - SNMP - phishing - VOip eavesdropping - infosecurity 2006 - privacidad - galácticos - infección masiva


Hacking Bajo la Lupa

NIVEL TÉCNICO

SNMP, un protocolo tan práctico como inseguro

Por Pablo Javier Isola

Consulting Director
Tecnopatagonia S.A.


SNMP (Simple Network Management Protocol) es un protocolo utilizado para la gestión de los distintos dispositivos de red, que utiliza la capa de transporte de TCP/IP mediante el envío de datagramas UDP. Además, está cubierto por un gran número de RFCs (Request For Comments) en sus versiones 1, 2 y 3.

 

¿Cómo Funciona?

Las variables ofrecidas para consulta por los agentes SNMP se definen a través de una MIB (Management Information Base) que es una forma de determinar la información que ofrece un dispositivo SNMP y la forma en que se representa. Cada agente SNMP ofrece información dentro de una MIB, tanto de la general (definida en los distintos RFCs) como de aquellas extensiones que desee proveer cada uno de los fabricantes. Así, los fabricantes de routers han extendido las MIBs estándar, incluyendo información específica de sus equipos.

Los dispositivos administrados son supervisados y controlados usando cuatro comandos SNMP básicos:

  • Lectura: para supervisar elementos de red.

  • Escritura: para controlar elementos de red.

  • Notificación: para reportar eventos cuando estos ocurren.

  • Operaciones transversales: para saber qué variables soporta un dispositivo.

 

¿Qué podemos hacer con SNMP?

  • Monitorear el estado de un enlace para detectar cuándo está congestionado.

  • Que una impresora alerte al administrador cuando no tenga más papel.

  • Que un servidor envíe un alerta cuando la carga del sistema aumente a cierto nivel.

  • Permite la modificación remota de la configuración de los dispositivos, es decir, permite modificar una IP y ejecutar un comando (si el agente ofrece las funcionalidades necesarias).

 

¿Por qué este protocolo puede ser inseguro?

Como generalmente ocurre la mayoría de las instalaciones de este servicio queda por default es posible realizar la técnica "SNMP walk" y obtener información que suele ser sensible, veamos en este ejemplo que es posible obtener con snmp walk:

 

Enumeración y Reconocimiento: Utilizaremos la comunidad “public” para enumerar un host que corre SNMP. 

#snmpwalk -c public 200.0.0.99  1.3.6.1.2.1.1

 

SNMPv2-MIB::sysDescr.0 = STRING: Hardware: x86 Family 15 Model 3 Stepping 3 AT/AT COMPATIBLE - Software: Windows 2000 Version  5.1 (Build 2600 Uniprocessor Free)

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.1

SNMPv2-MIB::sysUpTime.0 = Timeticks: (10243556) 1 day, 4:27:15.56

SNMPv2-MIB::sysContact.0 = STRING:

SNMPv2-MIB::sysName.0 = STRING: CLIENTE

SNMPv2-MIB::sysLocation.0 = STRING:

SNMPv2-MIB::sysServices.0 = INTEGER: 76

 

Nombres de las Interfaces:

IF-MIB::ifDescr.1 = STRING: net0

IF-MIB::ifDescr.2 = STRING: lo0

IF-MIB::ifDescr.3 = STRING: atl0

IF-MIB::ifType.1 = INTEGER: iso88023Csmacd(7)

IF-MIB::ifType.2 = INTEGER: softwareLoopback(24)

IF-MIB::ifType.3 = INTEGER: softwareLoopback(24)

 

 Reconocimiento de Dispositivos y direcciones IP:

IF-MIB::ifPhysAddress.1 = STRING: 0:90:27:cb:58:a9 

IF-MIB::ifPhysAddress.2 = STRING:

IF-MIB::ifPhysAddress.3 = STRING:

 

IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1

IP-MIB::ipAdEntAddr.200.0.0.100 = IpAddress: 200.0.0.100

 

Enumeración de Usuarios:

#snmpwalk -c public 200.0.0.99 1.3.6.1.4.1.77.1.2.25

 

SNMPv2-SMI::enterprises.77.1.2.25.1.1.6.65.83.80.78.69.84 = STRING: "ASPNET"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.7.67.108.105.101.110.116.101 = STRING: "Cliente"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.8.73.110.118.105.116.97.100.111 = STRING: "Invitado"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.12.73.85.83.82.95.67.76.73.69.78.84.69 = STRING: "IUSR_CLIENTE"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.12.73.87.65.77.95.67.76.73.69.78.84.69 = STRING: "IWAM_CLIENTE"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.13.65.100.109.105.110.105.115.116.114.97.100.111.114 = STRING: "Administrador"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.16.83.85.80.80.79.82.84.95.51.56.56.57.52.53.97.48 = STRING: "SUPPORT_388945a0"

SNMPv2-SMI::enterprises.77.1.2.25.1.1.18.65.115.105.115.116.101.110.116.101.32.100.101.32.97.121.117.100.97 = STRING: "Asistente de ayuda"

 

 Recursos compartidos:

#snmpwalk -c public 200.0.0.99  1.3.6.1.4.1.77.1.2.27

 

SNMPv2-SMI::enterprises.77.1.2.27.1.1.1.68 = STRING: "D"

SNMPv2-SMI::enterprises.77.1.2.27.1.1.9.73.109.112.114.101.115.111.114.97 = STRING: "Impresora"

SNMPv2-SMI::enterprises.77.1.2.27.1.1.10.73.109.112.114.101.115.111.114.97.50 = STRING: "Impresora2"

SNMPv2-SMI::enterprises.77.1.2.27.1.1.12.68.111.99.117.109.101.110.116.111.115.32.99 = STRING: "Documentos c"

SNMPv2-SMI::enterprises.77.1.2.27.1.1.15.83.104.97.114.105.110.103.32.70.111.108.100.101.114.115 = STRING: "Sharing Folders"

SNMPv2-SMI::enterprises.77.1.2.27.1.1.22.68.111.99.117.109.101.110.116.115.32.97.110.100.32.83.101.116.116.

105.110.103.115 = STRING: "Documents and Settings"

 

En estos ejemplos es posible ver que se obtuvo una cantidad grande de información de reconocimiento, sistemas operativos, mac address, direcciones ip internas, usuarios y recursos compartidos. Con esta información sería posible intentar comprometer el sistema.

Inclusive en caso de que no se haya modificado el nombre predeterminado de escritura “private” un intruso podría ser capaz de modificar algunos de los parámetros para provocar una denegación de servicio o comprometer el sistema.

 

Para tener en cuenta:

  • Detener el servicio de SNMP en caso de no utilizarlo.

  • Configurarlo correctamente utilizando nombre de comunidades que no sean los predeterminados como “public” y “private”.

  • Desde el exterior configure el firewall para filtrar el puerto 161 TCP/UDP.


Pablo Javier Isola

Consulting Director
Tecnopatagonia S.A.

 

 

Banner Bloggers

 

   
Copyright © 2006 I-SEC. Todos los derechos reservados

Política de protección de Datos Personales