lunes, 14 de julio de 2008

El misterioso archivo SVCHOST.EXE

Chacal [mariav.hedez@infomed.sld.cu]

El archivo Svchost.exe se encuentra en la carpeta C:\WINDOWS\system32\svchost.exe en Windows XP y C:\WINNT\system32\svchost.exe en Windows 2000.

Al iniciarse, Svchost.exe comprueba la parte de servicios del Registro para elaborar la lista de servicios que necesita cargar. Se pueden ejecutar múltiples instancias de Svchost.exe al mismo tiempo. Cada sesión de Svchost.exe puede contener un conjunto de servicios, para que se puedan ejecutar servicios autónomos, en función de cómo y cuándo se inició Svchost.exe. Esto permite un control mejor y una depuración más sencilla.

Los grupos Svchost.exe están identificados en la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

Cada valor contenido en esta clave representa un grupo Svchost distinto y se muestra como un ejemplo independiente cuando se consultan los procesos activos.

Cada valor es un valor REG_MULTI_SZ que contiene los servicios que se ejecutan en el grupo Svchost. Cada grupo Svchost puede contener uno o varios nombres de servicio que se extraen de la siguiente clave del Registro, cuya clave Parámetros contiene un valor ServiceDLL:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ Nombre del Servicio

Por esta razón, suele aparecer varias veces en la lista de procesos en ejecución.

Para ver la lista de servicios que se ejecutan en Svchost y los otros procesos:
1. Haga clic en el botón Inicio en la barra de tareas de Windows y, a continuación, en Ejecutar.
2. En el cuadro de diálogo Abrir, escriba CMD y, a continuación, presione la tecla Enter.
3. Ahora en la ventana de la consola de comandos, escriba:

Tasklist /SVC

... y a continuación, presione Enter.
Te aparecerá un listado de los procesos activos y los servicios del sistema asociados con dichos procesos "si los hay" (en caso contrario muestra N/D, no disponible).

Tasklist muestra una lista de los procesos activos. El modificador /SVC muestra la lista de servicios activos para cada proceso.

Si tienes Windows XP Professional y quieres obtener más información sobre los servicios que el proceso SVCHOST está ejecutando en estos momentos haz esto:
1. Haga clic en el botón Inicio en la barra de tareas de Windows y, a continuación, en Ejecutar.
2. En el cuadro de diálogo Abrir, escriba CMD y, a continuación, presione la tecla Enter.
3. Ahora en la ventana de la consola de comandos, escriba:

tasklist /svc /fi "imagename eq svchost.exe"

... y a continuación, presione Enter.
En este caso se mostrarán sólo los procesos SVCHOST.exe y sus servicios asociados.

Y la respuesta a la típica pregunta de si hay que cerrar o eliminar el proceso SVCHOST, NO! no hay que tocarlo, este programa es importante para estabilidad y seguridad de su sistema y no debería ser terminado.
Uso de recursos del sistema

Uso de memoria:

SVCHOST.EXE puede llegar a ocupar hasta unos 60MB de la memoria de sistema.
SVCHOST.EXE puede aparecer listado en la lista de procesos muchas veces por cada servicio que éste tenga activos.

Uso de procesador:

El uso de procesador por parte de SVCHOST.EXE no debe ser mas de 20% en algunos casos, (en mi caso personal en este momento solo un 0%) éste uso de CPU no debe ser permanente, o sea no debe ocupar CPU en todo momento a menos que en tu sistema se esté ejecutando alguna aplicación de red crítica que signifique el uso de todos estos recursos en todo momento, si no es así, sospecha de que estas siendo atacado externamente por algún bicho que aprovecha la vulnerabilidad RPC. (Más abajo)

SVCHOST, los puertos que abre y su configuración con Firewalls

Como vimos anteriormente, SVCHOST.exe puede aparecer varias veces cargado en el sistema, de hecho, mientras escribo éste artículo, SVCHOST.exe aparece en la lista de procesos 6 veces, ocupando algo así como 45MB de memoria, este aparece cargando los servicios DcomLaunch, TermService, RpcSs,AudioSrv, Browser, CryptSvc, Dhcp, dmserver, ERSvc, EventSystem, FastUserSwitchingCompatibility, helpsvc, HidServ, lanmanserver, lanmanworkstation, Netman, Nla, rasAuto, RasMan, Schedule, seclogon, SENS, SharedAccess, ShellHWDetection, Tapisrvc, Themes, trkWks, winmgmt, wscsvc, wuauserv, WZCSVC, LmHosts, SSDPSRV, upnphost, WebClient, stisvc y HTTPFilter, pero, como si fuera poco, si tienes un Firewall, y alguna vez has visto listados los puertos que el proceso SVCHOST.exe tiene para sí, encontraras que SVCHOST.exe es el responsable de tener abiertos varios puertos del sistema.
"SVCHOST.exe no solo es el responsable de cargar varios servicios,
también abre numerosos puertos de conexión a nuestro sistema."

En mi caso, SVCHOST.exe tiene abiertos los siguientes puertos:

Con protocolo TCP: 135 y 2869

Con protocolo UDP: 53, 1035, 1036, 1900, 2030 y 3031

Cuando estés en busca de procesos maliciosos como Adware, software espía, etc, puedes confiar en que los puertos abiertos relacionados con SVCHOST.exe no han sido abiertos con mala intención. Claro que ataques externos en contra de esos puertos (por ejemplo: Ataques a Llamadas a Procedimiento Remoto RPC "call—RPC—attacks" en contra del puerto 135) no se pueden descartar.

En el mundo de los Firewalls, al proceso del archivo SVCHOST.exe, se le conoce como [GENERIC HOST PROCESS FOR WIN32 SERVICES].

La mayoría de los Firewalls traen reglas predefinidas cuando las conexiones son de salida, pero cuando hay peticiones entrantes, toca definir dos reglas:

Si el protocolo es TCP
Si la conexión es de tipo ENTRADA
BLOQUEAR

Si el protocolo es UDP
Si la conexión es de tipo ENTRADA
BLOQUEAR

Hay casos raros, muy raros... en que las reglas predefinidas de conexiones de salida no son suficientes, si este es su caso, (si experimenta momentos en que el Firewall le pregunta sobre que una aplicación solicita conexión de salida usando protocolo TCP), convendría definir esta regla:

Si el protocolo es TCP
Si la conexión es de tipo SALIDA
BLOQUEAR

Ataques a tu sistema mediante RPC

El Proceso ó Archivo SVCHOST consume 100% CPU

Si experimentas problemas de lentitud, y notas que el proceso SVCHOST.exe está consumiendo recursos de CPU de forma excesiva y sin control, es muy probable que estés siendo objeto de ataques mediante la vulnerabilidad conocida del RPC.

Mediante dicha vulnerabilidad, existen y continúan apareciendo infinidad de bichos que aprovechan este agujero para insertarse en tu sistema y empezar a hacer todo tipo de travesuras, bicho que normalmente se conoce como msblaster o alguna mutación.

Si crees estar siendo víctima del MS Blaster o alguna de sus miles de mutaciones:

Inmediatamente ve descargando e instalando los dos parches para el Agujero del LSASS y el RPC/DCOM

Cuando los instales, reinicias, te conectas a Internet y compruebas si el uso de CPU del archivo SVCHOST.EXE es ahora normal. Si no lo es, y notas que continua igual que antes, entonces publica el registro detallado de las aplicaciones de tu sistema usando la aplicación, HIJACKTHIS que puedes descargar desde aquí.

IMPORTANTE:
Si lo que tienes es el gusano, con el antivirus NO BASTA, tienes que parchear el error (con el parche RPC, que corrige el agujero de una vez por todas) porque existen infinidad de bichos que aprovechan ese agujero pero que utilizan otro nombre, por lo que si el Antivirus no es tan potente, desconocerá las nuevas mutaciones.

Para tener claro...

• El archivo se llama SVCHOST.exe, no confundir con virus que se hacen llamar SVHOST.exe o SVCSHOST.exe, etc.
• Este archivo SVCHOST.exe sólo debe aparecer en Windows 2000 y XP.
• Su ubicación debe ser C:\WINDOWS\system32\svchost.exe en Windows XP y C:\WINNT\system32\svchost.exe en Windows 2000.
• No importa si SVCHOST.EXE aparece repetido varias veces en la lista de procesos, esto es normal.
SVCHOST.EXE puede llegar a ocupar hasta unos 60MB de la memoria de sistema. Solo preocúpate si el uso de procesador por parte de SVCHOST.EXE es excesivo, no debe ser más de 20% en algunos casos. (en mi caso personal solo un 1%) El uso del CPU es aleatorio y circunstancial, no debe ocupar CPU en todo el momento, si es así, sospecha de que estas siendo atacado externamente por algún bicho que aprovecha la vulnerabilidad RPC.



Artículos relacionados


No hay comentarios: