Malice: un multiAV de código abierto (Go/docker)

Malice de blacktop es un multi-antivirus local que pretende ser un "Virustotal de código abierto" que todo el mundo pueda usar a cualquier escala, desde un único analista de malware hasta una gran compañía.

Está escrito en Go por lo que requerirás la versión 1.5 o superior y necesitarás también Docker ya que irá levantando contenedores para el análisis según los plugins habilitados, todos controlados por un contendedor supervisor con ELK (Elasticsearch, Logstash y Kibana).

Instalación en Kali Linux

Instalamos docker si previamente no lo teníamos:

apt-get install docker.io

Comprobamos versiones:

root@server# docker --version
Docker version 1.11.2, build b9f10c9

root@server:~# go version
go version go1.7 linux/amd64


Ahora exportamos las variables de entorno de GO (es recomendable añadirlas en el fichero .bashrc):

$ export GOPATH=$HOME 
$ export PATH=$PATH:$GOPATH/bin


Llamamos al subcomando "go get" para la instalación:

go get github.com/maliceio/malice

Al final veréis que la aplicación se os habrá instalado bajo el directorio indicado en la variable $GOPATH (subdirectorios /src y /bin) y luego, en home, tendréis también otro directorio, .malice, donde se almacena la info de config/plugin y donde se irán guardando todas las muestras que vayáis analizando.

A continuación actualizamos todos los plugins:

malice plugin update --all

Y posteriormente listamos:

malice plugin list
virustotal
shadow-server
fileinfo
yara
avg
bitdefender
clamav
comodo
fprot
f-secure
sophos
floss


O si queréis ver el detalle, sobretodo para ver si están o no habilitados cada uno de los plugins:

malice plugin list --all --detail


Nota: Para el caso específico de Virustotal previamente tendrás que setear tu clave del API.
MALICE_VT_API=3sd3ew...

Ejemplos de uso

Scan:


$ malice scan befb88b89c2eb401900a68e9f5b78764203f2b48264fccgo get3f7121bf04a57fd408

=OR=

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
                -v `pwd`/data/samples:/malice/samples \
                -e MALICE_VT_API=$MALICE_VT_API \
                malice/engine scan befb88b89c2eb401900a68e9f5b78764203f2b48264fcc3f7121bf04a57fd408


Análisis de una muestra en local:

$ malice scan eicar.sample


 

Acceso a Kibana (por defecto admin/admin)

root@PR06543N63242X:~/.malice# malice web start
INFO[0000] Admin server started...                       env=development url=http://0.0.0.0:3343
INFO[0000] Malice server started...                      env=development url=http://0.0.0.0:80


http://localhost


Nota: Cambiar la passwd de acceso a Kibana:

$ docker exec -it elk bash

root@593cf95bd8cc:/# htpasswd -D /etc/nginx/.htpasswd admin
Deleting password for user admin

root@593cf95bd8cc:/# htpasswd /etc/nginx/.htpasswd blacktop
New password: *****
Re-type new password: *****
Adding password for user blacktop

root@593cf95bd8cc:/# exit


Github: https://github.com/maliceio/malice

Comentarios