Underc0de - Hacking y seguridad informática

[In]Seguridad Informática => Análisis y desarrollo de malwares => Tutoriales y Manuales de Malwares => Mensaje iniciado por: fudmario en Diciembre 03, 2013, 02:48:05 pm

Título: Análisis de Malware(Static Analysis) [Parte 1]
Publicado por: fudmario en Diciembre 03, 2013, 02:48:05 pm
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.).


(http://im31.gulfup.com/RPveL.gif)

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:
       

       
        (http://im34.gulfup.com/pyJgg.png)
       

    Archivo Original:


       
    (http://im34.gulfup.com/UYrsj.png)
   
Citar
HASH: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:

"RDG Pack Detector (http://"http://rdgsoft.8k.com/")" ¿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.
(http://im34.gulfup.com/wP1bs.png)  (http://im34.gulfup.com/o3NHj.png)


 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...
 
(http://im34.gulfup.com/m6Fh6.gif)

 
Cargamos el archivo extraído a  RDG Pack detector (http://"http://rdgsoft.8k.com/"). y vemos lo siguiente:
 
(http://im34.gulfup.com/gXvz7.png)

 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.
 "de4dot32 (http://"https://bitbucket.org/0xd4d/de4dot/")" (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.


(http://im36.gulfup.com/dtee1.gif)

 
miramos otra vez desde RDG Pack Detector (http://"http://rdgsoft.8k.com/"):

(http://im34.gulfup.com/QY2wS.png)

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

(http://im36.gulfup.com/rNXvC.gif)


Ahora lo cargamos desde ".Net_CodeReflect (http://"http://www.devextras.com/decompiler/")"( .NETCodeReflect permite des compilar cualquiera. NET para C #, VB.NET o MSIL ), después de mirar casi todo,  encontramos algo interesante:

(http://im36.gulfup.com/st2Im.gif)

Encontramos lo siguiente:




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
Título: Re:Análisis de Malware(Static Analysis) [Parte 1]
Publicado por: ANTRAX en Diciembre 03, 2013, 03:59:00 pm
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
Título: Re:Análisis de Malware(Static Analysis) [Parte 1]
Publicado por: fudmario en Diciembre 03, 2013, 08:12:54 pm
Claro @ANTRAX, no hay problema adelante...


Saludos.
Título: Re:Análisis de Malware(Static Analysis) [Parte 1]
Publicado por: Alvares97 en Febrero 11, 2014, 02:44:04 am
realmente muy bueno  :)
Título: Re:Análisis de Malware(Static Analysis) [Parte 1]
Publicado por: pimeo en Marzo 20, 2014, 02:13:04 pm
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