¿Cuál es el alcance de esta vulnerabilidad?
El motivo de esta vulnerabilidad es una
saturación
del búfer.
Un atacante que explotara con éxito esta vulnerabilidad podría lograr el control
completo de un equipo remoto.
Esto le
daría la posibilidad de llevar a cabo cualquier acción que deseara en el
servidor, lo que incluye modificar páginas Web, dar formato al disco duro o
agregar nuevos usuarios al grupo de administradores local.
Para llevar a cabo este ataque, el atacante debería tener los conocimientos
necesarios para enviar al servicio RPC un mensaje diseñado especialmente que
provocara el funcionamiento incorrecto de la máquina de destino hasta el punto
que en ella pudiera ejecutarse código arbitrario.
La mejor defensa contra los ataques RPC remotos de Internet consiste en
configurar el servidor de seguridad para bloquear el puerto 135. RPC sobre TCP
no está pensado para utilizarse a través de entornos hostiles como Internet.
¿Cuál es la causa de esta vulnerabilidad?
Existe vulnerabilidad porque el servicio RPC de Windows no comprueba
correctamente las entradas de mensajes en determinadas circunstancias. Si un
atacante lograra enviar un tipo de mensaje RPC especial cuando RPC ya ha
establecido una conexión, una interfaz
Modelo de objetos de
componentes distribuido (DCOM)
subyacente con RPC en la máquina remota podría dejar de funcionar correctamente,
permitiendo la ejecución de código arbitrario.
¿Qué es DCOM?
El Modelo de objetos de componentes distribuido (DCOM) es un protocolo que
permite la comunicación de componentes de software a través de una red.
Denominado anteriormente "Network OLE," DCOM está diseñado para utilizarse en
varios transportes de red, incluidos los protocolos de Internet como HTTP. En el
siguiente sitio Web encontrará más información acerca de DCOM:
http://www.microsoft.com/com/tech/dcom.asp
¿Qué es RPC
(llamada a procedimiento remoto)?
Llamada a procedimiento remoto (RPC) es un protocolo que los programas pueden
utilizar para solicitar un servicio de un programa ubicado en otro equipo de una
red. RPC contribuye a la interoperabilidad porque el programa que utiliza RPC no
necesita entender los protocolos de la red mediante los que se establece la
comunicación. En RPC, el programa que realiza la solicitud es el cliente y el
programa que proporciona el servicio es el servidor.
¿Qué problema
tiene la implementación de Microsoft de RPC?
Existe un problema en una parte de RPC que se encarga del intercambio de
mensajes sobre TCP/IP. El error es el resultado de la gestión incorrecta de los
mensajes mal formados. Este error en concreto afecta a una interfaz DCOM
subyacente, que escucha en el puerto TCP/IP 135. Mediante el envío de un mensaje
RPC mal formado, un atacante podría hacer que el servicio RPC en una máquina
dejara de funcionar hasta el punto que permitiera la ejecución de código
arbitrario.
¿Este defecto
se encuentra en el asignador de extremos de RPC?
No. A pesar de que el asignado de extremos de RPC escucha en el puerto TCP 135,
el defecto se produce en realidad en una interfaz DCOM de bajo nivel en el
proceso RPC.
El asignador
de extremos de RPC permite a los clientes RPC determinar el número de puerto
asignado a un determinado servicio RPC. Un extremo es
un puerto de protocolo o una canalización con nombre en la que la aplicación de
servidor escucha llamadas a procedimientos remotos. Las aplicaciones
cliente-servidor pueden utilizar puertos conocidos o dinámicos.
¿Qué podría
hacer un atacante que aprovechara esta vulnerabilidad?
Un atacante que consiguiera aprovechar este punto vulnerable podría ejecutar
código con privilegios Local System en el sistema afectado. De esta forma, el
intruso podría realizar cualquier tipo de acción en el sistema como, por
ejemplo, instalar programas, ver, cambiar o suprimir datos, o crear nuevas
cuentas con privilegios completos.
¿Cómo podría
aprovechar un atacante esta vulnerabilidad?
Para aprovechar esta vulnerabilidad, un atacante debería programar una máquina
que pudiera comunicarse con un servidor vulnerable a través del puerto TCP 135
para enviar algún tipo de mensaje RPC mal formado. La recepción de dicho mensaje
provocaría errores en el servicio RPC de la máquina vulnerable hasta el punto
que podría ejecutar código arbitrario.
¿Quién podría
aprovechar esta vulnerabilidad?
Cualquier usuario que pudiera enviar a un equipo afectado una solicitud TCP a
través del puerto 135 podría intentar aprovechar este punto vulnerable. El hecho
de que las solicitudes RPC están presentes en todas las versiones de Windows de
forma predeterminada implica básicamente que cualquier usuario que pudiera
establecer una conexión con un equipo afectado podría intentar hacer uso de esta
vulnerabilidad.
También sería posible obtener acceso al componente afectado a través de otra
vía, como iniciando una sesión en un sistema de forma interactiva o utilizando
otra aplicación similar que pasara parámetros de forma local o remota al
componente vulnerable.
¿Cómo
funciona esta revisión de seguridad?
La revisión de seguridad soluciona la vulnerabilidad modificando la interfaz
DCOM para que pueda comprobar correctamente la información que recibe.
Soluciones
¿Existe
alguna solución que permita bloquear el aprovechamiento de esta vulnerabilidad
mientras compruebo o evalúo la revisión de seguridad?
Sí.
Aunque Microsoft recomienda encarecidamente que todos los clientes
apliquen la revisión de seguridad con la mayor brevedad posible, existen varias
soluciones que se pueden aplicar para evitar que el vector utilizado aproveche
esta vulnerabilidad.
Debe tenerse en cuenta que estas soluciones son medidas temporales, ya que sólo
ayudan a bloquear las rutas de acceso de ataque pero no corrigen la
vulnerabilidad subyacente.
En las secciones siguientes se proporciona información para ayudar a proteger el
equipo de los ataques. En cada sección se describen las soluciones que se pueden
aplicar en función de la configuración del equipo.
Cada sección describe las soluciones disponibles dependiendo del nivel de
funcionalidad requerido.
El puerto 135
se utiliza para iniciar una conexión RPC con un equipo remoto.
El bloqueo del puerto 135 en el servidor de seguridad ayudaría a evitar que los
sistemas situados detrás de dicho servidor de seguridad fueran víctimas de
cualquier ataque que intentara aprovechar este punto vulnerable.
Si utiliza el Servidor de seguridad de conexión a Internet en Windows XP o
Windows Server 2003 para proteger su conexión a Internet, el tráfico RPC de
entrada desde Internet se bloqueará de forma predeterminada.
Cuando un equipo forma parte de una red, el protocolo DCOM en línea habilita los
objetos COM en ese equipo para comunicarse con objetos COM en otras máquinas.
Puede deshabilitar DCOM en un equipo determinado para intentar ofrecer
protección ante esta vulnerabilidad, aunque ello deshabilitará todas las
comunicaciones entre los objetos de ese equipo y los objetos de otros equipos.
Si deshabilita DCOM en un equipo remoto, no podrá obtener acceso de forma remota
a dicho equipo cuando vuelva a habilitar DCOM. Para volver a habilitar DCOM
necesitará acceso físico a dicho equipo.
Para habilitar (o deshabilitar) DCOM manualmente en un equipo:
1. Ejecute Dcomcnfg.exe.
Si ejecuta Windows XP o Windows Server 2003, realice estos pasos adicionales:
o
Haga clic en el nodo Servicios de componentes en Raíz de consola.
o
Abra la subcarpeta Equipos.
o
Para el equipo local, haga clic con el botón secundario en Mi equipo y
elija Propiedades.
o
Para un equipo remoto, haga clic con el botón secundario en la carpeta
Equipos y elija Nuevo y, a continuación, Equipo. Escriba el
nombre del equipo. Haga clic con el botón secundario en el nombre del equipo y
elija Propiedades.
2. Seleccione la ficha Propiedades predeterminadas.
3. Active (o desactive) la casilla de verificación Habilitar COM distribuido
en este equipo.
4. Si va a establecer más propiedades para la máquina, haga clic en el botón
Aplicar para habilitar (o deshabilitar) DCOM. De lo contrario, haga clic en
Aceptar para aplicar los cambios y salir de Dcomcnfg.exe.