Pregunta

he estado disfrutando de una penalización de creación de proceso fuerte en mi Windows XP Home SP3 durante unos dos meses. El problema es más manifiesta y molesto con las tareas que hacen crear un montón de procesos, tales como scripts de shell (dicho sea de paso, las secuencias de comandos bash en Cygwin), Makefile, o desempaquetar un paquete IzPack como el instalador SpringSource Tool Suite (un montón de extractor de JAR unpack200.exe separada procesos). Estoy seguro de que es la creación de procesos de la observación de la salida de diagnóstico escritura del golpe, o viendo los procesos aparecen en el administrador de tareas. No hay ningún retraso notable vez un proceso está en marcha y funcionando.

Me he informado de que un problema en la lista de correo Cygwin como inicialmente y erróneamente sólo pensaba Cygwin se vio afectada, ante la sospecha de un error en la DLL de Cygwin, o lo que sea.

desaceleración después de la actualización de Win32 (XP Home) - (enlace a mi post a la lista de Cygwin)

Me pregunto si algo ha instalado alguna basura en forma de gancho creación de procesos que supongo que pudiera existir en Windows. (Como con el gerente de seguridad en Java .) Un virus o software de seguridad? No conscientemente se hayan instalado bien. También sospeché una actualización de Microsoft fallo, pero yo creo que hubieran fijado que a estas alturas.

Por lo que yo sé, los procesos de Win32 son creados por CreateProcess.

¿Cómo puedo averiguar por qué la creación de procesos lleva tanto tiempo y qué es exactamente lo que está pasando aquí? ¿Hay algo así como strace para Linux, o posiblemente incluso algo mejor?

¿Fue útil?

Solución

Muchas gracias a Lucas para señalarme en la dirección correcta. Procmon es una herramienta fantástica. Literalmente, un nuevo mundo dentro del sistema se abrió para mí. Y el culpable se encontró rápidamente mediante el establecimiento de un filtro para incluir parent process ID = WINPID of a Cygwin bash.exe y luego simplemente supervisar un solo comando ls. Era el malware enganchado en una clave de registro denominada AppCertDlls, de los cuales yo era, por supuesto, totalmente inconsciente antes.

Una vez que moví el clipmote.dll el malware de system32, la velocidad del proceso de creación fue inmediatamente volver a la normalidad.

Creo que contraje el virus mediante la instalación de software gratuito envenenado.

Me pasó algún tiempo investigando este problema y se encontró que tanto miedo e interesante, así que aquí es lo que he encontrado, y por supuesto voy a estar agradecido por toda la información adicional o cualquier comentario que pueda tener.

El DLL de software malicioso se cargó en cada proceso de usuario único, incluso Explorer, taskmgr, y ProcMon sí mismo. Sólo los procesos bajo SYSTEM (tal como aparece en en procexp.exe) parece haber permanecido sin infectarse.

El problema aquí es se comprueba que HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls (al menos en mi sistema, pero posiblemente en muchos sistemas, y probablemente incluso por defecto) para cargar archivos DLL que pueden tener algo que decir acerca de si se permite o no alguna binario para ejecutar o no devolviendo un valor de una función que se llama en ellos:

NTSTATUS STDCALL CreateProcessNotify (LPCWSTR lpApplicationName, ULONG Reason); 

De hecho, tenía una entrada en esa tecla de llamada sethdown, pero el nombre podría ser cualquier cosa.

RegEnumValue HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls

Index:  0
Name:   sethdown
Type:   REG_SZ
Length: 66
Data:   C:\WINDOWS\system32\clipmote.dll

A partir de los informes se encontró en la red llego a la conclusión de que el gancho AppCertDlls es una parte normal del sistema operativo de Windows, y no una extensión sin escrúpulos. Si esto es así, se trata de un punto de entrada de virus, ya que permite configurar dinámicamente el malware en un proceso.

Parece que es en realidad - e irónicamente - destinado a ser una característica de seguridad, no muy diferente al pesebre de seguridad en la JVM (véase mi pregunta original). Una utilidad de Microsoft llamada appsec.exe se informó a utilizar esta clave. La función que se llama a continuación, en el archivo DLL de "seguridad" que se carga es CreateProcessNotify, citado anteriormente. Por lo que he entendido, se supone que acaba de decir sí o no -. Pero se puede hacer lo que quiera

En mi caso y la única instancia de funcionamiento ls.exe que analicé, creó cinco hilos. Ellos cargan o tratan de cargar otros archivos DLL e interactuar con el registro. Y quién sabe qué más.

Si alguien sabe más acerca de este mecanismo peligroso, soy todo oídos.

Esto es lo que he encontrado en AppCertDlls:

mención a principios de 01/2007 (Re 5 : ?????????? ??????? ??????????)

AppCertDlls reportado en el foro Sysinternals Autoruns (), 10/2007

Sobre AppCertDlls - virus mencionado 01/2008

Pero sí Microsoft ampliamente utilizar este función, precisamente, era, de hecho, concebido como la cosa "de una sola vez". Sólo para su uso como - forma de limitar la aplicaciones que se pueden ejecutar en el marco del servidor de terminal 2000. - Andrew Worobow

más detalles sobre la tecla AppCertDlls y CreateProcessNotify, 01/2008

06/2010 informe de la infección proporcionando algunos detalles

El malware trató de robar información de cuentas bancarias (y dinero, obviamente), pero posiblemente podría ser configurado para hacer otra ªIngs, también. Había entradas de registro adicionales en HKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}. Debe haber hecho un poco de pantalla raspado mientras estaba haciendo la banca en línea; conoció TAN usados. Recuerdo que una vez tuve la impresión de mi banco fue hackeado cuando poco antes o (probablemente) después de Entrar vi una pantalla preguntando por unos veinte TAN a la vez. WTF, pensé, el navegador tiene la URL mal, y cerró la ventana. Debería haber más afectados. Yo no habría pensado todo el tema sea tan peligroso. Afortunadamente, no hay daño. Sólo suerte, supongo.

He aquí una lista de las cadenas de aspecto significativas que he encontrado en el interior del virus:

  • client.dll
  • EAPSFILT.dll
  • KERNEL32.dll

Creo que los dos primeros podría haber otras bibliotecas de virus intenta cargar.

  • _aullshr
  • CompareStringA
  • CreateEventA
  • CreateFileA
  • CreateFileMappingA
  • CreateProcessNotify
  • CtfImmIsCiceroStartedInThread
  • CtfImmTIMActivate
  • DllCleanupServer
  • DllStartupServer
  • ExitProcess
  • GetThreadContext
  • ImmDisableIme
  • ImmDisableIME
  • ImmGetConversionListA
  • ImmGetVirtualKey
  • ImmRegisterWordA
  • ImmSetCandidateWindow
  • InterlockedExchangeAdd
  • iswlower
  • lstrcmpA
  • MapViewOfFile
  • memset
  • OpenThread
  • ReadFile
  • RealDriveType
  • RegenerateUserEnvironment
  • RestartDialog
  • SetFilePointer
  • Sleep
  • strchr
  • TerminateThread
  • UnmapViewOfFile
  • vDbgPrintExWithPrefix
  • VirtualQueryEx
  • WaitForMultipleObjects

La función Cicero parecía sin escrúpulos para mí, pero es parte de C:\WINDOWS\system32\imm32.dll, la "biblioteca API de Windows IMM32 cliente." - sea lo que sea

Me corrió sfc.exe, "archivo del sistema ortográfico" de Microsoft. Hará más cheques en mis archivos de programa. Y obtener un escáner de virus. Recomendaciones bienvenida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top