Análisis de Malware(Static Analysis) [Parte 1]

Iniciado por fudmario, Diciembre 03, 2013, 02:48:05 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola Amigos, aquí les presento un pequeño tutorial, donde veremos como detectar archivos Infectados, es bastante simple nada de otro mundo, pero espero sirva a más de uno.

Lo que veremos hoy será una forma de analizar, llamado:

"Análisis Estático" ¿Qué quiere decir?

Se trata de obtener  información  de  archivos(Malware's), pero sin ejecutar el mismo. Esto implica que en el análisis estático se utilizará algunas aplicaciones que permitan analizar el código del programa con el fin de obtener(el tipo de archivo, en que lenguaje y cuando se ha programado, librería que usa,..etc.).




Comencemos, hace poco me descarga un programa de un foro X: "TiGeR-Firewall-Setup.exe", me puse a revisar si no traía regalitos, así que para comenzar busque por la red,  si existe alguna web oficial o si es de algún autor que posteo en algún foro( esto puede significar mucho o nada al momento de analizar), encontré uno y me lo descargue, al observar los archivos, existía una diferencia de Tamaño en los archivos y al compararlos también la diferencia de Hash de los archivo.



    Archivo Sospechoso:
       

  • Nombre         =     TiGeR-Firewall-Setup.exe
  • Hash MD5    =     15903C8FAE011F2A7969525796F0E30A
  • Tamaño        =     2,89 MB
       
       
       

    Archivo Original:


  • Nombre         =     TiGeR-Firewall-Setup_o.exe
  • Hash MD5    =     E84762B1128B1E910E6D632FC88A732B
  • Tamaño        =     2,69 MB
       
   
   
CitarHASH:Un hash es un valor de tamaño fijo obtenido como resultado de aplicar una función matemática (hash function) a un valor de entrada, obteniendo en teoría un resultado único para ese valor. De tal modo que si H(x) = H(y) entonces x=y.
"extraída de elixicorp".
Siguiendo con esto, ahora utilizaremos la siguiente herramienta:

"No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" ¿Qué es?. Es un detector de packers,Cryptors,Compiladores, Packers Scrambler,Joiners,Installers.

Esto para ver en que lenguaje se hizo, también se puede observar la diferencia que hay entre los archivos.

 


De aqui extraemos lo siguiente: Visual .Net, Múltiples protecciones, UPX, antidebuggers,...y ademas el archivo contiene un archivo adjunto, ahora extraeremos el archivo adjunto, para ello utilizaremos esta misma herramienta...



Cargamos el archivo extraído a  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. y vemos lo siguiente:


como podemos ver se ve otro archivo adjunto, podemos seguir extrayendo, hasta llegar con el programa original ya que según lo que se ve esta bindeado, pero a partir de este momento utilizaremos otra aplicación.
"No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" (de4dot es un Deobfuscator/ de código abierto escrito en C#  para .NET Reverse Engineering.)
Vamos usarla, para que se vea claro, ya que si lo cargamos directamente en .Net Reflector o CodeReflector, al inter usarla usar, será ilegible gran parte del código y no sacaremos nada.





miramos otra vez desde No tienes permitido ver los links. Registrarse o Entrar a mi cuenta:


Nos muestra: Confuser 1.9...Ahora utilizaremos una herramienta más:
"ConfuserStringDecryptor1.0".



Ahora lo cargamos desde "No tienes permitido ver los links. Registrarse o Entrar a mi cuenta"( .NETCodeReflect permite des compilar cualquiera. NET para C #, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o MSIL ), después de mirar casi todo,  encontramos algo interesante:


Encontramos lo siguiente:



  • "java.exe"
  • "TEMP"
  • "d2be3e6d11846430c067fc874a79f583"
  • "evilevil.no-ip.org"
  • "1177"
  • "True"

Y a partir de aquí se puede sacar  conclusiones.

Crear un archivo "java.exe" en el directorio Temporal ("TEMP") y conecta  a la direccion "evilevil.no-ip.org" a través del puerto "1177"
y que ademas tiene 2 opciones marcadas como "True" que supongo que debe ser: 1.-auto inicio + 2.-Protección BSOD, Generalmente  el puerto y el lenguaje(.NET) que viene aquí hace suponer que se trata de: "nJRAT"

Jaja o simplemente  eso(de: java.exe,temp,evilevil.no-ip.org)son solo textos incrustados en la aplicación.. para eso

En la siguiente Parte Veremos como Se Realiza el otro tipo de análisis: "Análisis Dinámico" y evitar esa protección BSOD ;C


Si alguien decide llevar este tutorial, a otros lados, se pide respetar la fuente  y el autor de la misma


Autor: fudmario



Que buen aporte fudmario!!!
Me das permiso para ponerlo en el blog de underc0de?
Por supuesto que respetando tus creditos.

Saludos!
Y felicitaciones por el material!
ANTRAX


Claro @ANTRAX, no hay problema adelante...


Saludos.




Marzo 20, 2014, 02:13:04 PM #4 Ultima modificación: Marzo 22, 2014, 08:30:43 AM por pimeo
Muchas gracias por el tuto, esta muy bueno, nunca pude conseguir algo bien explicado, muchas gracias nuevamente

Amigo te lo robe y lo puse en Indetectables, respetando tus créditos obviamente.
Saludos