¿Cómo programa Windows un subproceso cuando el subproceso no tiene proceso?

4

He escuchado que algunos rootkits intentan ocultarse destruyendo el objeto de proceso ( nt!_EPROCESS ?) pero manteniendo el hilo vivo ( nt!_ETHREAD ?). De esa manera, no se ven en herramientas como el Administrador de tareas o el Explorador de procesos, que muestran los procesos.

Sé que la prioridad total de un hilo se calcula a partir de dos partes:

  1. la prioridad del proceso, por ejemplo, definido a través de CreateProcess () (MSDN) , parámetro dwCreationFlags que toma una Priority
  2. la prioridad del hilo, por ejemplo, configurar a través de SetThreadPriority () (MSDN)

Ahora, si el objeto de proceso que contiene la información de prioridad fue destruido por el rootkit, ¿no fallaría el kernel de Windows al intentar calcular la prioridad total de ese hilo de rootkit oculto?

    
pregunta Thomas Weller 06.06.2017 - 12:50
fuente

1 respuesta

2

AFAIK, todos los subprocesos de un proceso comparten el mismo código y segmentos de datos. En cualquier momento, un programa puede solicitar su ThreadId y ProcessId. Y un proceso solo termina realmente cuando todos sus hilos lo hacen.

Pero un malware puede ocultar su actividad detrás de un proceso rundll32 . Esto es solo un proceso del sistema que se usa, por ejemplo, cuando los servicios se implementan solo a través de una DLL y no a través de un ejecutable. A medida que encuentra estos procesos comúnmente en la lista del administrador de tareas, es difícil adivinar dónde se oculta una actividad maliciosa.

    
respondido por el Serge Ballesta 06.06.2017 - 15:04
fuente

Lea otras preguntas en las etiquetas