lunes, 24 de febrero de 2014

CHFI - Computer Hacking Forensic Investigator.



Bueno en esta ocasión he venido a compartirles el curso de CHFI. Dicho curso ,nos va a ser útil al momento que necesitemos realizar un análisis al equipo informático que ha sido victima de piratería. Los conocimientos, herramientas y  procedimientos a seguir están incluidos en este curso. A continuación vamos a conocer teóricamente un poco mas acerca del ya mencionado curso.



Computer Hacking Forensic Investigator - CHFI, es el proceso de detección de ataques de hackers  cuya función principal es de extraer evidencia para denunciar el delito y realizar auditorias para prevenir futuros ataques. Informática forense es simplemente la aplicación de técnicas de investigación y análisis de las computadora que de cierta forma han sido comprometidas tras un ataque informático. 

La evidencia podría buscarse en una amplia gama de delitos informáticos, incluyendo pero no limitado a robo de secretos comerciales , robo o destrucción de la propiedad intelectual y el fraude. Los investigadores CHFI pueden recurrir a una serie de métodos para el descubrimiento de datos que residen en un sistema informático , o recuperándose eliminada, información de ficheros cifrado, o dañado. 


Escenario de la vida real


Estos procesos son de gran relevancia al momento de analizar algún código malicioso - malware, ya sea por el método estático y dinámico, pero con mas relevancia al nivel dinámico, ya que tras haber hecho los respectivos análisis bajo este método, vamos a poder saber como nuestro equipo ha sido infectado por dicho malware. Este curso tendría mas enfoque a los usuarios que se relacionan y batallan día a día con códigos malicioso.




Reconocimiento Global


Obtener el reconocimiento mundial de ser un miembro certificado de una institución reconocida a nivel mundial y lograr las habilidades de un investigador forense informático. El programa CHFI le proporciona un plan de estudios estándar de seguridad información de la industria y está acompañado por un muy buscado después de la certificación CHFI que ayuda a establecer su carrera como experto entorno a la seguridad de la información.





Descargar CHFI v.8  - Directo.


Nota : Por mi parte, yo estoy descargando los archivos del torrent que voy a presentar a continuación. No he podido verificar la validez de todos los enlaces. Invito a que los usuarios descargen un solo archivo y si tienen dificultades, porfavor comunicarlo. Gracias.


Parte 01 : http://uploaded.net/file/unkwe3ik/CHFI.v8.dvd.part01.rar
Parte 02 : http://uploaded.net/file/7bmn6il1/CHFI.v8.dvd.part02.rar
Parte 03 : http://uploaded.net/file/36cg26hn/CHFI.v8.dvd.part03.rar
Parte 04 : http://uploaded.net/file/8h1ctdeb/CHFI.v8.dvd.part04.rar
Parte 05 : http://uploaded.net/file/zqhl7qbg/CHFI.v8.dvd.part05.rar
Parte 06 : http://uploaded.net/file/23kmfi7w/CHFI.v8.dvd.part06.rar
Parte 07 : http://uploaded.net/file/vpcd8ss3/CHFI.v8.dvd.part07.rar
Parte 08 : http://uploaded.net/file/8g5g55hw/CHFI.v8.dvd.part08.rar
Parte 09 : http://uploaded.net/file/ibz3efpd/CHFI.v8.dvd.part09.rar
Parte 10 : http://uploaded.net/file/px2xwhw3/CHFI.v8.dvd.part10.rar
Parte 11 : http://uploaded.net/file/6iqn6262/CHFI.v8.dvd.part11.rar
Parte 12 : http://uploaded.net/file/8tkdqfh3/CHFI.v8.dvd.part12.rar


Enlaces alternos - Clasificados por DVD.



DVD1 Parte 01 : http://netload.in/dateiEeiMDX2Chs/CHFI_v8_DVD1.part1.rar.htm
DVD1 Parte 02 : http://netload.in/dateihmEWrSTSdG/CHFI_v8_DVD1.part2.rar.htm
DVD1 Parte 03 : http://netload.in/dateiNWsWnuCrvK/CHFI_v8_DVD1.part3.rar.htm
DVD1 Parte 04 : http://netload.in/dateiENI1Gmkbg3/CHFI_v8_DVD1.part4.rar.htm


DVD2 Parte 01 : http://netload.in/dateiPHp0QbdlLp/CHFI_v8_DVD2.part1.rar.htm
DVD2 Parte 02 : http://netload.in/dateinTD6jwcjRk/CHFI_v8_DVD2.part2.rar.htm
DVD2 Parte 03 : http://netload.in/dateiKCt5w3Ixls/CHFI_v8_DVD2.part3.rar.htm
DVD2 Parte 04 : http://netload.in/dateijwRUwCGJJC/CHFI_v8_DVD2.part4.rar.htm


DVD3 Parte 01 : http://netload.in/dateiUYWVmKKjlA/CHFI_v8_DVD3.part1.rar.htm
DVD3 Parte 02 : http://netload.in/dateiBtGGu5UEJl/CHFI_v8_DVD3.part2.rar.htm
DVD3 Parte 03 : http://netload.in/dateig3GYYS6u0p/CHFI_v8_DVD3.part3.rar.htm
DVD3 Parte 04 : http://netload.in/dateiWm8OOK1K3J/CHFI_v8_DVD3.part4.rar.htm
DVD3 Parte 05 : http://netload.in/dateiiKAbjEkfEX/CHFI_v8_DVD3.part5.rar.htm


DVD4 Parte 01 : http://netload.in/dateiIoTLziuyM2/CHFI_v8_DVD4.part1.rar.htm
DVD4 Parte 02 : http://netload.in/dateiGACvhrpMXJ/CHFI_v8_DVD4.part2.rar.htm
DVD4 Parte 03 : http://netload.in/dateiDadAv2aHVW/CHFI_v8_DVD4.part3.rar.htm
DVD4 Parte 04 : http://netload.in/dateiUj8pmVnywz/CHFI_v8_DVD4.part4.rar.htm
DVD4 Parte 05 : http://netload.in/dateiwSUP3M5xmc/CHFI_v8_DVD4.part5.rar.htm



Descargar CHFI v.8  - Torrent.


Completo :  http://torrage.com/torrent/24809D3D0EBC35913F215120A2553B5453A1F80E.torrent




Módulos de entrenamiento - CHFI v.8.


Module 00 - Student Introduction.
Module 01 - Computer Forensics in Today's World.
Module 02 - Computer Forensics Investigation Process.
Module 03 - Searching and Seizing Computers.
Module 04 - Digital Evidence.
Module 05 - First Responder Procedures.
Module 06 - Computer Forensics Lab.
Module 07 - Understanding Hard Disks and File Systems.
Module 08 - Windows Forensics.
Module 09 - Data Acquisition and Duplication.
Module 10 - Recovering Deleted Files and Deleted Partition.
Module 11 - Forensics Investigation Using AccessData FTK.
Module 12 - Forensics Investigation Using EnCase.
Module 13 - Steganography and Image File Forensics.
Module 14 - Application Password Crackers.
Module 15 - Log Capturing and Event Correlation.
Module 16 - Network Forensics, Investigating Logs and Investigating Network Traffic.
Module 17 - Investigating Wireless Attacks.
Module 18 - Investigating Web Attacks.
Module 19 - Tracking Emails and Investigating Email Crimes.
Module 20 - Mobile Forensics.
Module 21 - Investigative Reports.
Module 22 - Becoming an Expert Witness.



Bueno espero que esta información les sea de utilidad y en posteriores post estaré subiendo mas cursos parecidos al CHFI. Bueno creo que hemos llegado al final de post, espero tener un poco de tiempo para poder actualizar el blog con nuevos post. Sin decir mas me despido y será hasta la próxima.









domingo, 16 de febrero de 2014

Creepy - El retorno del la Geolocalización.



Bueno, en el 2013 realizé un post de una herramienta de ingeniería social que muchos hoy en día la conocen como Creepy, la cual es una aplicación en python (Cree.py) con interfaz GTK+, que permitía geolocalizar a los usuarios de servicios web, como Twitter y Flickr.

Dicha herramienta ha recibida una actualización recientemente, la cual presenta una nueva interfaz y un plugin para localizar a usuarios de Instagram. Bueno a continuación voy hacer una presentación de la nueva versión de dicha herramienta.


La nueva versión de Creepy permite investigar los datos públicos de cualquier cuenta de Twitter, Flickr y Instagram. Solo se necesita introducir algún nick, nombre de usuario o email.


En el post anterior, utilize Creepy bajo el sistema operativo BaCkTraCk 5R3, en esta ocasión voy a utilizar Windows 7 - 64bits. Pues sin nada mas que adicionar comencemos.


Sitio oficial de Creepy :  http://www.geocreepy.com/


A continuación voy a proceder a descargar el instalador para Windows - 64 bits y ha instalarlo respectivamente. La instalación de creepy en windows es muy sencilla.


Creepy es extensible mediante plugins para los servicios en línea que podrían contener información de geolocalización, como mencione anteriormente los plugins para Twitter, Instagram y Flickr estan incluida en esta versión.


Nota : El siguiente proceso es necesario para una versión de Creepy 1.0.1 mas no para la nueva versión 1.1. Usted puede obviar el siguiente paso y ejecutar creepy normalmente. 


Después de terminar la instalación de Creepy, nos vamos a dirigir a la carpeta que almacena los plugins ya mencionados y los eliminamos.




Después de haberlos eliminados dichas carpetas, a continuación vamos a proceder a descargar nuevos plugins. En mi caso, los descargare en comprimidos en zip.


Creepy - Nuevos plugins :  https://github.com/ilektrojohn/creepy-plugins


Descomprimos el zip y copiamos todos los archivos a la carpeta donde fueron eliminados los plugins.




Ahora solo tenemos que abrir nuestro Creepy.




Podemos apreciar una interfaz diferente a la versión anterior, personalmente mas agradable. Prosiguiendo con nuestro post, ahora vamos a configurar los plugins para Twitter y Instagram con un asistente. Para este post solo voy hacerlo con Twitter.


Nos dirigimos a la pestaña Edit y luego elegimos la opción Plugins configuration.




En la nueva ventana procedemos a seleccionar la opción Twitter Plugin y damos click en el botón Run Configuration Wizard.




Seguidamente nos van a pedir que establezcamos una conexión con Twitter, para iniciar dicha conexión procedemos con dar click en Next.




A continuación se nos va a pedir autorizar creepy, para esto ingresamos los datos de nuestra cuenta de twitter y damos click en el botón Autorizar la aplicación.


Después de lograr establecer conexión con Twitter, dicha aplicación nos mostrar un PIN con el cual finalizaremos el proceso de autorización. Dicho PIN lo copiamos en el formulario que se encuentra en la parte superior y por último damos click en el botón Finish.




Después de terminar todo este proceso, vamos a retornar a la primera ventana que pudimos observar. En dicha ventana vamos comprobar si la configuración del plugin de Twitter ha sido correcta, para esto solo damos click en el botón Test de Plugin Configuration.




Finalmente podemos observar que la confirmar que la configuración ha sido correcta. Ahora finalmente procederemos a utilizar Creepy.

Lo primero que tenemos que hacer es crear un nuevo proyecto, para esto vamos a la pestaña Creepy, seleccionamos la opción New Project y finalmente la opción Person Based Project.

En la nueva ventana que vamos a generar ingresamos en nombre del nuevo proyecto y damos clíck en la opción Next.



A continuación vamos a tener que ingresar datos sobre el objetivo, ya sea algún nick, nombre o email . Posteriormente vamos a tener 3 opciones, de los cuales tenemos que seleccionar la clase de información que deseamos del objetivo. En mi caso he optado por twitter y he realizado una búsqueda general basándome en un nombre. Seguidamente podemos observar múltiples resultados de la búsqueda que he realizo, de los cuales se tiene que seleccionar al objetivo que deseamos. Cabe resaltar que el objetivo puede ser individual como múltiple.





Después de haber seleccionado y agregado al objetivo vamos a dar click en el botón Next y posteriormente una vez mas en el siguiente botón Next.




Bueno por último, solo nos quedaría finalizar dicho proyecto.




En este punto, tenemos de darle tiempo a la aplicación para realize una búsqueda minuciosa de la información requerida.




Como ejemplo para el post, he realizado el procedimiento anterior de forma recursiva y he logrado crear 10 proyectos con objetivos al azar.


En el siguiente ejemplo el objetivo de prueba fue David Bisbal. Al parecer dicha persona se encuentra en la ciudad de Barcelona - España.



Vamos a proceder a confirmar dicha información  visitando el twitter de dicho personaje.




Bueno como era de esperar, podemos observar dichos tweet emitidos por el mismo David Bisbal.


Siguiendo con los ensayos, tenemos aquí un tweet emitido por una persona que se encuentra en Cuauhtémoc - México.



En dicho tweet podemos observar una dirección url acortada, la cual procederemos a visitar.




Con la dirección url, podemos demostrar que la persona dueña del tweet es Tania Rendón, la cual por razones técnicas podemos decir que el objeto que llevo a esta conclusión ha sido la imagen que podemos observar.

Bueno para finalizar, en este último ejemplo podemos observar a una persona que se encuentra en la ciudad de Miami - EEUU.




Seguidamente repetimos el procedimiento del caso anterior y visitamos la url acortada que se encuentra en el tweet emitido. ( Por el lugar, podemos deducir que dicha persona se encuentra cerca al mar.)




Dicha dirección url nos ha enlazado con el Instagram de Karen Comas, y según el estado, nuestra amiga Karen ha estado corriendo por las playas de Miami.



Bueno creo que hemos llegado al final del post, espero que esta información les sea de utilidad y también
sepan utilizarlo. Aquí hemos demostrado que el análisis de la información semi-pública de usuarios a dichas plataformas, puede ser información sensible para el mismo usuario. Bueno me despido y será hasta la próxima. Nos vemos.








jueves, 13 de febrero de 2014

Orbot - Anonimato desde los dispositivos móviles.



Orbot es una aplicación de proxy gratuito, que permite utilizar las aplicaciones que requieren de Internet de forma que el usuario puede disponer de un anonimato en el uso de dicha aplicación. 

Orbot usa Tor para cifrar el tráfico de Internet, dicho tráfico transita a través de una serie de ordenadores en todo el mundo. Tor es un software libre y una red abierta que le ayuda a defenderse contra  la vigilancia que amenaza la libertad personal, la privacidad, confidencialidad en los negocios y las relaciones, y la seguridad del Estado conocido como análisis de tráfico.

Orbot es la única aplicación que crea una conexión a Internet con una gran grado de seguridad.




Caracteristicas de Orbot :


Navegación web segura  : Es la forma más anónima para acceder a cualquier sitio web, incluso si está normalmente bloqueado, supervisado , o en la web oculta.


Mensajería instántanea segura : El usuario puede establecer conversaciones confidencialmente con cualquiera, en cualquier lugar de forma gratuita. 


Privacidad en el uso de aplicaciones : Cualquier aplicación instalada puede
 usar Tor si tiene una característica de proxy.







Orbot - Móvil - instalación.




Aplicaciones  habilitadas para el uso de Orbot.





Establecer conección con la red Tor.




Conectado a la red Tor - Estado no activado.




Conexión a la red Tor  - Estado activado.




Cabe decir que la aplicación Orbot también puede ser utilizada desde una tablet como la siguiente imagen lo muestra a continuación.




Por último es importante anunciar al  usuario que no existe un anonimato fiable al 100%, la privacidad hoy en día es una batalla del día a día. Para esto el usuario debe tener realizar buenas prácticas entorno a la información que comparte por internet.


Bueno con esto hemos llegado al final del post, espero que esta información les sea de utilidad y genere conciencia al usuario sobre la privacidad de la información. Bueno me despido y será hasta la próxima.







Analizando Malware - Método Estático.




Bueno en esta ocasión he decido tocar este importante tema, el cual  trata sobre el análisis de códigos maliciosos o malwares (comunmente llamados). Este estudio se puede ejecutar en dos entornos distintos, estático y dinámico. En este post vamos a tratar el análisis de malware en un entorno estático. Pues comencemos.


Cuando hablamos sobre el análisis estático de códigos maliciosos hacemos referencia el estudio de una amenaza sin tener que ejecutarla. El análisis estático puede confirmar si un archivo es malicioso, proporciona información sobre su funcionamiento. Dicho análisis es sencillo y puede ser rápido, pero es en gran medida ineficaz contra el malware sofisticado, y se pueden pasar por alto funciones importantes.

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.).


Nota : El análisis estático es en medida ineficaz contra el malware sofisticado, y se pueden pasar por alto funciones importantes.


Antes de ver el modelo de análisis estático de un malware, es necesario conocer los distintos tipos que existen, ya que de esa forma podremos clasificarlos en su respectivo rublo.



Troyano

Un troyano es un software malicioso que simula ser inofensivo, útil o benigno para el usuario. Al igual que los gusanos, no infecta archivos, aunque a diferencia de éstos, el troyano necesita del factor humano para su propagación.

Existe una gran variedad de troyanos  que trabajan a la par con otros tipos de malwares,  dependiendo sus acciones y utilidades.

Gusano

Un gusano informático es un software malicioso cuyas principales características son que no infecta archivos (principal diferencia con los virus) y que se propaga por sí mismo a través de distintos medios de comunicación.



Virus

Los virus informáticos son programas que modifican otros programas para incluir una copia ejecutable y posiblemente alterada de ellos mismos. Estos programas malignos son fáciles de crear y en muchos casos difíciles de detectar. Su función principal es de actuar de forma transparente al usuario y de reproducirse a sí mismo.



Backdoor

Los Backdoors son una puerta de entrada trasera a una computadora, programa o sistema en general, este permite a los atacantes tomar el control de seguridad ganado acceso al sistema. Esta clase de malware permite controlar remotamente la computadora utilizando puertos de comunicación abiertos u complementos de otra tipo de infección por softwares pirateados (ransomware).



Keyloggers

Son programas espías, que toman el control de los equipos, para espiar y robar información, monitorea el sistema, registrando las pulsaciones del teclado, para robar las claves, tanto de páginas financieras y correos electrónicos o cualquier información introducida por medio del teclado.


Adware

Adware (acrónimo de advertisement y software) es un software malicioso, que se instala en el sistema (frecuentemente sin que el usuario lo note), cuya función es descargar y/o mostrar anuncios publicitarios no solicitados en la pantalla de la víctima.



Spyware

Son programas espías que recopilan información sobre una persona u organización sin su conocimiento. La función más común que tienen estos programas es la de recopilar información sobre el usuario y distribuirlo a empresas publicitarias u otras organizaciones interesadas.



Rootkit

Un rootkit es un programa que permite un acceso de privilegio continuo a una computadora pero que mantiene su presencia activamente oculta al control de los administradores al corromper el funcionamiento normal del sistema operativo o de otras aplicaciones. Actualmente es un conjunto de herramientas utilizadas en cualquier sistema para conseguir acceder ilícitamente al mismo.


Bueno para iniciar nuestro análisis vamos a requerir el ejecutable de un malware, el cual vamos a obtenerlo de un sitio web cuya función es de almacenar los diversos tipos de códigos maliciosos que han estado surgiendo durante estos últimos años.


Malware : http://oc.gtisc.gatech.edu:8080/




Nota : Desactivar el Antivirus para que el ejecutable no sea eliminado. También cabe resaltar que sería conveniente trabajar en un entorno seguro ya que sería beneficioso para buenas prácticas.

Una vez terminado la descarga y tras haber extraído el ejecutable, es momento de comenzar con nuestro análisis.



Nuestro malware elegido para las pruebas es :  Generic.Malware.dld!!g.4AA057D7

Del cual ya podemos obtener información como el MD5, SHA1 y SHA256.



A continuación vamos a utilizar una herramienta para poder comprobar por buenas prácticas el MD5. La herramienta a utilizar puede ser el md5sums, winmd5 u otra variedad.




Con el procedimiento anterior podemos corroborar la concordancia de la suma del hash con la información previamente obtenida del sitio web.


A continuación vamos a subir nuestro ejecutable al Virus Total para su respectivo análisis y conocer porque distribuciones de antivirus es detectado.





El primer dato que podemos obtener el hashSHA256, el cual coincide con el hash brindado por el sitio web Open Malware.

Posteriormente podemos ver la cantidad de antivirus que detectan como malware a nuestra muestra de código malicioso que hemos descargado.


Detecciones : 42/49




Podemos resaltar la detección de los antivirus Avast , Bitdefender, Eset y F-Secure.





En esta sección podemos destacar la detección por parte de Kasperky, McAfee, Panda, Sophos, Symante y Microsoft.




Ya por terminar, en esta última sección podemos observar que aun es indectetable para ciertos antivirus del cual podemos destacar a Malwarebytes, ClamAV y SuperAntiSpyware.

Continuando con nuestro análisis, vamos a utilizar una herramienta muy útil la cual nos brindara mucha información sobre el funcionamiento del malware. La herramienta lleva el nombre de Anubis.




Anubis es un servicio on-line de análisis de Malware o “archivos sospechosos”. Para poder hace uso de esta herramienta solo tienes que envíar tu ejecutable de Windows o Android APK y posteriormente recibirás un informe de análisis detallado según lo que hace el malware.

Entre las tareas que desarrolla Anubis se encuentran las siguientes:
  • Claves de registro que lee
  • Claves de registro que modifica
  • Análisis de la red
  • Firmado MD5 & SHA1 de los ficheros
  • Ficheros modificados
  • Actividad de disco



Las opciones de exportación de datos también son muy interesantes, pudiendo, en cualquier caso, exportar el fichero de salida a los siguientes formatos:

  • PDF
  • TXT
  • HTML 
  • XML

Procedemos con enviar nuestro malware a Anubis.



Procedemos con cargar y enviar nuestro ejecutable para que sea analizado por Anubis. Este procedimiento durara unos cuantos segundos.




Una vez finalizo el análisis, vamos a poder descargar el reporte que se encuentra debidamente detallado sobre todas las tareas ejecutadas por nuestro malware.


Informe de Anubis.


Aquí podemos observar un esquema básico de la estructura del malware.


1.- Información general.




2.-  Información de Dlls. 


2.1 .- Dlls cargados por el malware.








2.2.- Dlls que ejecuta el malware.








Podemos observar la lista de Dlls que el malware carga y ejecuta, cabe resaltar que las ejecuciones de los dll pueden ser en tiempos aleatorios. (Análisis dinámico)


3.- Archivos leídos 




4.- Archivos de comunicación del sistema de control.




5.- Procesos Creados.




6.- Actividad de red tanto para DNS como para HTTP.




En esta sección podemos observar los procesos que nuestra malware de prueba creara en el sistema que va a infectar.

Bueno hasta el momento hemos observado información que nos ha ofrecido Anubis. A continuación vamos a utilizar la herramienta RDP Packer detector el cual nos va a brindar mas información acerca de la programación del malware.




A continuación procedemos a abrir nuestro espécimen en dicha herramienta.




Con la información obtenida con esta herramienta podemos saber que dicho espécimen esta hecho en Visual Basic C++ 6.0,por otro lado podemos observar que el ejecutable se encuentra comprimido por UPX V.080 - V.125 con múltiples protecciones.

A continuación para conocer la estructura interna de nuestro ejecutable, respecto a la estructura y contenido de nuestro malware. Para esto vamos hacer uso de PEview.




PEview proporciona una forma rápida y fácil de ver la estructura y el contenido de 32-bit ejecutable portable (PE) y el Componente de objetos Formato de archivos (COFF) archivos. Este PE / COFF visor de archivos muestra la cabecera de la sección, directorio, tabla de importación, tabla de exportación, y los recursos de información dentro de EXE, DLL, OBJ, LIB, DBG, y otros tipos de archivos.




Con ayuda de PEview podemos decir lo siguiente :

  • Nuestro espécimen fue compilado el 22 de Julio del 2007. Esta fecha quedaría es suspenso ya que no podemos afirmar una fecha especifica. Pero según la información que disponemos, es muy posible, ya que el malware fue reportado el 22 de Mayo del 2008, así que existe la podría ser verdad la información extraída.
  • Podemos observar la descripción de la máquina la cual es una i386.
  • Se detecta la presencia de UPX ("Ultimate Packer para ejecutables"), dicha información se obtendrá cuando descomprimamos el ejecutable.

A continuación vamos a proceder a observar la información obtenida por SECTION UPX2.




En la SECTION.UPX2 - IMPORT Directory Tables, la cual es es una sección dentro del archivo PE  que contiene todos los recursos para el módulo/ejecutable para funcionar. En este caso se está diciendo que KERNEL32.DLL, ADVAPI32.dll, MFC42.DLL, MSVCRT.dll y SHELL32.dll son requeridos por el archivo malware.exe que he descargado previamente.



Un archivo DLL es una biblioteca que contiene el código y los datos que se pueden utilizar por más de un programa al mismo tiempo. Por ejemplo, en sistemas operativos Windows, el archivo Comdlg32 DLL realiza común funciones relacionadas con el cuadro de diálogo. Por lo tanto, cada programa puede usar la funcionalidad contenida en este archivo DLL para implementar un cuadro de diálogo.Esto ayuda a promover la reutilización de código y el uso eficaz de la memoria. 

Mediante el uso de un archivo DLL, un programa puede ser modular en componentes separados. Por ejemplo, un programa de contabilidad puede venderse por módulo.




Cuando un programa o un archivo DLL utiliza una función DLL en otro archivo DLL, se crea una dependencia.

  • Una DLL dependiente se actualiza a una nueva versión.
  • Se fija una DLL dependiente.
  • Una DLL dependiente se sobrescribe con una versión anterior.
  • Una DLL dependiente se quita del equipo.



Retornando a nuestro análisis, como hemos podido observar nuestro espécimen requiere de dos tipos de dll, los cuales vamos a definir a continuación, con el fin de poder entender mejor el alcanza de nuestro malware.


Kernel32.dll :  Es la biblioteca de enlace dinámico (dynamic link library) presente en todas las versiones de 32 bits y 64 bits de Microsoft Windows. Expone a las aplicaciones de la mayoría de las Win32 base APIs, como la administración de memoria, operaciones de Entrada/salida, la creación (proceso y subproceso) y funciones de sincronización.


Advapi32.dll :  Es una parte de una biblioteca avanzada de los servicios del API que utiliza APIs numerosos incluyendo muchos las llamadas de la seguridad y del registro.


Mfc42.dll :  Es el módulo que contiene las funciones de las clases de la fundación de Microsoft (MFC) usadas por las aplicaciones creadas en Microsoft Visual Studio.


Msvcrt.dll :  Es un módulo que contiene funciones de biblioteca estándar de C tales como printf, memcpy, y el cos. es una parte de la biblioteca Runtime de Microsoft C.


Shell32.dll :  Es una biblioteca que contiene las funciones del API del shell de Windows, se utilizan que al abrir Web pages y ficheros.


Para poder tener conocimiento acerca de cuáles son las funciones que están siendo llamadas vamos a utilizar la herramienta Dependency Walker.




Esta utilidad analiza cualquier módulo de 32 o 64 bits (EXE, DLL, OCX, SYS, etc.) y genera un listado de todos los módulos dependientes del mismo, siguiendo una estructura organizada en forma de árbol. Resulta de gran utilidad para detectar y diagnosticar errores relacionados con la carga y ejecución de módulos en el sistema. 

El programa llega a detallar las funciones exportadas por cada módulo de la lista, y cuáles de ellas son llamadas por otros módulos. Muestra también los ficheros mínimos requeridos, junto con información extendida sobra cada uno de ellos.




En la imagen podemos observar las funciones importados por Kernel32.dll. Pero como el ejecutable se encuentra comprimido, algunas funciones no estan siendo expuestas. Para esto vamos a desempaquetar nuestro ejecutable con la herramienta UPX.




UPX es un compresor de ejecutables gratuito, portable y de alto rendimiento. UPX soporta diferentes formatos de ejecutables, incluyendo programas de Windows 95/98/ME/NT/2000/XP/VISTA y DLLs, programas de DOS, Linux, etc.

Disminuir el tamaño de un archivo .exe en realidad puede acelerar el tiempo de carga debido a que el tiempo de recuperación de los medios de almacenamiento o de red es a menudo mayor que el tiempo de descompresión muy rápida.

A continuación procederemos con descomprimir nuestro espécimen. Para esto trasladamos nuestro espécimen a la carpeta de upx391w.




Podemos observar que en el proceso se ha creado un nuevo ejecutable, cuyo nombre es malware2.exe el cual vamos a proceder a abrirlo con Dependency Walker.




De las funciones podemos destacar :


OpenProcess  :  Abre un objeto de proceso local persistente.

CreateProcess  :  Crea un nuevo proceso y su subproceso principal. El nuevo proceso se ejecuta en el contexto de seguridad del proceso de llamada.

Setpriorityclass :  Establece la clase de prioridad para el proceso especificado. Este valor junto con el valor de prioridad de cada proceso del subproceso determina el nivel de prioridad base de cada subproceso.




Como se puede ver realmente las llamadas ascienden a 23 funciones enumeradas, en total 20 funciones de diferencia por parte del original, el cual tiene solo tiene 3. Mientras tanto, por parte de ADVAPI32.DLL también hubo un cambio en el número de funciones.




Por último MSVCRT.DLL también presentó cambios en las funciones de llamada, ya que en el ejecutable original solo disponía de 1 mientras que en el ejecutable descomprimido dispone de 14. Cabe mencionar que los demás DLL permanecieron constante en el número de funciones llamadas.




Bueno creo que hemos llegado al final de este post, espero que esta poca información básica les sea de utilidad al momento de querer analizar un código malicioso. Cabe resaltar que un análisis estático como el que acabamos de realizar no es suficiente para poder entender el comportamiento del malware, para poder tener una perspectiva mas amplia es necesario realizar un análisis dinámico. En un post posterior también demostrare como se realiza un adecuado análisis dinámico, para el cual tendré que "infectarme" con el malware que analizaré. Bueno sin mas que decir me despido y será hasta la próxima. Nos vemos.