miércoles, 18 de noviembre de 2009

Informes de Windows masivos

Disponer de informes hardware/software de los ordenadores de una red administrada ahorra mucho tiempo al solucionar problemas.

Una muestra de los datos que se pueden incluir en estos informes puedes verla en el post de Informe del Sistema.

Para automatizar la elaboración de estos informes, las utilidades regsys e infosis extraen estos datos mediante WMI y el Registro de Windows en el mismo ordenador donde se ejecuta la utilidad y pasa los resultados a HTML.

Estas utilidades son muy prácticas al finalizar la instalación/configuración de un sistema Win32 nuevo, pero en el caso de necesitar los informes de decenas o cientos de ordenadores, por ejemplo, de un Directorio Activo, realizar los informes uno a uno es ineficiente.

Para automatizar esta tarea realicé regsys-net que hace lo siguiente:
  1. Ejecutas regsys-net con permisos de administrador de dominio en un ordenador que pertenezca al dominio (supongamos que este ordenador tiene la ip 192.168.1.56)

  2. regsys-net busca ordenadores para conectar con WMI desde la ip 192.168.1.1 hasta la 192.168.1.254 (busca en toda la subred en la que se encuentra)

  3. Si en su búsqueda, regsys-net encuentra un ordenador con el WMI disponible, conecta con él, le extrae la información mediante WMI y el Registro de Windows, y la pone en un archivo HTML, nombra al archivo HTML con el nombre DNS del ordenador correspondiente y lo guarda en la misma carpeta donde se encuentra regsys-net
Este proceso suele suele tardar entre una y tres horas. En el caso de necesitar informes de más ordenadores ubicados en otras subredes, bastará con repetir el proceso en algún ordenador de la subred correspondiente.

Observación: es necesario que los ordenadores con Windows Vista tengan iniciado el servicio Registro Remoto, así, regsys-net puede extraer la información del software instalado mediante el registro de Windows.

jueves, 12 de noviembre de 2009

Localiza evidencias de Rootkits

Los rootkits son procesos que tienen la capacidad de ocultarse al usuario mediante varias técnicas. Una de ellas es mediante la inyección de código malicioso desde un proceso maligno a un proceso víctima.

Una de las funciones que utiliza el malware para realizar esta inyección es CreateRemoteThread, por tanto, conocer qué archivos ejecutables tienes en tu Windows que utilicen esta función puede sacar a la luz archivos sospechosos.

Mediante la herramienta Filealyzer podrás ver dentro de un archivo ejecutable, entre otras cosas interesantes, la tabla de importación donde aparecerá una lista de funciones que utiliza el archivo ejecutable en cuestión. Pero ¿cómo saber si un archivo ejecutable utiliza la función CreateRemoteThread para fines lícitos o no? Una forma rápida es buscar dentro de los archivos ejecutables de un Windows recién instalado e identificar los que utilizan la función CreateRemoteThread.

Hacer esto con Filealyzer es muy tedioso, así que para automatizar este proceso puedes utilizar la herramienta Strings de Sysinternals, ubicarla en una carpeta del Path (por ejemplo en c:\windows\system32), ir a esa misma ubicación en la línea de comandos y poner:

strings * | findstr CreateRemoteThread > report.txt

De esta forma,
Strings buscará CreateRemoteThread en todas las cadenas de texto de todos los archivos de c:\windows\system32 y pondrá el resultado en el archivo report.txt.

Observando el report.txt en un Windows XP SP3 recién instalado con las Windows Update al día, los archivos ubicados en c:\windows\system32 que utilizan la función CreateRemoteThread son:

csrsrv.dll
dbgeng.dll
kernel32.dll
safrslv.dll
usrcoina.dll
vdmdbg.dll
winlogon.exe
winsrv.dll

Todos ellos son archivos ejecutables de Windows que se suponen lícitos, pues al sistema, se supone que no le ha dado tiempo de infectarse con malware. Por tanto, si generas un report.txt de la manera mencionada en tu Windows XP SP3 y observas que además de los archivos listados hay alguno más, mosquéate, porque los que no aparezcan en esta lista utilizan la función CreateRemoteThread y no es de Windows.