Conociendo sobre Malware XX - Faking Network análisis de Malware Dinámico

No Comments

La entrada de hoy viene de la mano de cnfs el cual en UC realizo el post y como andamos aprendiendo en el blog sobre análisis de malware que mejor manera de aprender. 



Estos últimos días estuve trabajando en unos análisis de Malware, y sin dudas un software que me ayuda bastante para la etapa Dinámica del análisis es INetSim. (Internet Services Simulation Suite). 


Este software lo que hace es simular servicios de internet. Entre otras cosas como se le conocería en términos de ingles: "Faking Network". Muchas veces, cuando se intenta analizar un malware mediante análisis dinámicos, con un poco de experiencia es suficiente para darnos cuenta mediante librerias y funciones que importa o strings que sale a buscar a internet o reportar información, y a veces preferimos realmente estudiar su funcionalidad y su comportamiento de manera controlada y bajo nuestro dominio. 



A veces no queremos que el malware realmente salga a internet, o reporte a sus creadores de nosotros, es por eso que en ciertas circunstancias optamos por 'hacer una faking network' y menos ruido con sus creadores.. Una tool excelente es sin dudas InetSim, la cual permite ejecutar el malware y hacerle creer que esta conectandose a el mundo exterior cuando en realidad no hace otra cosa que interactuar con nosotros mismos, o mejor dicho con nuestro amigo inetsim y sus servicios.



Dejare una breve reseña de como funciona, y como puede sernos util, a la hora de realizar como dije un analisis dinamico de malware.

Mi red para esta ocasion esta compuesta de la siguiente manera, 2 SO's:



A - 192.168.0.102 -> PC Linux con Debian/Ubuntu donde estara corriendo el InetSim.
B - 192.168.0.107 -> VMWARE corriendo un Windows XP.. (Nuestro entorno con malware). Este es un entorno controlado, y el malware a ejecutar no es realmente maligno, es solo para simularlo, así que asegurense de tener un entorno controlado y seguro siempre que hagan pruebas.

> Instalando INetSim (Linux):

# Para usuarios Debian/Ubuntu Linux: http://www.inetsim.org/packages.html
# Para el resto de mortales:  http://www.inetsim.org/downloads/inetsim-1.2.5.tar.gz

Una vez instalado, usarlo es demasiado facil. Pero antes hay que revisar y editar algunas cosas de configuracion. Ustedes luego podran editar e ir metiendo mano y modificar a su gusto sin romper nada. Iniciar mas o menos servicios, etc. Pero en este caso edito estas lineas para la prueba:


Código: Bash
  1. $> sudo nano /etc/default/inetsim

Buscamos la siguiente linea y ponemos el ENABLED en '1', salvamos el cambio y salimos:
# Whether or not to run the internet simulation suite; set to 0 to disable.
ENABLED=1

Lo siguiente sera ir al archivo de configuracion:


  1. $> sudo nano /etc/inetsim/inetsim.conf

Buscamos la siguiente linea, la descomentamos y asignamos la IP del Linux donde corre InetSim, mi caso era la siguiente IP:

service_bind_address    192.168.0.102

Luego buscamos la siguiente linea y si bien dice 127.0.0.1, que seria la del linux mismo, descomentamos y editamos por la IP que tiene asignada: 
dns_default_ip          192.168.0.102

Con esto ya podria funcionar tranquilamente para la prueba.
Lo iniciamos:

Código: Bash
  1. $> sudo /etc/init.d/inetsim start

Abrimos otra terminal, verificamos con nmap que esto es asi..

Código: Bash
  1. $> nmap 192.168.0.102 -vv

Y como resultado se darán cuenta si todo funciona bien que ya tenemos como 20 puertos y servicios abiertos corriendo :O.. no se asusten, solo 'simulan' muy bien serlo ;).

Nos dirigimos ahora a la maquina virtual que corre Windows XP y antes de 'ejecutar el malware' editamos su configuracion de red, para que apunte a nuestra ip con inetsim. Le decimos que su gateway a internet vamos a ser Nosotros (inetsim) y que su DNS por ende tambien :).


Una vez que configuramos esto, optamos por ejecutar el malware.. y veremos que pasa. Los reportes que genera inetsim se guardan en/var/log/inetsim/report

Una vez que se ejecuta el malware luego de pasado unos minutos, detenemos el inetsim y vemos el reporte que nos genero. En mi caso quedo algo así:


1) Vemos como en el primer recuadro de la imagen, se realiza una consulta DNS bastante rara..
"0kxwuhostingmax.iprisid.com"... 

2) En el segundo resaltado vemos como dos minutos después realiza una petición via HTTP GET para descargar de un dominio bastante raro "0xhosting01.aknoid.com/176867868754/autodwn.exe". ¿que sera? ;p

3) Y en el 3 resaltado, vemos como realiza una similar petición pero ahora baja una librería llamada ashid.dll.

Como ultimo comentario, me gustaría resaltar como ven en la imagen el InetSim "responde" ante la petición del malware (GET) y le envía un 'fake file'. 


Esto es demasiado útil, ya que supongamos si un Malware que estamos analizando del cual no tenemos mucho conocimiento de su comportamiento sale a internet a buscar algún tipo de archivo ya sea un .exe o .dll o cualquier otro, y no lo logra, posiblemente el malware quede inoperativo, o quizás no demuestre mas comportamientos hasta que su tarea de bajar otro archivo le permita poder completar todos los pasos de su infección y explotación. (No siempre tiene que ser asi, hay malwares realmente sofisticados pero sin dudas que es de una gran utilidad..).



Espero sea útil, personalmente, cumple un rol fundamental como tool en mis primeras etapas de análisis dinámico de malware en mis trabajos.

Regards,
Snifer

0 comentarios

Publicar un comentario en la entrada