Documente Academic
Documente Profesional
Documente Cultură
BOLETÍN INFORMATIVO
DOWNADUP/CONFICKER/KIDO
ANTECEDENTES
El día 8 de agosto de 2006, Microsoft publica en su boletín de seguridad con clave MS06-040 1,
una vulnerabilidad que tiene como objetivo al servicio “Server” (no confundir con Windows
Server) y su incapacidad de validar mensajes enviados a través de RPC, el atacante podía
provocar un buffer overflow y ejecutar código arbitrario con privilegios de sistema.
Posteriormente Microsoft publica un parche de seguridad para los sistemas afectados pero aún
así se vieron repercusiones con los sistemas comprometidos. El más conocido fue el caso del
Mocbot, una mezcla entre worm y bot que había sido visto originalmente atacando sistemas
vulnerables a lo descrito en el boletín MS06-039 2 publicado el 9 de agosto de 2005.
Bajo este antecedente se esperaba que el servicio “Server” hubiese sido mejorado o cerrado
finalmente a ataques similares, lamentablemente Microsoft publica en su boletín de seguridad
MS08-67 3 del día 23 de octubre de 2008, los detalles de una vulnerabilidad de nivel Crítico en el
servicio “Server” informando sobre la posibilidad de ejecutar código arbitrario de forma remota
en el equipo vulnerable después de provocar un buffer overflow.
La vulnerabilidad se origina a través del Puerto 135/TCP que es mejor conocido como RPC
(Remote Procedure Call) una vez más apuntando al servicio “Server” propiciando, en caso de
un ataque exitoso, la ejecución de código con privilegios de Sistema en el equipo vulnerado,
además se mencionó que previamente el “atacante” debía estar autenticado en el equipo
vulnerado para los casos en que el sistema operativo se tratase de Windows Vista, Windows
Server 2008 y Windows 7 (actualmente en beta), esto por las funciones DEP (Data Execution
Prevention) y ASLR (Address space layout randomization) incorporadas en dichos sistemas
operativos, pero en el caso de que el sistema operativo fuese Windows XP o cualquier versión
previa, el ataque podía llevarse a cabo sin la necesidad de un autenticación previa.
Se incorpora una lista completa de los sistemas operativos afectados en el “Anexo A”.
Síntomas de posible infección
Es probable que en principio uno no distinga cuando un equipo ya ha sido infectado pero se ha
observado que en muchos casos los principales síntomas son algunos de los siguientes:
• Alertas o avisos sobre cuentas de usuario bloqueadas por exceso de intentos de inicio de sesión
incorrectos; esto debido a que algunas variantes intentan iniciar sesión como un usuario, ya sea en
1
http://www.microsoft.com/technet/security/bulletin/ms06-040.mspx
2
http://www.microsoft.com/technet/security/Bulletin/MS05-039.mspx
3
http//www.microsoft.com/technet/security/bulletin/ms08-067.mspx
el equipo o en el Servidor de Dominio y debido a que utiliza técnicas de fuerza bruta, es posible
que una o más cuentas se bloqueen después de varios intentos infructuosos
• Servicios como Actualizaciones Automáticas, “Background Intelligent Transfer Service (BITS)”,
Windows Defender o el Servicio de Reporte de Errores (en inglés Error Reporting Services) se
muestran desabilitados
• Se detienen también los siguientes servicios, los nombres son los de sus ejecutables:
o wuauserv
o BITS
o wscsvc
o WinDefend
o ERSvc
o WerSvc
• Servidores de Dominio responden después de mucho tiempo de espera a las peticiones de
servicios de dominio o autenticación
• La red se ve con una gran carga de trabajo en forma constante durante casi todo el día
• Se pierde la posibilidad de conectarse a varios sitios web en Internet relacionados con noticias o
tecnologías de seguridad de la información, esto colgándose de APIs para consultas de nombre de
dominio (DNS). Se incorpora una lista sobre las palabras clave que el worm intenta bloquear a nivel
host en el “Anexo B”
o DNS_Query_A
o DNS_Query_UTF8
o DNS_Query_W
o Query_Main
o sendto
• Se pierde la posibilidad de instalar aplicaciones o realizar tareas de mantenimiento que tengan que
ver con el servicio de Microsoft Installer; esto aplica principalmente para archivos de extensión
.msi, también es muy utilizado por las aplicaciones de protección, tales como antivirus y firewalls
para realizar sus tareas de actualización de firmas
• Mensajes de error en intervalos de tiempo aleatorio relacionados a los archivos services.exe ó
svchost.exe
• En caso de tener una solución de Firewall capaz de capturar tráfico de red en OSI Layer-2 y en caso
de que dicha solución cuente con las firmas necesarias para la detección de dicho ataque, se
pueden observar múltiples alertas sobre tráfico hacia segmentos de red inexistente sobre los
puertos 135/TCP o 445/TCP, esto debido a los métodos de propagación por broadcasting del worm
en la red
• Aparece la siguiente clave en el registro de Windows:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpNumConnections"=dword:00fffffe
MÉTODOS DE INFECCIÓN
Para su propagación, este worm modifica la clave de registro previamente mencionada
“TcpNumConnections” con la finalidad de dispersarse con mayor rapidez entre la red o redes a
las que tiene acceso.
Pero no solamente realiza esta modificación, para acelerar aún más su dispersión modifica el
número máximo de conexiones posibles en memoria conocidas como “half-open”, esto a través
del controlador de TCP de Windows aumentando el valor a 268435456 (0x10000000) el archivo
relacionado es %system%\drivers\tcpip.sys
Mediante la función NetServerEnum se enlistan todos los equipos del dominio o del grupo de
trabajo con los que se ha tenido contacto o visibles en el entorno de red para después intentar
autenticarse en ellos con las posibles combinaciones de acceso:
• La cuenta del usuario del equipo actualmente infectado; si dicha cuenta no tiene privilegios de
Administrador en el equipo en el que se trata de alojar entonces no tendrá éxito
• Obteniendo una lista de nombres de usuario del equipo al que quiere infectar a través de la API
NetUserEnum para posteriormente intentar una combinación con los nombres de usuario
obtenidos y los passwords enlistados en el “Anexo C”
Si tuvo éxito con alguna de las combinaciones lo siguiente será intentar crear una copia de si
mismo en el recurso compartido de sistema ADMIN$ de la forma:
\\[Nombre_Equipo]\ADMIN$\System32\[nombre_aleatorio].[extension_aleatoria]
También intentará crear una tarea pre-programada para ejecución diaria del siguiente comando:
rundll32.exe [nombre_aleatorio].[extensión_aleatoria], [entrypoint_aleatorio]
Para su replicación externa, el worm intenta conectarse a los sitios:
• checkip.dyndns.org
• getmyip.co.uk
• www.getmyip.org
• www.whatismyipaddress.com
Esto lo hace para conocer el IP Público de la máquina en la que se encuentra alojado y abre un
puerto aleatorio recibiendo conexiones en ese IP Público, con este procedimiento logra enviar
conexiones hacia otros IP Públicos intentando vulnerar a otros equipos mediante el puerto de
RPC y cuando lo logra, hace que éstos descarguen una copia del gusano conectándose al IP
Público del que se originó el ataque, por el protocolo HTTP al puerto aleatorio que escogió
previamente, la copia del gusano se descarga con extensión BMP, GIF, JPEG ó PNG para
lograr evadir los filtros de contenido, por último inyecta el API NetpwPathCanonicalize para
detener el proceso de explotación de la vulnerabilidad y evitar errores visibles.
Se sabe también que para determinar la fecha exacta, se conecta a los dominios:
• ask.com
• baidu.com
• google.com
• w3.org
• yahoo.com
La fecha la utiliza para generar una lista adicional de los dominios de donde puede descargar
archives adicionales, como por ejemplo: http://%Dominioprecalculado%/search?q=%d
%Dominioprecalculado% se origina dependiendo de la fecha obtenida y los archivos
descargados tienen un nombre aleatorio y la extensión .tmp
Otro de los cambios que realiza en los sistemas infectados es la desactivación del Centro de
Seguridad (Security Center), Windows Defender, además de registrarse como una aplicación
válida para Windows Firewall y esto lo hace mediante la siguiente modificación al registro:
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\Glo
ballyOpenPorts\List, [NumeroPuerto]:TCP = [NumeroPuerto]:TCP:*Enabled:[aleatorio]"
Para ocultar su presencia, elimina los puntos de Restaurar Sistema (System Restore Points en
los sistemas operativos en inglés) realizados por el usuario y añade las siguientes
modificaciones al registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHO
WALLCheckedValue = dword:00000000
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost
netsvcs = %Datos_Previos% %aleatorio%
Se crea también un archive temporal con extensión .TMP en alguno de los directorios de
sistema o en algún directorio temporal, este archivo temporal se registra como un controlador
de servicio para el kernel, lo que termina por asegurar la permanencia del gusano en el sistema
y lo hace mediante esta modificación al registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[aleatorio]
Type = dword:00000001
Start = dword:00000003
ErrorControl = dword:00000000
ImagePath = "\...\%RutaWorm%\[aleatorio].tmp"
DisplayName = [Aleatorio]
Una vez que se registran esta llave y sus valores se elimina el archivo temporal que se creó
para registrarse a nivel kernel, que sería: %RutaWorm%\[aleatorio].tmp
El gusano también realiza los siguientes cambios:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
DisplayName = %NombreServicio%
Type = dword:00000020
Start = dword:00000002
ErrorControl = dword:00000000
ImagePath = "%SystemRoot%\system32\svchost.exe -k netsvcs"
ObjectName = "LocalSystem"
Description = %un_texto_descriptivo%
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[aleatorio]\Parameters
ServiceDll = %RutaWorm%
Para %NombreServicio% se combinan dos palabras de la siguiente lista en forma aleatoria:
Boot Manager Support
Center Microsoft System
Config Monitor Task
Driver Network Time
Helper Security Universal
Image Server Update
Installer Shell Windows
Los directorios son variables dependiendo del idioma del sistema operativo, aquí se muestran
para el idioma inglés.
Si comparamos los datos de fecha de creación de cada uno de esos archivos contra los datos
del archivo %System%\kernel32.dll veremos que tienen la misma fecha.
“ataque” dependiendo de la versión del sistema operativo remoto o el realizar ciertas acciones o
ejecutar ciertas aplicaciones según sea necesario.
Con soporte Universal Plug’n’Play (UPnP)
Al incorporar soporte UPnP el Downadup/Conficker tiene la capacidad de recopilar información
acerca de los dispositivos UPnP de la red, esto es más común en usuarios o empresas con
enlaces de Cablemodem o ADSL en donde las empresas de telecomunicación proveen a los
usuarios con equipos que soportan dichas funciones a fin de facilitar la configuración a los
usuarios, pero es mediante esta función que el gusano es capaz de conocer el IP público del
dispositivo, datos sobre la compuerta de salida o la cercanía de otros dispositivos UPnP. Lo
más peligroso es que la función UPnP sirve también para que los equipos de conectividad
habiliten o apaguen ciertas reglas de NAT inverso, esto es, que agreguen a discreción del
usuario, políticas que permitan a ciertas conexiones desde el exterior (Internet) ingresar
directamente a equipos de la red local y esto mismo es lo que puede hacer el worm en forma
automática una vez que ha detectado un equipo UPnP en la red y todo sin la atención del
usuario.
MÉTODOS DE PROTECCIÓN
Debemos reconocer que mantener los equipos actualizados con los parches del fabricante es el
principal medio de prevención de ser víctimas de incidentes de seguridad o pérdida de
información.
Se recomienda la implementación de Microsoft Windows Server Update Services (WSUS) a fin
de tener una plataforma de control de las actualizaciones para las distintas versiones de todos
los productos Microsoft instaladas en la empresa o incluso en la mediana y pequeña empresa.
Lo lamentable es que hoy día es más seguro un equipo de uso personal que uno de uso
empresarial, ya sea laptop o de escritorio y esto debido a que nuestros equipos de uso personal
vienen preconfigurados para una fácil utilización y con un cierto nivel de protección/seguridad
predefinido por el fabricante o proveedor y esto se refiere en el caso del sistema operativo
Windows, a su módulo de Firewall, al nuevo Windows Defender, al Security Center, al Malicious
Software Removal Tool que se distribuye periódicamente a través de Windows Update, el cual
también es habilitado por default cuando adquirimos un equipo nuevo con Windows pre-
instalado. Y cuando desactivamos alguno de estos servicios, recibimos alertas visuales sobre el
riesgo que corremos al hacerlo y recordatorios periódicos sobre la conveniencia de reactivarlos.
Ahora bien, en un equipo de oficina que pertenece a un Grupo de Trabajo o Dominio a través
de Directorio Activo siempre vamos a depender de las políticas que se distribuyan o no a través
del Directorio Activo y esto es debido a la forma en que se trabaja en un entorno de red.
Tomemos por ejemplo la necesidad de distribuir y compartir información con otros compañeros
de oficina o personal de distintos departamentos dentro de la empresa que necesiten dichos
datos para realizar sus actividades, para ello contamos con dispositivos USB, directorios
compartidos en las estaciones de trabajo, algunos utilizarán almacenes de archivos alojados en
servidores y accesibles desde cualquier punto de la red, o contarán con tecnologías NAS o SAN
para la distribución y almacenamiento de cantidades más grandes de información, bases de
datos, bitácoras, archivo muerto, etc. También es muy seguro que necesitemos compartir
dispositivos, los más comunes, las impresoras ó en otros casos contemos con aplicaciones de
colaboración y comunicación en tiempo real, tal como lo permite la suite de Lotus o las últimas
tecnologías de Microsoft como Live Communicator Enterprise y esto nos lleva a que son tantas
las aplicaciones, soluciones, tecnologías y recursos que necesitamos para nuestras actividades
laborales, que los administradores de sistemas terminan por desactivar las funciones de
protección predefinidas, ya que es más fácil configurar de un solo click a todos los equipos de la
red para que permitan todo e ignoren cualquier cosa a pasar semanas y a veces meses,
definiendo una buena estrategia de seguridad de la información.
envío o la recepción de archivos, pero es básico para la integración de los diferentes servicios
de colaboración de Windows. Es por ello que, si cerramos el puerto, perderemos las
características de colaboración, como por ejemplo el compartir archivos, en el caso de una red
doméstica esto podría ser factible, en el caso de una red empresarial, no tanto. Hoy día existen
soluciones conocidas como Host Intrusion Protection System (HIPS – Protección de Intrusos a
nivel Host), estas soluciones realizan funciones similares a las de un detector de intrusos pero a
nivel de aplicación. En nuestras experiencias más recientes con el Downadup/Conficker,
notamos que aquellos equipos que contaban con el módulo HIPS de McAfee sólo reportaban
que el archivo “services.exe” había sido detenido en su ejecución a causa de un probable buffer
overflow. Lo cual significaba que antes de que Downadup/Conficker finalizara su ataque hacia el
equipo, el HIPS había “matado” a la aplicación services.exe deteniendo por completo el avance
del gusano.
Antivirus en Host
Recordemos que Downadup/Conficker también puede crear archivos no sólo en los hosts que
ha comprometido, sino además en los dispositivos de almacenamiento conectados al mismo,
por ello es importante mantener al día nuestro antivirus con las últimas actualizaciones y crear
políticas de acceso a directorios o partes importantes del sistema operativo, McAfee permite
configurar una serie de políticas de protección que van desde el bloqueo de creación de
archivos en partes críticas del sistema operativo, hasta políticas de acceso de claves del
registro, dichas políticas pueden ser aplicadas por perfiles de usuario, de estaciones de trabajo
o a nivel global a través de su consola de administración mejor conocida como ePolicy
Orchestrator (ePO).
A continuación se presentan una serie de ejemplos de las políticas mencionadas:
“ANEXO A”
SISTEMAS OPERATIVOS
AFECTADOS
“ANEXO B”
“ANEXO C”