Compartir a través de


[Archivo de boletines ^] [< Volumen 6, Número 2] [Volumen 7, Anuncio especial >]

Boletín de información interna de sistemas Volumen 7, Número 1

http://www.sysinternals.com
Copyright (C) 2005 Mark Russinovich


5 de enero de 2005: en este problema:

  1. EDITORIAL

    • ¿Tiene DEP?
  2. ASPECTOS INTERNOS DE WINDOWS, 4ª EDICIÓN

  3. NOVEDADES DE SYSINTERNALS

    • Estadísticas de noviembre
    • Artículos de la revista Sysinternals
    • Fuente RSS de Sysinternals
    • Mark es un MVP de Microsoft
    • Autoruns v6.01
    • Explorador de procesos v8.61
    • Sigcheck v1.0
    • Bginfo v4.07
    • RegJump v1.0
    • Hex2dec v1.0
    • Tcpvcon v2.34
    • PsTools Novedades
    • Sysinternals en Microsoft
  4. INFORMACIÓN INTERNA

    • Exploración de Internet
    • Uso de LiveKd para solucionar problemas de sistemas enfermos
    • ¿CreekSide?
    • Solucionador del Registro ChkReg
    • Diagnóstico de memoria de Windows
    • Investigación de interfaces no documentadas
  5. APRENDIZAJE INTERNO

    • Conexiones de Windows en San Francisco
    • Clases prácticas de Windows Internals/Sysinternals de Mark Russinovich y David Solomon

El Boletín de Sysinternals está patrocinado por Winternals Software, en la Web en http://www.winternals.com. Winternals Software es el desarrollador líder y proveedor de herramientas de sistemas avanzados para Windows NT/2000/XP/2003.

Winternals está encantado de anunciar la próxima versión de Pak 5.0 del administrador con una actualización completa, incluido ERD Commander 2005.

Las nuevas características de ERD Commander 2005 incluyen:

  • Analizador de bloqueos: diagnostique rápidamente y fácilmente el controlador responsable de un bloqueo de Windows, incluso si el sistema no arrancará
  • DiskWipe: borrar de forma segura discos duros o volúmenes; Autoruns: vea qué aplicaciones se inician en la configuración de Windows y el inicio de sesión de usuario: útil para diagnosticar problemas de recursos del sistema y encontrar malware potencial
  • FireFox Web Browser: descargue revisiones, actualizaciones de controladores, busque ayuda en Microsoft Knowledge Base: todo en el sistema que está intentando reparar
  • Asistente para desinstalación de revisiones, que permite quitar las revisiones y Service Packs en un sistema que no se puede arrancar
  • Reparación de archivos del sistema, que comprueba la integridad de los archivos del sistema de Windows.

Estas características, numerosas mejoras y mejoras de facilidad de uso para ERD Commander 2005, y un nuevo cliente de recuperación remota más fácil de compilar y usar basado en Windows PE se incluyen en el nuevo Pak 5.0 del administrador, disponible a finales de enero de 2005. Para suscribirse a una evaluación del Pak 5.0 del administrador cuando se publique, visite http://www.winternals.com/ap5preview/.

EDITORIAL

Hola a todos:

Bienvenido al boletín de Sysinternals. El boletín tiene actualmente 40.000 suscriptores.

La creciente marea de malware, incluyendo spyware y virus, tiene a todos preocupados por la seguridad. Entre las buenas medidas de seguridad se incluyen mantenerse al día con el sistema operativo y las revisiones de aplicaciones, la instalación y configuración de las herramientas de eliminación de firewall, antivirus y spyware, y el ejercicio de juicio al descargar desde Internet o abrir datos adjuntos de correo electrónico. Sin embargo, a pesar de las medidas exhaustivas, el malware todavía puede encontrar formas de escapar por defensas e infectar un equipo. El problema más común en las defensas de un sistema es la vulnerabilidad de desbordamiento del búfer y por eso debe estar familiarizado con la característica prevención de ejecución de datos (DEP) de Windows XP Service Pack 2.

Un desbordamiento de búfer es un error de programación que los programas malintencionados pueden aprovechar para tomar el control del subproceso que ejecuta el error de codificación. Los desbordamientos de búfer suelen basarse en la pila, lo que significa que un atacante proporciona al programa más datos de los que caben en un búfer almacenado en la pila. Los datos se diseñan de forma que, cuando la función con el desbordamiento intenta volver a la función desde la que se invocó, vuelve a una ubicación de los datos.

Desafortunadamente, los errores de desbordamiento del búfer pueden afectar incluso al software mejor probado y revisado. Mensualmente se anuncian múltiples desbordamientos de búfer para Windows y el software que lo compone (Linux y sus aplicaciones no son inmunes, con un número de desbordamientos de búfer a la par que Windows). Un tema común para la mayoría de las vulnerabilidades de desbordamiento de búfer es que dan lugar a la ejecución del código colocado en regiones de memoria que solo deben contener datos.

Aunque el procesador Intel Itanium no admite la protección sin ejecutar de su lanzamiento, no fue hasta Windows XP SP2 (y el próximo Windows Server 2003 SP1) que Windows realmente usa esta compatibilidad de hardware, por ejemplo, marcando pilas de subprocesos y memoria de montón como no ejecutables. Otros procesadores que admiten protección de hardware sin ejecución incluyen los procesadores AMD64 Opteron y Athlon 64 y Athlon 64 y el clon de Intel denominado EM64T ahora disponible en procesadores Xeon y Pentium 4. AMD e Intel introdujeron recientemente procesadores de 32 bits con compatibilidad sin ejecución: AMD Sempron y la familia Pentium 4 "J" (como 520J, 540J, etc.).

Es posible que parezca obvio que Windows debe aplicar de forma predeterminada protección sin ejecutar para pilas y memoria del montón de aplicaciones para evitar vulnerabilidades de seguridad de desbordamiento del búfer, pero hay cientos de miles de aplicaciones existentes, algunas de las cuales podrían depender realmente de la configuración que no se aplica para la operación correcta. Por lo tanto, Windows XP SP2, la primera versión de Windows que aplica protección sin ejecución, proporciona un control de administrador sobre qué procesos se protegen y cuáles no. En primer lugar, en una decisión destinada a mejorar la seguridad en el futuro, la versión de 64 bits de Windows siempre aplica marcas sin ejecución para todos los procesos de 64 bits. Si un proveedor de software quiere publicar una aplicación de 64 bits, debe asegurarse de que no ejecutan código desde regiones de memoria no ejecutables (pueden marcar una región de datos como ejecutable si generan código sobre la marcha, como lo hacen las aplicaciones Java y .NET).

En segundo lugar, dado que las vulnerabilidades de desbordamiento de búfer están dirigidas normalmente a componentes del sistema operativo, Windows XP y Windows Server 2003 de 32 bits de forma predeterminada protegen las imágenes principales del sistema operativo. Sin embargo, para las aplicaciones de 32 bits (que se ejecutan en Windows de 32 bits o en Windows de 64 bits), Windows XP adopta por defecto una estrategia de "participación" (las aplicaciones no están protegidas por defecto), mientras que Windows Server 2003 adopta por defecto la estrategia de "exclusión" (las aplicaciones están protegidas por defecto, pero se pueden excluir aplicaciones específicas). Esto tiene sentido porque la seguridad suele ser de mayor prioridad en los sistemas de servidor. Puede cambiar la configuración de participación o no participar en el cuadro de diálogo configuración de DEP al que accede a través del botón Configuración de la sección Rendimiento de la página Opciones avanzadas del applet del panel de control del sistema.

Como mencioné anteriormente, a excepción de los relativamente nuevos procesadores AMD Sempron y Pentium 4 "J", todos los chips compatibles x86 lanzados hasta la fecha no tienen soporte de no ejecución. Sin embargo, Windows XP y Windows Server 2003 implementan una forma limitada de DEP en esos procesadores denominados "DEP de software". Dado que el sistema operativo obtiene el control de un subproceso cuando el subproceso genera un error, puede asegurarse de que el controlador de errores que ejecutará es uno registrado estáticamente por el código del programa. Esto evita una vulnerabilidad de seguridad que redirige el controlador de errores de un subproceso para ejecutar código malintencionado en un búfer de pila desbordado, que es lo que el virus CodeRed provocó que IIS hiciera cuando se lanzó en 2001.

A pesar de su simplicidad relativa, DEP es una de las defensas más fuertes que ofrece el sistema operativo en su escudo contra el malware de propagación automática. Lamentablemente, tres cosas limitan su potencia: la falta de compatibilidad de hardware en la mayoría de los procesadores implementados actualmente para la configuración sin ejecución, la configuración de participación predeterminada en Windows XP, de modo que solo se protegen los procesos principales del sistema operativo y la falta de conocimiento. DeP de software está limitado en su ámbito y, por lo tanto, DEP solo es marginalmente eficaz, a menos que ejecute Windows en hardware que no admita ninguna ejecución. El hecho de que Windows XP opte por participar significa que incluso cuando los usuarios ejecutan Windows en hardware sin ejecución, los únicos procesos que obtienen la protección de DEP son los del sistema operativo; si hay un desbordamiento de búfer en el firewall, explorador web, lector de correo electrónico u otra aplicación habilitada para la red, sigue siendo vulnerable. De hecho, algunas de las aplicaciones más explotadas por malware, IIS y Outlook, no están protegidas bajo la configuración de participación. Por último, dado que la mayoría de las personas no son conscientes de su comportamiento predeterminado, o incluso de DEP en absoluto, los sistemas seguirán en riesgo para los problemas de desbordamiento del búfer.

Su tiempo en que Microsoft hace que los usuarios paguen el precio de compatibilidad a cambio de una mejor seguridad o los usuarios terminarán pagando un precio mucho mayor a la mano de virus, y a su vez pasarán la factura a Microsoft. Mientras tanto, te recomiendo encarecidamente actualizar a Windows XP SP2 (Windows XP Edition de 64 bits y Windows Server 2003 SP1 también tiene compatibilidad con no ejecutar), cambiar a participar y actualizar a un procesador sin compatibilidad de ejecución (lamentablemente, no obtengo una comisión).

Por favor, pase el boletín de noticias a los amigos quienes podrían estar interesados en su contenido.

Gracias

Mark

ASPECTOS INTERNOS DE WINDOWS, 4ª EDICIÓN

El libro oficial de Microsoft sobre el funcionamiento interno de Windows Server 2003, Windows 2000 y Windows XP, del que soy coautor junto con Dave Solomon, ya está disponible en las librerías. Dave y yo hemos ampliado la cobertura de la edición anterior en aproximadamente un 25%, añadiendo nuevo material no sólo sobre los cambios de Windows Server 2003 y XP, sino también sobre herramientas y técnicas de solución de problemas. Encontrará sugerencias avanzadas sobre el uso del Explorador de procesos, Filemon y Regmon, y hay un nuevo capítulo sobre el análisis de volcado de memoria de Windows.

Obtenga más información sobre el contenido del libro y el pedido en línea en

http://www.sysinternals.com/windowsinternals.shtml

NOVEDADES DE SYSINTERNALS

FUENTE RSS SYSINTERNALS

Recibí tan a menudo la petición de añadir un mecanismo de notificación de nuevas publicaciones a Sysinternals que finalmente seguí la tendencia de toda la web y añadí un canal RSS (si no estás familiarizado con los canales RSS, aquí tienes un buen manual: http://rss.softwaregarden.com/aboutrss.html). La fuente también me da la oportunidad de notificarle las correcciones de errores menores y las actualizaciones que no garantizan una lista completa en la página principal. Ya parece la manera preferida de que los usuarios aprendan de actualizaciones en función del número de visitas que obtiene la fuente al día.

Acceda a la fuente RSS Sysinternals en:

http://www.sysinternals.com/sysinternals.xml

ARTÍCULOS DE LA REVISTA SYSINTERNALS

Hace seis meses empecé a crear una columna semimestral en Windows IT Pro Magazine (anteriormente Windows y .NET Magazine) en herramientas de Sysinternals. Cada columna describe una herramienta diferente, proporcionando sugerencias sobre el uso avanzado e información sobre cómo funcionan.

De las tres que se han publicado, enumeradas a continuación, las dos primeras son accesibles en línea por no suscriptores y la tercera será pronto:

Autoruns: http://www.win2000mag.com/Windows/Article/ArticleID/44089/44089.html

Pslist y Pskill: http://www.winnetmag.com/Windows/Article/ArticleID/43569/43569.html

PsExec: http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

MARK ES UN MVP DE MICROSOFT

El encargado de conceder el Most Valuable Professional (MVP) de Microsoft del SDK de la plataforma me ha elegido como MVP de 2005. Le agradezco a él y a Microsoft este reconocimiento oficial por las contribuciones que he hecho a los clientes de Microsoft con Sysinternals.

ESTADÍSTICAS DE NOVIEMBRE

Finalmente he obtenido un programa de análisis de tráfico web decente para Sysinternals y he analizado los archivos de registro para el mes de noviembre. La magnitud de los números me sorprendió. Estos son algunos aspectos destacables:

  • 3,6 millones de vistas de página
  • 775 000 visitantes únicos
  • 1,2 millones de descargas de utilidades
  • 200 000 descargas del Explorador de procesos, la descarga #1

AUTORUNS V6.01

Los autoruns han evolucionado mucho en los últimos meses con dos actualizaciones de número de versión principales. La versión más reciente de Autoruns muestra ubicaciones de inicio automático además de las carpetas estándar De inicio y clave de ejecución, incluidos los archivos DLL de notificación de Winlogon, las barras de herramientas del Explorador, las extensiones de espacio de nombres y los objetos auxiliares del explorador, y los archivos DLL de inicialización automática. Otra nueva función, el elemento de menú Google (tomado del Explorador de procesos) ayuda a identificar imágenes desconocidas abriendo un navegador e iniciando una búsqueda del nombre de la imagen seleccionada.

Otra nueva característica, comprobación de firma de imágenes, puede ayudarle a distinguir entre el malware y los componentes del sistema o las aplicaciones de confianza. Microsoft suele incluir hashes de archivos del sistema operativo firmados con la clave de firma privada de Microsoft. Las funciones criptográficas de Windows descifran los hashes firmados con la clave de firma pública de Microsoft y Autoruns valida las imágenes en su sistema comparando sus hashes con las versiones descifradas, anteponiendo al nombre de la empresa de la imagen "(Verificado)" cuando hay una coincidencia. Si una imagen ha sido manipulada, corrompida, sustituida o tiene un hash firmado por un editor que no es de confianza para su sistema, Autoruns informa del nombre de la empresa de la imagen como "(No verificada)".

Como administrador de sistemas, es posible que desee comprobar las imágenes de inicio automático en cuentas distintas a la que está conectado, por lo que Autoruns ahora incluye un menú Usuario con selecciones para cada cuenta que tenga un perfil almacenado en la computadora.

Por último, ahora hay un equivalente de línea de comandos de la GUI Autoruns, denominada Autorunsc, que enumera la información automática en la consola. Su capacidad para dar formato a la salida como CSV, cuando se combina con la utilidad PsExec de Sysinternals, facilita la generación de inventarios de las imágenes de inicio automático configuradas para los equipos de toda la red.

Descargar Autoruns en
http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml

PROCESS EXPLORER V8.61

Una vez más, el Explorador de procesos, una herramienta que reemplaza al Administrador de tareas como una utilidad avanzada de administración de procesos, ha sido la herramienta en la que me he centrado más, y eso se debe a que obtengo tantos comentarios para él. Desde el último boletín, Process Explorer ha pasado de la versión 8.4 a la 8.6. Una serie de funciones nuevas destacan en estas dos versiones, incluida una opción de menú Google que inicia la búsqueda de información sobre un proceso seleccionado, una pestaña de cadenas en el cuadro de diálogo de propiedades del proceso que enumera las cadenas ASCII y Unicode presentes en un archivo de imagen del proceso, una entrada de menú de cadenas que enumera las cadenas de un archivo de imagen DLL seleccionado y el nombre del proceso que consume más CPU en la información sobre herramientas que aparece al pasar el ratón por encima del icono de la bandeja del Explorador de procesos.

Muchas personas solicitaron funciones que habían extrañado al cambiar del Administrador de tareas, como la pestaña Aplicaciones del Administrador de tareas. La pestaña Aplicaciones muestra una lista de las ventanas de nivel superior del escritorio interactivo junto con el estado del subproceso al que pertenece cada ventana: "En ejecución" si el hilo está esperando recibir un mensaje de Windows o ha procesado un mensaje de Windows en los últimos cinco segundos, y "sin respuesta" en caso contrario (irónicamente, esto significa generalmente que "en ejecución" indica que el hilo está esperando y "sin respuesta" que está fuera de ejecución). Ahora puede obtener esta misma información con el Explorador de procesos agregando las columnas "Título de la ventana" y "Estado de la ventana" a la vista de proceso.

Process Explorer dispone desde hace tiempo de funciones orientadas a los procesos .NET, como el resaltado de procesos .NET y una ficha Rendimiento .NET en el cuadro de diálogo de propiedades de procesos .NET. Un proceso de .NET es uno que se ha cargado y registrado con el entorno de ejecución de .NET. Si un proceso se registra algún tiempo después de iniciar el Explorador de procesos puede no darse cuenta de que es un proceso de .NET, pero la versión más reciente vuelve a comprobar los procesos para el estado de .NET y la pertenencia a objetos de trabajo cuando actualice manualmente la pantalla, ya sea presionando el botón de la barra de herramientas de actualización, tecla F5 o seleccionando el elemento de menú Actualizar.

Para situaciones en las que no esté seguro de qué proceso posee una ventana, puede usar el nuevo botón de la barra de herramientas del buscador de ventanas para identificarlo. Basta con arrastrar el botón de la barra de herramientas, que tiene el aspecto de un destino, de la barra de herramientas y de la ventana en cuestión y el Explorador de procesos selecciona el proceso propietario en la vista de proceso.

Una adición que será inmediatamente obvia para usted es el mini-CPU gráfico que se muestra cerca de la barra de herramientas. Este gráfico muestra el historial de uso de la CPU del sistema y, al igual que la versión ampliada que se obtiene al hacer clic sobre él para abrir el cuadro de diálogo Información del sistema del Explorador de procesos, presenta una información sobre herramientas que incluye la marca de tiempo y el proceso que más CPU consume en el punto del gráfico sobre el que se mueve el ratón. Puede mover el gráfico a cualquier parte del área de la barra de herramientas, incluso en su una fila para que se expanda a lo largo del ancho de la ventana del Explorador de procesos.

Dos características relacionadas con la seguridad son la comprobación de la firma de imágenes y el estado de protección de ejecución de datos (DEP). Al activar la opción de firma de imágenes, Process Explorer comprobará si una imagen de proceso ha sido firmada digitalmente por un firmante de confianza y, al igual que Autoruns, antepondrá al nombre de la empresa en el cuadro de diálogo de propiedades del proceso "Verificado" o "No verificado". La opción está deshabilitada de forma predeterminada porque la comprobación de firma de imágenes puede tardar varios segundos a medida que la comprobación va a los sitios web para comprobar la validez de los certificados de firma.

DEP, que describo en la introducción de este boletín, es algo que debes habilitar en Windows XP SP2 para mejorar la protección contra vulnerabilidades de desbordamiento de búfer. Puede comprobar el estado de DEP de un proceso agregando la columna "Estado de DEP" a la vista de proceso o comprobando el campo "Estado de DEP" en la página de imagen del cuadro de diálogo de propiedades del proceso.

Por último, el Explorador de procesos muestra ahora los controladores cargados en el sistema en la vista DLL del proceso Sistema, que es el proceso asociado a los subprocesos de trabajo del kernel y del controlador de dispositivo. La misma información está disponible para cada controlador que para los archivos DLL enumerados para otros procesos, incluida la versión, el nombre de la empresa, la ruta de acceso completa y la dirección de carga en el espacio de direcciones del sistema.

Descargar el Explorador de procesos en
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

SIGCHECK V1.0

Muchas de las herramientas de Sysinternals están adoptando características que ayudan a los usuarios a identificar malware y Sigcheck es una utilidad de línea de comandos centrada casi exclusivamente en ese objetivo. Utiliza la misma funcionalidad de verificación de firma de imágenes incluida en Autoruns y Process Explorer para indicarle si un archivo ha sido firmado digitalmente por un editor de confianza. Además, notifica la información de versión del archivo para la imagen o las imágenes que especifique, incluido el nombre del producto, la descripción, el nombre de la compañía y la versión. Esta información es similar a la que proporciona la herramienta Filever que se incluye con Windows XP y Windows Server 2003, pero Sigcheck también proporciona la marca de fecha y hora en la que el archivo se "vinculó" o creó originalmente en el caso de las imágenes no firmadas, y la marca de fecha y hora de la firma de la imagen en el caso de las firmadas. Por último, la mayoría de los hash firmados están firmados con claves que se han firmado, una secuencia que forma lo que se denomina cadena de firma de certificados. Sigcheck admite una opción de línea de comandos que la dirige para imprimir la cadena de firma con información sobre cada uno de los firmantes de la cadena.

Uno de los usos potenciales relacionados con la seguridad de Sigcheck es investigar cualquier imagen .exe .dll o .sys sin firmar en cualquiera de los directorios bajo la raíz de su instalación de Windows (típicamente \Windows). Puede identificar fácilmente imágenes de .exe sin firmar ejecutando Sigcheck con esta línea de comandos, por ejemplo:

sigcheck -s -u c:\windows\*.exe

Todas las imágenes de Microsoft deben incluir firmas válidas, pero el comando anterior revelará tristemente que muchos no, lo que da lugar a archivos que se pueden aprovechar potencialmente para ocultar malware.

Descargar Sigcheck en
http://www.sysinternals.com/ntw2k/source/misc.shtml

BGINFO V4.07

Esta actualización menor de Bginfo, una herramienta que muestra la información que configuras en el escritorio del ordenador en el que la ejecutas para facilitar su visualización, tiene mejor soporte para mapas de bits que debe estirar para ajustarse al tamaño que especifiques, mejoras en la detección de CPU, soporte para MySQL y compatibilidad mejorada con pantallas multimonitor.

Descargar Bginfo en
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

REGJUMP V1.0

Si alguna vez ha querido crear accesos directos del Explorador a claves del Registro específicas o simplemente escribir la ruta de acceso de una clave y hacer que Regedit se abra en la ubicación de destino, verá que Regjump es útil. Regjump es una utilidad de línea de comandos que usa la misma tecnología de "salto a" del Registro que hemos iniciado en Regmon. Asigne a Regjump una ruta de acceso del Registro como su argumento de línea de comandos y Regedit se abrirá y navegará a la clave o el valor especificados.

Descargar Regjump en
http://www.sysinternals.com/ntw2k/source/misc.shtml

HEX2DEC V1.0

Trabajar con depuradores y desensamblado a menudo encuentro que tengo que convertir hexadecimal a decimal y viceversa. Finalmente me cansé de abrir Calc, escribir un número y luego cambiar la base para ver la conversión y así escribí una pequeña utilidad de conversión de línea de comandos. Hex2dec convierte en ambas direcciones e identifica convenientemente la entrada como hexadecimal si tiene un prefijo "0x" o "x" o incluye las letras 'a'-'f' (no distingue mayúsculas de minúsculas).

Descargar Hex2dec en
http://www.sysinternals.com/ntw2k/source/misc.shtml

TCPVCON V2.34

Netstat es una utilidad de línea de comandos integrada en Windows NT y superior que muestra los puntos de conexión TCP y UDP activos actualmente en el sistema. La versión que Microsoft introdujo con Windows XP incluye una información útil: el identificador de proceso (PID) del proceso que abrió cada punto de conexión. Sin embargo, para determinar el nombre del proceso o cualquier otra información sobre él, tiene que abrir una herramienta de lista de procesos y encontrar el proceso con ese PID.

TCPView es una aplicación de GUI de Sysinternals que muestra la misma información de punto de conexión activo, pero mucho más conveniente que Netstat, ya que incluye el nombre del proceso, cambia rápidamente entre nombres DNS y direcciones IP sin formato, y resalta con colores nuevos y puntos de conexión eliminados. La descarga de TCPView ahora incluye TCPVCon, una versión de consola de TCPView, para las que le gusta usar interfaces de línea de comandos. A diferencia de Netstat, TCPVCon muestra la ruta completa del proceso asociado a cada punto final e incluye un conmutador que vuelca la salida en formato CSV.

Descarga de Tcpvcon en
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

ACTUALIZACIONES DE PSTOOLS

PsKill y PsLoglist son los dos PsTools que han ganado mejoras en los últimos meses. PsKill, una utilidad de línea de comandos que finaliza los procesos en el sistema local o remoto, ahora admite un conmutador -t para que pueda finalizar un árbol completo de procesos. Varias personas solicitaron esta opción para facilitar la limpieza de árboles descontrolado de scripts por lotes.

PsLoglist es una herramienta de línea de comandos que vuelca los registros de eventos en sistemas locales o remotos. Las actualizaciones recientes han agregado 5 opciones a su lista ya larga de calificadores de línea de comandos. Los nuevos argumentos permiten excluir tipos de eventos o orígenes de eventos especificados de la salida o solo volcar eventos de los últimos minutos o horas. Ahora también admite un modo de supervisión del registro de eventos en el que se ejecuta hasta que finaliza, imprimiendo los registros de eventos a medida que generan.

Descargar PsTools, incluidos PsKill y PsLoglist, en
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

SYSINTERNALS AT WWW.MICROSOFT.COM

Esta es la última entrega de referencias de Sysinternals en los artículos de Microsoft Knowledge Base (KB) publicados desde el último boletín informativo. Esto aporta a 63 el número total de referencias de KB públicas a Sysinternals.

  • CORRECCIÓN: Windows Media Player 9 Series para Windows accede frecuentemente al registro y puede afectar al rendimiento http://support.microsoft.com/?kbid=886423

  • Información general sobre las actualizaciones de seguridad de GDI+ 1.0 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/gdiplus10security.asp

  • Edición del registro http://support.microsoft.com/default.aspx?scid=kb;en-gb;835818

  • Recibirá un mensaje de error "No hay información que mostrar en esta vista" al intentar acceder a una vista http://support.microsoft.com/default.aspx?scid=kbdel proyecto ;en-us;810596

INFORMACIÓN INTERNA

EXPLORACIÓN DE INTERNET

Hace aproximadamente un año anuncié que había cambiado de IE a Mozilla porque IE no tenía las características consideradas obligatorias para un navegador de Internet decente, como bloqueo de elementos emergentes, exploración con pestañas, relleno automático de formularios y filtrado de anuncios. No mucho después alguien me señaló Avant Browser, una pequeña descarga que utiliza IE (no es su propio navegador) para darle todo eso y más. La tosca interfaz de Mozilla y la falta de compatibilidad con algunos sitios que frecuento hicieron que la decisión de cambiar fuera fácil. Aunque la nueva versión de FireFox es mejor en ambos aspectos, todavía hay algunos sitios incompatibles (como Windows Update, por ejemplo) y, por lo tanto, no he sido obligado a cambiar de nuevo.

La lentitud del progreso de Microsoft mejorando IE, incluso a la luz de las pequeñas mejoras de Windows XP SP2 de IE, debería avergonzarlos en comprar Avant Browser y compilarlo en la próxima versión de IE.

Descargue Avant Browser en: http://www.avantbrowser.com

USO DE LIVEKD PARA SOLUCIONAR PROBLEMAS DE SISTEMAS DEFICIENTES

LiveKd es una utilidad que escribí para la 3ª edición de Inside Windows 2000 (ahora es una herramienta gratuita en Sysinternals). Permite usar Windbg o Kd del paquete Herramientas de depuración de Microsoft para Windows para ejecutar comandos de depuración que se usan normalmente para investigar volcados de memoria y sistemas congelados en un sistema en línea y activo. Microsoft introdujo una capacidad similar, denominada "depuración local del kernel", para las herramientas de depuración cuando se ejecutan en Windows XP y versiones superiores. Sin embargo, hay varias cosas que puede hacer con LiveKd, pero no se puede realizar con la depuración del kernel local. Por ejemplo, no puede examinar las pilas de subprocesos en modo kernel con depuración de kernel local y el comando list-kernel modules, lm k, enumera solo el kernel del sistema operativo y no los demás controladores de carga cuando se ejecutan en la depuración del kernel local. Ambos comandos funcionan dentro de LiveKd.

Otro comando que no funciona en la depuración del kernel local, pero que lo hace en LiveKd, es .dump. Aprendí de un ingeniero de servicios de soporte técnico de Microsoft (PSS) que el .dump comando puede ser útil para solucionar problemas de un sistema deficiente. Un equipo que experimenta problemas, pero que ofrece servicios como web o base de datos, puede que no sea un candidato para reiniciar o depurar la depuración tradicional en la que el sistema está en pausa durante la investigación. Ejecutando LiveKd y ejecutando .dump se obtiene un archivo con formato crash-dump que contiene el contenido de la memoria física del sistema. Puedes llevar el archivo de volcado a otra máquina y analizar el estado del sistema operativo y las aplicaciones de servicio cargando el archivo de volcado en WinDbg o Kd, evitando así una interrupción mientras observas la causa de un problema.

Descargar LiveKd en
http://www.sysinternals.com/ntw2k/freeware/livekd.shtml

¿CREEKSIDE?

Recientemente estaba investigando la inicialización de la versión Windows XP Service Pack 2 de Winlogon, el proceso del sistema responsable de presentar la interfaz de usuario de inicio de sesión, cuando me encontré con código en el desensamblado donde Winlogon comprueba la presencia de una DLL llamada ediskeer.dll en el directorio \Windows\System32, se asegura de que está firmada digitalmente por un firmante de confianza si existe, y luego la carga y llama a una función sin nombre exportada por la DLL. El código winlogon que se ejecuta cuando alguien inicia sesión en el sistema también llama al archivo DLL si se cargó durante la inicialización.

Busqué el archivo DLL en mi sistema y no lo encontré, y tampoco está presente en el CD de Service Pack 2. ¿Qué es el archivo DLL? Usando los símbolos de depuración que Microsoft envía para el sistema operativo pude ver que Winlogon configura una variable llamada "Creekside" si ediskeer.dll está presente y firmado y entonces me di cuenta de que "ediskeer" consiste en las últimas 8 letras de "creekside" en orden inverso. Aún no estoy seguro de a qué se refiere Creekside, pero sospecho firmemente que la DLL es una que sólo se suministra con Windows XP Starter Edition, la versión de bajo coste de Windows XP que Microsoft introdujo recientemente para los países en desarrollo. Starter Edition se basa en el mismo núcleo del sistema operativo que Windows XP Professional y Home Edition, pero impone límites en el número de aplicaciones que un usuario puede tener al mismo tiempo en ejecución. Si es correcto, Winlogon carga el archivo DLL para aplicar ese límite, lo que lo activa cada vez que un nuevo usuario inicia sesión.

CORRECCIÓN DEL REGISTRO CHKREG

A lo largo de los años, Bryce y yo hemos recibido numerosas solicitudes de una analogía del Registro para Chkdsk, la utilidad de comprobación de coherencia del sistema de archivos. Nunca hemos escrito uno porque hemos sentido que la audiencia de uno es demasiado pequeña para justificar el esfuerzo. Hace aproximadamente un año, Microsoft publicó el conocido Chkreg, un Chkdsk para el Registro que corrige muchos tipos de daños en el Registro.

Desafortunadamente, Chkreg solo se admite en Windows 2000 (también puede funcionar en registros de Windows NT 4 y Windows XP) y se implementa como una aplicación "nativa" que usa la API nativa en lugar de la API de Windows y, por lo tanto, no se ejecutará en Windows. Cuando lo descargues, tendrás que instalarlo en un conjunto de seis disquetes de arranque de instalación de Windows, un asunto tedioso y que lleva mucho tiempo. Nos hemos puesto en contacto con los desarrolladores de Chkreg y les hemos animado a que publiquen la versión para Windows que, según hemos sabido, utilizan los Servicios de Soporte de Productos (PSS) de Microsoft, pero no sabemos cuándo la publicarán.

Puede descargar Chkreg en
http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C&displaylang=en

DIAGNÓSTICO DE MEMORIA DE WINDOWS

Una de las experiencias más frustrantes para un usuario de Windows es que el sistema se cuelgue. En la mayoría de los casos, el error es un controlador de dispositivo de terceros, que puede solucionar deshabilitando el controlador o actualizando a una versión con una corrección. Alrededor del 10% de los fallos notificados a Microsoft Online Crash Analysis (OCA) están causados por problemas de hardware, la mayoría de los cuales están relacionados con el disco y la memoria.

Si se producen cuelgues que OCA no puede diagnosticar o sospecha que se trata de un problema de memoria, debería dedicar unos minutos al Diagnóstico de memoria de Microsoft Windows (WMD), una herramienta de comprobación de memoria que Microsoft ha lanzado recientemente. El instalador de WMD solicita un disquete o CD en el que guarda el programa WMD. Cuando arranca una máquina desde el disquete o CD que ha creado, WMD se ejecuta y realiza una prueba exhaustiva de la memoria del ordenador, informando de su progreso y de cualquier problema en la pantalla. Si tiene errores de memoria WMD, puede ahorrarle la frustración sin fin de bloqueos de Windows.

Puede descargar el diagnóstico de memoria de Windows en http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C&displaylang=en

INVESTIGACIÓN DE INTERFACES NO DOCUMENTADAS

La función de estado DEP que describo en la sección sobre mejoras del Explorador de procesos más arriba en el boletín se basa en una función no documentada. Pensé sería de interés saber cómo descubrí, sin acceso al código fuente de Windows (Dave Solomon, mi coautor para Windows Internals, tiene acceso, pero yo no), la función y su uso adecuado.

El primer paso en mi proceso de análisis fue plantear la hipótesis de que una consulta de estado DEP para un proceso pasaría por la API de NtQueryInformationProcess. Muchas funciones de la API de Windows que recuperan información sobre un proceso utilizan la interfaz NtQueryInformationProcess para obtener la información. Esta función, cuyo prototipo se encuentra en el archivo Ntddk.h del kit de desarrollo de controladores (DDK) de Windows, es accesible desde el modo de usuario a través de la interfaz de llamada al sistema "API nativa":

NTSYSAPI
NTSTATUS
NTAPI
NtQueryInformationProcess(
    IN HANDLE ProcessHandle,
    IN PROCESSINFOCLASS ProcessInformationClass,
    OUT PVOID ProcessInformation,
    IN ULONG ProcessInformationLength,
    OUT PULONG ReturnLength OPTIONAL
);

Sus dos primeros argumentos son un "handle" de un proceso y una "clase de información del proceso". La enumeración PROCESSINFOCLASS, las primeras definiciones de las que se muestran a continuación, también se incluye en NTDDK. H:

typedef enum _PROCESSINFOCLASS {
    ProcessBasicInformation,
    ProcessQuotaLimits,
    ProcessIoCounters,
    ProcessVmCounters,
    ProcessTimes,
//...

Dado que DEP se introdujo en Windows XP SP2, no esperaba que la clase de información para consultas DEP apareciera en las versiones de Ntddk.h de Windows XP o Windows Server 2003, y una rápida comprobación confirmó su ausencia. Por lo tanto, tuve que investigar un desensamblaje de Ntoskrnl.exe de SP 2, la imagen donde se implementa NtQueryInformationProcess, para ver si podía determinar la clase de información de consulta DEP empíricamente.

Un desensamblador toma una imagen ejecutable y enumera las instrucciones del lenguaje de ensamblado que componen su código. Las instrucciones del lenguaje de ensamblado se asignan directamente a las instrucciones ejecutadas por un procesador. El desensamblador que utilizo es IDA Pro de http://www.datarescue.com, ya que entiende los archivos de información de depuración de Microsoft e integrará la información en la salida del lenguaje ensamblador. En el desensamblado descubrí la enrevesada secuencia de instrucciones al inicio de NtQueryInformationProcess que toma el parámetro de clase de información del proceso y ejecuta código específico para cada clase. Como sabía que la clase de información era nueva, podía omitir la ejecución de las clases para las que vi definiciones en la enumeración de PROCESSINFOCLASS Ntddk. Esto redujo mi investigación a las aproximadamente 3 ó 4 nuevas clases introducidas desde el lanzamiento de Windows XP.

Una de las clases, la que corresponde a un ProcessInformationClass valor de 0x22, me llevó a través de una ruta de acceso de código a una función denominada MmGetExecuteOptions, el inicio del cual se muestra aquí:

PAGE:0054D7CC ; __stdcall MmGetExecuteOptions(x)
PAGE:0054D7CC _MmGetExecuteOptions@4 proc near ; CODE XREF:
NtQueryInformationPro0063ess(x,x,x,x,x)+251C p
PAGE:0054D7CC
PAGE:0054D7CC arg_4 = dword ptr 8
PAGE:0054D7CC
PAGE:0054D7CC mov edi, edi
PAGE:0054D7CE push ebp
PAGE:0054D7CF mov ebp, esp
PAGE:0054D7D1 mov eax, large fs:124h
PAGE:0054D7D7 mov eax, [eax+44h]
PAGE:0054D7DA mov cl, [eax+6Bh]
PAGE:0054D7DD mov eax, [ebp+arg_4]
PAGE:0054D7E0 and dword ptr [eax], 0
PAGE:0054D7E3 xor edx, edx
PAGE:0054D7E5 inc edx
PAGE:0054D7E6 test dl, cl
PAGE:0054D7E8 jz short loc_54D7EC
PAGE:0054D7EA mov [eax], edx
PAGE:0054D7EC
PAGE:0054D7EC loc_54D7EC: ; CODE XREF:
MmGetExecuteOptions(x)+1C j
PAGE:0054D7EC test cl, 2
PAGE:0054D7EF jz short loc_54D7F4
PAGE:0054D7F1 or dword ptr [eax], 2
PAGE:0054D7F4
PAGE:0054D7F4 loc_54D7F4: ; CODE XREF:
MmGetExecuteOptions(x)+23 j
PAGE:0054D7F4 test cl, 4
PAGE:0054D7F7 jz short loc_54D7FC
PAGE:0054D7F9 or dword ptr [eax], 4
PAGE:0054D7FC

IDA Pro me mostró en la primera línea de la salida anterior que la función acepta un argumento, que sospecho que era un puntero a una variable que recibe la configuración de DEP. He dedicado suficiente tiempo a examinar los ensamblados del kernel de Windows para reconocer la secuencia mov eax, large fs:124h; mov eax,[eax+44h] de instrucciones como una lectura de la estructura de datos del subproceso _KTHREAD actual en la estructura de la región de control del procesador (PCR) seguida de una referencia del KPROCESS campo en el desplazamiento 0x44 en la _KTHREAD estructura. Las instrucciones siguientes a las que leen bits individuales en el byte en el desplazamiento 0x6B de la estructura _KPROCESS.

Sin saber de antemano lo que hay en el offset 0x6B en una _KPROCESS, lancé Windbg en modo de depuración del núcleo local y ejecuté el comando dt _kprocess, que me informó de lo siguiente:

+0x06b Flags : _KEXECUTE_OPTIONS

Looking at that structure with another dt command showed the bit definitions:

+0x000 ExecuteDisable : Pos 0, 1 Bit
+0x000 ExecuteEnable : Pos 1, 1 Bit
+0x000 DisableThunkEmulation : Pos 2, 1 Bit
+0x000 Permanent : Pos 3, 1 Bit
+0x000 ExecuteDispatchEnable : Pos 4, 1 Bit
+0x000 ImageDispatchEnable : Pos 5, 1 Bit
+0x000 Spare : Pos 6, 2 Bits

Seguro suficiente, estos bits se relacionan con DEP y parece que MmGetExecuteOptions los copia de esa estructura en los bits correspondientes de la ubicación de memoria que se pasan como argumento ProcessInformation a NtQueryInformationProcess. Por lo tanto, había determinado que podía consultar el estado DEP de un proceso mediante una llamada a NtQueryInformationProcess con un ProcessInformationClass de 0x22, la dirección de un DWORD (entero de 4 bytes), y una longitud de 4. Parece que MmGetExecuteOptions solo devuelve las marcas del proceso actual y omite el parámetro ProcessHandle (el Explorador de procesos consulta el estado de DEP de otros procesos haciendo que su controlador auxiliar cambie a ellos a través de la KeAttachProcess API).

He terminado excepto por un par de diferencias sutiles en la versión de 64 bits de Windows, ya que hago disponible una versión de 64 bits del Explorador de procesos. En Windows MmGetExecuteOptions de 64 bits es necesario que sea -1 y devuelve un ProcessHandle error si el proceso actual es un proceso de 64 bits, ya que STATUS_INVALID_PARAMETER DEP siempre está activado para procesos de 64 bits. Usé Windbg para desensamblar la versión de 64 bits de Ntoskrnl.exe, aunque desde entonces hemos obtenido la versión de IDA Pro que admite el desensamblaje de imágenes AMD64.

APRENDIZAJE DE LOS COMPONENTES INTERNOS

CONEXIONES DE WINDOWS EN SAN FRANCISCO

Voy a impartir dos sesiones en la conferencia Windows Connections, organizada por Windows IT Pro Magazine y que tendrá lugar del 17 al 20 de abril en San Francisco. Una es una sesión general titulada "Entender y combatir el malware: Virus, Spyware y Rootkits" en la que describo cómo el malware aprovecha las vulnerabilidades para propagarse y eludir las medidas de seguridad, cómo se esconden utilizando sofisticadas técnicas llamadas "rootkits" y cómo detectarlos y limpiarlos de su sistema.

La otra sesión es "Solución de problemas de memoria de Windows", en la que te muestro cómo responder a las viejas preguntas "¿qué significan los valores que veo en el Administrador de tareas?", "¿qué está utilizando mi memoria?" y "¿qué tamaño debo dar al archivo de paginación?".

Descargue el folleto de la conferencia y regístrese en
http://www.devconnections.com/shows/win/default.asp?s=60#

CLASES PRÁCTICAS DE WINDOWS INTERNALS/SYSINTERNALS POR MARK RUSSINOVICH

Participe durante 5 días con Mark Russinovich y David Solomon, autores del nuevo libro Windows Internals 4ª edición, aprendiendo técnicas avanzadas de solución de problemas mientras se adentra en los entresijos del kernel del sistema operativo Windows NT/2000/XP/2003. Si usted es un profesional de TI que despliega y da soporte a servidores y estaciones de trabajo Windows, necesita ser capaz de escarbar bajo la superficie cuando las cosas van mal. Conocer el funcionamiento interno del sistema operativo Windows y saber cómo utilizar herramientas avanzadas de solución de problemas le ayudará a solucionarlos y a comprender mejor los problemas de rendimiento del sistema. Comprender los elementos internos puede ayudar a los programadores a aprovechar mejor la plataforma Windows, así como proporcionar técnicas avanzadas de depuración. Y como el curso se ha desarrollado con pleno acceso al código fuente del núcleo de Windows Y a los desarrolladores, sabrá que está conociendo la realidad.

Las próximas fechas incluyen:

  • 6-10 DE JUNIO, ORLANDO, FLORIDA
  • 11-15 DE JULIO, MÚNICH, ALEMANIA
  • 19-23 DE SEPTIEMBRE, SAN FRANCISCO, CALIFORNIA
  • 5-9 DE DICIEMBRE, AUSTIN, TEXAS

NOTA: Se trata de una clase práctica: cada asistente deberá traer su propio ordenador portátil (las instrucciones de configuración se enviarán con antelación).

Obtendrá una descripción detallada de la arquitectura del kernel de Windows NT/2000/XP/2003, incluidos los internos de procesos, programación de subprocesos, administración de memoria, E/S, servicios, seguridad, el registro y el proceso de arranque. También se tratan técnicas avanzadas de solución de problemas, como la desinfección de malware, el análisis de volcados de memoria (pantalla azul) y la superación de problemas de arranque. También aprenderá sugerencias avanzadas sobre el uso de las herramientas clave de www.sysinternals.com (como Filemon, Regmon y Process Explorer) para solucionar problemas de sistema y aplicación, como equipos lentos, detección de virus, conflictos de DLL, problemas de permisos y problemas del registro. El soporte técnico del producto de Microsoft usa estas herramientas diariamente y se han usado de forma eficaz para resolver una amplia variedad de problemas de escritorio y servidor, por lo que estar familiarizado con su funcionamiento y aplicación le ayudará a tratar diferentes problemas en Windows. Se proporcionarán ejemplos reales que muestren una aplicación correcta de estas herramientas para resolver problemas reales.

Para registrarse, visite http://www.sysinternals.com/troubleshoot.shtml


Gracias por leer el Boletín de Sysinternals.

Publicado el miércoles, 05 de enero de 2005 16:36 por ottoh

[Archivo de boletines ^] [< Volumen 6, Número 2] [Volumen 7, Anuncio especial >]