Cazando Malware (Parte I)
Hoy vengo a contaros cómo realizar vuestro propio laboratorio para capturar malware. Parece mentira pero es bastante "sencillo", solo necesitamos: un puñado de máquinas en diversos países en el mundo, tiempo, dinero (tampoco mucho) y ganas de llevarlo a cabo.
Como se trata de una actividad compleja, va a ser un proceso largo. En un sólo post no vamos a poder explicar todo el proceso a la vez, por lo que le dedicaremos una serie de ellos, siendo este el primero.
Empecemos con un pequeño esquema para dejar todo un poco mas claro:
Podéis ver 3 elementos bien diferenciados:
- Honeypots (Cowrie)
- BBDD (Elasticsearch)
- Frontal Web para ver los resultados(Kibana).
Y ahora es cuando vienen las preguntas de cómo se monta este tinglado.
¿CÓMO FUNCIONA?
Los honeypots generan logs en base a los eventos que registren, el Logstasth los normaliza ("parsea") y los pasa a Elasticsearch para que éste los indexe y los almacene. Kibana se conectará a Elasticsearch para presentar los datos mediante una interfaz web, para que podamos verlos de manera sencilla y rápida.A través de de esta serie de entradas en el blog vamos a ir viendo cada uno de los pasos hasta que lleguemos al resultado final. En este ejemplo podemos ver desde donde se han realizado los ataques registrados en nuestro honeypot, visto desde Kibana.
*Nota: En la imagen apreciamos un poco de "customización", que cada usuario puede realizar a su gusto una vez puesto en marcha todo. Es darle "amor" a Kibana para que te haga todo eso.
PASO 1: Creación del Honeypot.
En nuestro caso a la hora de crear el Honeypot usaremos Cowrie. Es un software que simulará un SSH y un telnet para que los "malos" puedan subir e intentar ejecutar el malware. Cuando lo hagan no pasará nada ya que caerán en nuestra trampa y el malware será nuestro para un posterior análisis, mientras nos tomamos un café.
A continuación llevamos a cabo la instalación:
*Nota: El sistema base que se ha usado para la instalación es Ubuntu 16.04.3, versión de Ovh y Digital Ocean
*Nota: El sistema base que se ha usado para la instalación es Ubuntu 16.04.3, versión de Ovh y Digital Ocean
Instalamos las dependencias:
$ sudo apt-get install git python-virtualenv libssl-dev
libffi-dev build-essential libpython-dev python2.7-minimal authbind
$ sudo apt-get install openjdk-8-jre
Creamos usuario para el honeypot:
$ sudo adduser --disabled-password cowrie
$ sudo su - cowrie
Descargamos cowrie:
$ git clone http://github.com/micheloosterhof/cowrie
$ cd cowrie
Creamos entorno virtual de Python
$ pwd
/home/cowrie/cowrie
$ virtualenv cowrie-env
Activamos el entorno virtual e instalamos dependencias de Python
Copiamos el fichero de configuración y lo pasamos a home/cowrie/etc/$ source cowrie-env/bin/activate
(cowrie-env) $ pip install -r requirements.txt
Editamos el fichero configuración.$ cp ~/cowrie/cowrie.cfg.dist ~/cowrie/etc/cowrie.cfg
[telnet]
enabled = true
Generamos Claves RSA y DSA para ssh en data
Hay que añadir las siguientes líneas al fichero cowrie.cfg, donde hayamos creado las claves anteriores.$ cd data
$ ssh-keygen -t dsa -b 1024 -f ssh_host_dsa_key
$ ssh-keygen -t rsa -b 1024 -f ssh_host_rsa_key
$ cd ..
rsa_public_key = etc/ssh_host_rsa_key.pub
rsa_private_key = etc/ssh_host_rsa_key
dsa_public_key = etc/ssh_host_dsa_key.pub
dsa_private_key = etc/ssh_host_dsa_key
Activamos el uso de puertos 22 y 23 para el honeypot
Ssh:Telnet:$ sudo apt-get install authbind
$ sudo touch /etc/authbind/byport/22
$ sudo chown cowrie:cowrie /etc/authbind/byport/22
$ sudo chmod 770 /etc/authbind/byport/22
*Nota: Tendremos que editar el fichero /etc/ssh/sshd_conf para cambiar el puerto ssh del servicio ssh de la administración de la propia máquina real, y ponemos el que queramos. En mi caso:$ sudo touch /etc/authbind/byport/23
$ sudo chown cowrie:cowrie /etc/authbind/byport/23
$ sudo chmod 770 /etc/authbind/byport/23
Editaremos de nuevo el fichero cowrie.cfg:Port 33333
[ssh]
listen_endpoints = tcp:22:interface=0.0.0.0
Y por último editamos en ~/cowrie/bin/cowrie[telnet]
listen_endpoints = tcp:23:interface=0.0.0.0
Un vez realizados todos estos pasos ya tendremos nuestro honeypot funcionando.AUTHBIND_ENABLED=yes
Hay que tener en cuenta que no tendrá todavía el Logstash instalado, por lo tanto no normalizará los logs y tampoco se los enviará al Elasticsearch.
Esto quedará pendiente para la segunda parte de este pequeño laboratorio que estamos montando.
Espero que hasta este momento os esté gustando y os pique el gusanillo para montarlo.
Para cualquier duda, no olvidéis que podéis escribirme por el telegram de Hackplayers o directamente añadir comentarios en este post.
Un saludo a todos. Nos volveremos a ver en la siguiente parte.
Via: www.hackplayers.com
Cazando Malware (Parte I)
Reviewed by Zion3R
on
14:32
Rating: