Microsoft Log Parser, la gran desconocida…

Log Parser es una herramienta de microsoft muy versátil, algo antigua, pero todavía da guerra,  con ella podremos trabajar con diferentes INPUTS (tipos de entrada) tales como; eventos, xml, texto, registro de windows, capturas con netmon, objetos de active directory, permitiéndonos realizar consultas tipo sql y varios tipos de salida, si queréis obtener más información sobre sus bondades, solo tenéis que visitar la página en TechNet  donde encontraremos un poco de información sobre ella y como descargarla, además también tenéis los foros oficiales de microsoft .

Muchos pensaréis que para que vamos a usar log parser cuando con PowerShell podemos hacer lo mismo, y aquí os recomiendo que hagáis vuestras propias pruebas, pero debo decir que log parser es más eficiente y rápido que PowerShell para algunas tareas, sobre todo cuando tenemos que trabajar con grandes volúmenes de datos, y en cualquier caso, cuando los unimos podemos obtener soluciones muy completas. En cualquier caso el objetivo de este primer post sobre log parser es dar una primera toma de contacto y empezar a trabajar con la misma, ya iremos realizando cosas más complejas e interesantes conforme nos vayamos sintiendo más cómodos con ella.

NOTA: A primera vista nos puede parecer un poco complejo eso de trabajar desde la línea de comandos e ir utilizando sentencias sql, así como algunas particularidades de la herramienta, os aconsejo empezar poco a poco e ir sedimentando los conocimientos de la misma, así como documentar las consultas que aprendáis para el futuro. No os desaniméis.

Veamos ahora un poco que opciones tenemos con logparser, una vez descargado desde el enlace anterior e instalado (siguiente, siguiente, siguiente), se nos creará la siguiente ruta:

Os recomiendo ir echarle un ojo a la documentación en formato chm , existente en la ruta de la aplicación, así como ojear un poco la estructura de carpetas y ejemplos que la propia app trae de serie, pero esto ya es tarea vuestra, de momento nosotros abrimos un cmd o un powershell, en mi caso lo he abierto como administrador por comodidad para realizar algunas tareas, nos vamos a la ruta anterior y ejecutamos logparser.exe -h para ver la ayuda.

 

 

Si queremos obtener ayuda sobre las opciones de los métodos de entrada usamos logparser -h -i:evt que en este caso seria los eventos del sistema.

 

 

Bien, os recomiendo de nuevo que os leáis la documentación y probéis los comandos de ayuda; logparser -h -o:CSV, logparser -h functions, etc.  y dejo de daros la bara con el tema de la ayuda, veamos un ejemplo en el que por primero me he copiado el archivo security.evtx, (para el que no lo sepa, los eventos del sistema se guardan en windows 10 en la carpeta c:\Windows\System32\winevt\Logs) a la carpeta del logparser y ejecutamos lo siguiente:

 

LogParser.exe -stats:OFF -i:EVT "SELECT * FROM 'Security.evtx' WHERE EventID = '4624'"

 

Veamos un poco que es lo que estamos haciendo; el -stats:OFF es para desactivar las estadísticas, a veces nos puede interesar dejarlas activadas <<por defecto: ON>>, pero como estamos aprendiendo lo básico, las desactivo, el -i:EVT significa que el input que le vamos a pasar a log parser es un registro de eventos, y entre comillas tenemos la sentencia SQL  de lo que queremos buscar, que como podéis ver es del registro de eventos SECURITY.EVTX el ID de evento 4624 que pertenece a los inicios de sesión de windows.

 

Y este es el resultado que obtenemos:

 

 

Bueno, se ve horrible, al menos por pantalla de momento se ve un poquito mal,  veamos como exportarlo a csv para luego poder darle un poco de formato.

 

LogParser.exe -stats:OFF -i:EVT -o:CSV  "SELECT * FROM 'Security.evtx' WHERE EventID = '4624'" >>test.csv

 

Solo hemos añadido la opción -o:CSV y hemos redireccionado el rsultado a test.csv, ahora abrimos excel, nos vamos a la pestaña DATOS y seleccionamos importar desde archivo de texto.

 

 

Seleccionamos test.csv y le damos a importar, en la siguientes ventanas dejamos las opciones tal y como aparecen en la secuencia de imágenes.

 

 

 

 

Pulsamos en finalizar y ya tenemos los datos un poco más fácil de leer.

 

 

A partir de aquí ya podemos crear filtros en excel y trabajar con los datos de una forma un poco más amigable, ¿o no?.
Aquí quiero hacer un apunte rápido, cuando realizamos una consulta, log parser también nos permite llamar la consulta desde un archivo, veamos el ejemplo anterior, si escribimos un archivo de texto llamado ejemplo1.sql y le ponemos el siguiente contenido.
-------- inicio ejemplo1.sql --------

SELECT * 
FROM Security 
WHERE EventID = '4624'

-------- fin ejemplo1.sql --------
Podremos realizar la llamada a logparser de la siguiente forma:

 

C:\Program Files (x86)\Log Parser 2.2>LogParser -i:EVT file:ejemplo1.sql -o:CSV >>test1.csv

 

Si os fijáis he llamado directamente al registro de eventos Security en lugar de llamar al archivo, os lo remarco para que veáis que se puede trabajar directamente o con los archivos aparte, lo digo para los forenses y tal 🙂 , además, de esta forma, no tenemos que estar escribiendo toda la consulta cada vez y más adelante podremos utilizar dichas consultas en scripts, pero eso ya es otro tema.
Seguimos con otro ejemplo, pero esta vez en lugar de preguntar directamente al registro de eventos, lo vamos a hacer al csv resultante del comando anterior, veamos:

 

LogParser.exe -stats:OFF -i:csv "SELECT TimeGenerated,EventLog,EventID FROM 'test.csv' WHERE EventID = '4624'"

 

Con el -i:CSV le estamos indicando al logparser que le vamos a pasar un csv, en nuestro caso el test.csv. Si os fijáis en la consulta, solo estoy extrayendo 3 campos, TimeGenerated, EventLog y EventID, veamos como queda este comando….

 

 

Imagino que no hace falta que os explique que hasta el momento son solo ejemplos, y que voy agregando opciones y cambiando cosas para que podáis observar que log parser  es una herramienta muy versátil y rápida, que nos puede ayudar a realizar muchas tareas en todos los ámbitos, ya sea como sysadmin, forense, o lo que sea, sólo hay que saber que es lo que se busca y entenderla.

 

Bien, hasta ahora hemos visto como descargarla, un poco como funciona, como acceder a un registro de eventos y a un csv, mostrar los datos de nuestras consultas por pantalla y exportarlos a csv. creo que de momento, ya tenéis para empezar a jugar con el… aquí corto y otro día seguiremos con más cositas sobre log parser, ejemplos, tips, etc. Tened en cuenta que esto se puede convertir en una mini saga, ya que es una herramienta que da mucho juego.

 

Y como siempre espero que os guste el post de hoy, iremos cubriendo nuevos conocimientos sobre esta pequeña desconocida, log parser….

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *