La función del proceso de Svchost.exe y los conocimientos relacionados están descubriendo

  
Visión general del proceso de Svchost
La definición de Microsoft de "Proceso de Svchost" es: Svchost.exe es el nombre del proceso de host genérico del servicio que se ejecuta desde la biblioteca de enlaces dinámicos (DLL). El archivo Svchost.exe se encuentra en la carpeta "% SystemRoot% \\ System32". Cuando se inicia el sistema, Svchost verificará la parte del servicio del registro para crear una lista de servicios que deben cargarse.

Se pueden ejecutar varias instancias de Svchost simultáneamente. Cada sesión de Svchost puede contener un conjunto de servicios para ejecutar diferentes servicios dependiendo de cómo se inicie Svchost y dónde esté ubicado, lo que permite un mejor control y una depuración más sencilla.

El grupo Svchost se identifica mediante el registro [HKEY_LOCAL_MacHINE \\ Software \\ Microsoft \\ Windows NT \\ CurrentVersion \\ Svchost]. Cada valor bajo esta clave de registro representa un grupo Svchost separado y se muestra como una instancia separada cuando vemos el proceso activo. Los valores clave aquí son todos los valores de tipo REG_MULTI_SZ y contienen el nombre del servicio que se ejecuta en el grupo de Svchost (ver Figura 1).

Figura 1 Svchost en el registro

De hecho, Svchost es solo un conjunto de servicios y no implementa ninguna función. Si necesita usar Svchost para iniciar un servicio implementado por una DLL, el cargador de la DLL apunta a Svchost. Cuando se inicia el servicio, Svchost llama a la DLL del servicio para lograr el propósito de inicio. El uso de Svchost para iniciar un archivo DLL de servicio está determinado por los parámetros en el registro, hay una subclave "Parámetros" debajo de la clave de registro que necesita para iniciar el servicio, donde el valor de la clave "ServiceDll" indica qué servicio El archivo DLL es responsable, y este archivo DLL debe exportar una función ServiceMain () para admitir el procesamiento de tareas de servicio.

Consejo: las diferentes versiones de Windows tienen diferentes números de procesos Svchost. En general, Windows 2000 tiene dos procesos Svchost, mientras que Windows XP tiene cuatro o más procesos Svchost.


Instancias de proceso de Svchost
Para ver una lista de servicios en ejecución en Svchost, escriba "Símbolo del sistema de Windows XP" Después del comando Tasklist /svc, presione Enter (si está usando Windows 2000, puede verlo con la herramienta Tlist proporcionada por Support Tools, el comando es "Tlist -s"). El comando Lista de tareas muestra una lista de procesos activos, y el modificador de comando /svc especifica una lista de servicios activos en cada proceso. Como puede ver en la figura, el proceso de Svchost inicia muchos servicios del sistema, como: RpCSS (Llamada a procedimiento remoto), Dhcp (DHCP CLIEnt), Netman (Conexiones de red), etc.
(Figura 2).

Figura 2 Lista de servicios de Svchost

Aquí tomamos el servicio RpcSs como ejemplo para obtener más información sobre la relación entre el proceso de Svchost y el servicio. Ejecute Regedit, abra el editor de registro, expanda la rama [HKEY_LOCAL_MacHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ RpcSs], y en la subclave "Parámetros" hay una clave llamada "ServiceDll" con el valor "% SystemRoot% \\ system32". \\ rpcss.dll ". Esto significa que cuando el sistema inicia el servicio RpcSs, llama al archivo de biblioteca de enlace dinámico RpCSS.dll en el directorio "% SystemRoot% \\ system32".

A continuación, haga doble clic en "Herramientas administrativas → Servicios" en el Panel de control para abrir la consola de servicios. Haga doble clic en el elemento de servicio "Llamada a procedimiento remoto (RPC)" en el panel derecho para abrir su cuadro de diálogo de propiedades. Puede ver que la ruta al archivo ejecutable del servicio RpcSs es "C: \\ Windows \\ system32 \\ svchost -k rpcss". Esto muestra que el servicio RpcSs es iniciado por Svchost, y "-k rpcss" significa que este servicio está incluido en el grupo de servicio RpCSS de Svchost.

Análisis de troyanos del proceso Svchost
De la introducción anterior ya sabemos que en el registro [HKEY_LOCAL_MacHINE \\ SOFTWARE \\ Microsoft \\ Windows NT \\ Current- Version \\ Svchost], el grupo de inicio de Svchost se almacena Y los diversos servicios dentro del grupo, muchos troyanos y virus usan esto para lograr la carga automática. Los métodos habituales son:



· Agrega un nuevo grupo y agrega el nombre del servicio al grupo;

· Ahora Algunos grupos agregan nombres de servicio o usan un grupo existente para instalar un servicio no instalado.

· Modifique el servicio en el grupo existente y apunte su ServiceDll a su propio archivo DLL.

Por ejemplo, PortLess BackDoor es una herramienta típica de puerta trasera que utiliza el proceso Svchost para cargar. Entonces, ¿cómo detecta y elimina troyanos y virus como PortLess BackDoor? Tome Windows XP como ejemplo. Primero, podemos usar la herramienta de proceso como "proceso espía" para ver la información del módulo en el proceso de Svchost (como se muestra en la Figura 3). En comparación con la información del módulo anterior, podemos encontrar que hay un archivo DLL sospechoso en el proceso de Svchost. "SvchostDLL.dll". Al mismo tiempo, verá un nuevo servicio "Servicios de intranet" (nombre para mostrar) en la lista "Herramientas administrativas → Servicios", el nombre del servicio es: Iprip, iniciado por Svchost, "-k netsvcs" indica que este servicio está incluido en Netsvcs En el grupo de servicio.

Figura 3 Información del módulo en el proceso de Svchost

Sugerencia: En Windows 2000, el servicio Iprip del sistema escucha utilizando el Protocolo de información de enrutamiento versión 1 ( La información de actualización de enrutamiento enviada por el enrutador de RIPv1) se muestra en la lista de servicios como "RIP Listener".

Ejecute Regedit, abra el editor de registro, expanda la rama [HKEY_LOCAL_MacHINE \\ SYSTEM \\ CurrentControlSet \\ Services \\ IPRIP], y vea su subclave "Parámetros", donde el valor clave "ServiceDll" apunta a la ruta del archivo DLL llamado y Nombre completo, este es el archivo DLL de puerta trasera. Sabiendo esto, puede limpiarlo haciendo clic derecho en el servicio "Servicios de Intranet" en la lista de servicios, seleccionando "Detener" en el menú y luego eliminando el elemento "Iprip" en la rama de registro anterior. Reinicie la computadora y luego elimine el archivo principal de puerta trasera de acuerdo con la ubicación del indicador de valor de clave "ServiceDll". Finalmente, se debe recordar al lector que antes de que se modifique el registro, se debe hacer la copia de seguridad para que pueda restaurarse a tiempo cuando se produce un error.

Copyright © Conocimiento de Windows All Rights Reserved