Para esto utilizare una maquina virtual debian 8. Lo primero que se debe hacer es instalar java 8 preferiblemente la version oracle, esto lo necesitamos ya que el nucleo de la herramienta es neo4j que es una base de datos orientada a grafos la cual esta basada en java, estas bases de datos permiten extraer conocimiento de la informacion y de cierta forma ver mas facil como se encadenan las piezas de un rompecabezas.
Para instalar java 8 existen muchas maneras, yo siempre trato de utilizar las mas simples por lo tanto lo hice asi:
# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
# echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
# apt-get update
# apt-get install oracle-java8-installer
Para verificar que quedo instalado utilizamos la instruccion java -version
El paso siguiente es descargar neo4j, aqui el enlace de descarga para linux neo4j, una vez descargado descomprimimos, dentro del directorio bin de la aplicacion esta el ejecutable neo4j, para iniciar la aplicacion lanzamos el siguiente comando:
# ./neo4j console
Si todo salio bien, veran el siguiente mensaje:
Abrimos la aplicacion en la url http://localhost:7474, el usuario y password por defecto es neo4j, solicitara cambio de password en la primer sesion y ya tendremos neo4j listo y funcionando.
El siguiente paso es instalar nodejs y npm, estas librerias (algunos a nodejs le dicen framework) son fundamentales para el despliegue de logon tracer.
# sudo apt-get install curl
# curl -sL https://deb.nodesource.com/setup_4.x — Node.js v4 LTS "Argon"
# sudo apt-get install nodejs
El siguiente paso es instalar la herramienta logontracer, para esto clonamos el repositorio con la instruccion:
$ git clone https://github.com/JPCERTCC/LogonTracer.git
Ingresamos al directorio static e instalamos los drivers para la base de datos neo4j con npm de la siguiente forma:
/static# npm install neo4j-driver
El siguiente paso es instalar algunos requerimientos de la aplicacion que se encuentran en el directorio de LogonTracer
Previamente a instalar los prerequisitos debemos instalar pip
# sudo apt-get install build-essential gfortran libatlas-base-dev python-pip python-dev
# sudo pip install --upgrade pip
Ahora realizamos la instalacion de los requerimientos:
# pip install -r requirements.txt
En la lista de requerimientos es posible que se generen errores por lo tanto aconsejo instalar uno por uno de manera que se pueda identificar facilmente el componente que falla.
# pip install numpy
# pip install py2neo
# pip install python-evtx
# pip install flask
# pip install lxml
# pip install changefinder
Despues de garantizar la instalacion de todas las dependencias ejecutamos el script logotracer.py con la siguiente instruccion.
# python logontracer.py -r -o [PORT] -u [USERNAME] -p [PASSWORD] -s [IP Address]
-o : Puerto de despliegue de la aplicacion web
-u : Usuario de la base de datos neo4j
-p : Contraseña que configuramos en la intalacion de neo4j
-s : direccion ip del servidor neo4j
En la aplicacion aun no tenemos datos, los archivos de entrada que se usan son .EVTX para lo cual nuestros amigos del jpcert incluyeron un par de muestras en el directorio sample, la forma de cargarlos es muy sencilla, (recuerda que todo el tiempo debe estar ejecutandose neo4j). Utilizamos la siguiente instruccion:
$ python3 logontracer.py -e sample/Security.evtx -z 0 -u usuario -p password -s localhost
Iniciamos el servidor de nuevo y ya tenemos la aplicacion funcionando con la base de datos de pruebas.