Como siempre, antes de nada, comentar que ni soy experto ni quiero dármelas de nada que no soy. Solo quiero explicar como es una primera toma de contacto con el análisis de malware.
Sin mas, vamos a comenzar.
Partiremos de la base de una maquina virtual con XP y un bicho que ya se ha dejado previamente en ella.
La finalidad de esto es:
-Por un lado, determinar el nombre del bicho y las conexiones que este hace, así como los puertos que usa.
-Cual es el nombre del proceso y donde se encuentra.
-En que rutas podemos encontrarlo.
Y las herramientas que vamos a usar son:
Como vemos, la mayoría de ellas son de la suite de sysinternals.
Lo primero que hacemos al arrancar nuestro Xp infectado es identificar el proceso. Para ello ejecutamos TCPView, con el que podemos ver los puerto TCP y UDP que se están usando.
Ya de primeras, me llama la atención el proceso Iexplorer .exe que se esta ejecutando sin hacer nada. Esta usando el protocolo TCP y se conecta al puerto remoto 4567. Lo podemos corroborar también con el "task manager de windows". Seguramente el malware este "inyectado" en ese proceso...
Seguimos ampliando información del bichito, en este caso con wireshark. Lo abrimos, seleccionamos el adaptador de red que vamos a usar desde "interface list", le damos a "start" y empezamos a ver los resultados.
Bien, aquí veo algo que no me gusta un pelo. Para mas detalle y para saber el nombre, me abro el "autoruns" y miro que es lo que esta cargando.
Ni me molesto en resaltarlo en rojo, porque canta por "soleares" xD. Como se aprecia claramente, el malware se llama bichito 1.exe (auqnue vemos que tambien está el 2 y el 3 jeje) y está en la ruta C:\windows\install\netiva.exe. Esto también podemos comprobarlo con un simple "msconfig" desde inicio-ejecutar y mirando la pestaña "inicio" que nos indica los procesos que carga al arrancar el equipo.
Vale, ya tenemos "pillado" al bichito xD, proseguimos.
Desde el propio "autoruns" podemos ir a ver la entrada del registro y la carpeta donde se aloja. Para hacer esto, nos situamos encima de la entrada del bichito1 y le damos con el botón derecho a "jump to entry" para ir al registro, y "jump to folder" para ir a la carpeta respectivamente.
En esta imagen vemos en el regedit (seria la opción "jump to entry") que efectivamente se aloja en el "run" (el arranque) y que nos da la misma informacion que anteriormente ya sabíamos, la ruta donde se aloja y el nombre del malware.
En cambio en esta imagen, sucede algo muy curioso:
Vemos que efectivamente nos abre la carpeta "install" pero que no es una carpeta, sino una papelera y que además esta vacía. WTF? Fácil, os dejo un enlace en el que Germán Sanchez lo explica perfectamente: el metodo papelera. Es un metodo para ocultar el malware.
Así que, vamos a ver que es lo que pasa. Vamos a "herramientas", "opciones de carpeta", "ver" y nos damos cuenta de que la opción de ver los archivos ocultos esta activada!! nuevo WTF! si no es un archivo oculto, porque la carpeta esta vacía?? Bien, vamos a "carpeta-papelera" y con el botón derecho le damos a propiedades. Ahora vemos claramente el porque verdad?
Y es que el archivo esta oculto!! pero además con la peculiaridad de que no podemos quitar la marca para que este visible de nuevo.
Ok, pues nada, los que llevamos pegandonos con los pc´s desde hace mas años de los que queremos admitir, recordaremos como jugabamos con aquel "arj" o con el inestimable "attrib" verdad? pues bien, abrimos una consola (ahora es cuando mi padre me diría eso de: no se para que mierdas poner un ms-dos si eso ya no se lleva!! bendita ignorancia jsjsjsjs) y hacemos lo siguiente:
*por si alguien quiere recordar.... http://en.wikipedia.org/wiki/ATTRIB
Hemos hecho un attrib –r –s –h install y que bonito volver a la carpeta "install" y ver esto:
Bien, ya tenemos el archivo visible. Ahora vamos a ver como se ha creado el malware. Para esto usamos RDG Packer Detector. El programa es un unpacker y con el podemos ver, por ejemplo en que lenguaje ha sido compilado.
Como podemos observar, ha sido escrito en Delphi y el propio programa lo detecta como troyano.
Podemos incluso ampliar algo la información con la web de virustotal
o también con la web de Anubis.
Os dejo el enlace a la descarga del pdf generado por anubis, para que podais ver información mucho mas detallada sobre el malware (esta libre de virus, tranquilos).
Recapitulando:
-Sabemos el nombre: bichito1 (netiva.exe)
-Sabemos el puerto que usa: 4567 TCP
-La ruta: C:\windows\install\netiva.exe y C:\windows\prefethc\NETIVA.EXE-1EBA3F59.pf
-El lenguaje en el que ha sido programado: Borland Delphi.
Y además hemos aprendido a quitar el "cartel" de oculto en un archivo :D
Bien, a parte de esto, podríamos sacar mas información aun con Strings o UPX, pero no quiero liaros mas, que se supone que esto era una toma de contacto para perder el miedo xD.
*Base de conocimiento del malware de infospywere
**Desde aquí quiero agradecer a Germán Sanchez (@enelpc) que es el que impartió el curso en I64 y el que realmente monto todo en la maquina. Yo solo he plasmado aquí, lo que el nos contó en el curso.