Buenas H4x0rs!
Continuando con la temática de la resolución de retos de Malwaretech que parece que gustó, quiero traeros lo que sería un A-B-C para hacer un análisis básico de Malware en el que veremos varias herramientas por encima y para qué sirven acabando con un pequeño esquema final para usarlo a modo de checklist o metodología
Ante todo No os alarméis, pero sí que es verdad que en este caso ya estamos manejando contenido malicioso real por lo que tenemos que ser conscientes de que un clic donde no debemos o desempacar esto en algún sitio comprometido puede tener consecuencias fatales. Para empezar os dejo una lista de sitios desde los cuales vamos a poder sacar material para analizar y practicar:
- https://github.com/ytisf/theZoo
- https://virusshare.com/
- http://vxvault.net/
- http://atm.cybercrime-tracker.net/
- https://beta.virusbay.io/
Ya después si queréis muestras más actualizadas, solo hay que abrir un correo y suscribirse a alguna de las páginas que salen cuando intentamos hacer una descarga de dudoso contenido legal…
Como introducción y sabiendo que muchos de vosotros ya lo sabéis algo de teoría sobre tipos de malware que existen:
-
Virus
-
- Los Virus Informáticos son sencillamente programas maliciosos que “infectan” a otros archivos del sistema con la intención de modificarlo o dañarlo. Dicha infección consiste en incrustar su código malicioso en el interior del archivo “víctima” (normalmente un ejecutable) de forma que a partir de ese momento dicho ejecutable pasa a ser portador del virus y por tanto, una nueva fuente de infección.
-
-
Troyanos
- Un troyano es un pequeño programa generalmente alojado dentro de otra aplicación (un archivo) normal. Su objetivo es pasar inadvertido al usuario e instalarse en el sistema cuando este ejecuta el archivo «huésped».
-
Rootkits
- Si hablamos de malware estos se llevan la palma ya que en este caso se trata de código que se oculta en el sistema y su objetivo es mantenerse oculto mientras ayuda con diferentes tareas que se requieran.
-
Gusanos
- Son un tipo de malware que no necesitan de un archivo anfitrión para seguir vivos. Los gusanos pueden reproducirse por si solos e ir expandiéndose libremente.
-
Spyware
- El spyware o software espía es una aplicación que recopila información sobre una persona u organización sin su conocimiento ni consentimiento.
-
Ramsonware
- Es un código malicioso que cifra la información del ordenador e ingresa en él una serie de instrucciones para que el usuario pueda recuperar sus archivos.
-
Addware
- El adware es un software que despliega publicidad de distintos productos o servicios. Estas aplicaciones incluyen código adicional que muestra la publicidad en ventanas emergentes, o a través de una barra que aparece en la pantalla simulando ofrecer distintos servicios útiles para el usuario.
-
Crimeware
- Se define como cualquier malware de los que hemos listado para actividades ilícitas, como por ejemplo un keyloger, un troyano bancario. Un tipo de crimeware muy común es el pishing kits, que esta orientado para personas con poco conocimiento o habilidades, poder aprovecharse
del eslabón más débil de la cadena, el propio usuario
- Se define como cualquier malware de los que hemos listado para actividades ilícitas, como por ejemplo un keyloger, un troyano bancario. Un tipo de crimeware muy común es el pishing kits, que esta orientado para personas con poco conocimiento o habilidades, poder aprovecharse
Que es un Packer?
Los packers son programas de compresión de código que hacen que se optimice un ejecutable y haciendo que pese menos. Casi todo el malware actual utiliza packers de hecho hay varios tipos que son muy comunes:
De hecho hay packers que directamente añaden capacidades como la detección de donde esta ejecutándose el programa y evita la ejecución en entornos virtuales por ejemplo.
Que es un Crypter?
Se trata de un cifrador de contenidos del código del ejecutable para que sea posible saltarse los escáneres de antivirus.
Un crypter se divide en 2 partes:
- Builder
- Es el programa con interfaz gráfica con el que «ciframos» el contenido del binario.
- Stub
- El stub lo que hace es encapsular tanto el archivo original como el propio stub y dejarlo en un solo archivo en el que deja también las indicaciones para su ejecución desde el final del archivo.
MAS INFORMACIÓN => AQUÍ
Que quiere decir que esté el código Ofuscado?
Es otra técnica utilizada para evitar que se pueda acceder al código ya que lo que hacen es cambiar nombres de variables y funciones para que los analistas no puedan ver que hacen y así dificultar la labor de ingeniería reversa.
Mas información=> AQUÍ
Vale ahora necesitamos un entorno en el que sentirnos seguros para ello os ofrezco dos posibilidades.
- ANY.RUN ⇒ Entorno MUY CONTROLADO y ONLINE que ofrece la ventaja de no liarla demasiado ya que es un entorno preparado para este fin y que nos permite monitorizar absolutamente todo pero con una pequeña pega…. está limitado por tiempos por lo que si el malware en cuestión tiene algo que retarda la activación no nos va a servir de mucho.
- Entorno propio con VMs, sobra decir que en este un traspiés y nos la jugamos… pero si tenemos el entorno aislado no deberíamos tener problema alguno. Esta es la opción más recomendable en caso de que queráis ir en serio en este mundillo. En este caso tendremos una red virtual AISLADA DEL HOST en el que vamos a necesitar 2 máquinas :
- Por un lado el «Lab de Malware» que es donde vamos a tener nuestras herramientas para analizar la muestra
- Por otro lado «Servidor de Servicios» que va a simular la salida a internet de dicho malware y va a dar respuesta a las peticiones que haga al exterior.
Vale, pero por mucho que tenga VMs… que herramientas necesito y para que sirve cada una?
Analizadores ONLINE
Siempre es interesante contar con herramientas que nos den respuestas rápidas y que sean de fácil manejo y para ello tenemos principalmente dos recursos que son de gran utilidad:
- Hybryd Analisis => Realiza un análisis exhaustivo de las muestras o enlaces que le proporcionamos para posteriormente generar un informe completo en el que muestra hasta capturas de pantalla de lo que ha ido ocurriendo con el binario en las máquinas virtuales de las que disponen.
- Virustotal=> Creo que no hacen falta ni las presentaciones, motor de antivirus por excelencia que analiza la muestra en un cluster en el que disponen de más de 40 AVs mostrando los resultados de cada uno de los análisis.
- KOODOUS => Comunidad en la que se dedican a analizar aplicaciones en busca de malware y catalogarlas. Realmente interesante y encima producto nacional!
- Intezer => Un analizador de binarios muy interesante que tiene opción de «Comunity Edition» que disecciona el archivo, lo fracciona y lo compara con su base de datos para dar resultados ajustados a la muestra.
- Alienvault OTX => Herramienta de Ciberinteligencia de la empresa ALIENVAULT que tiene su propia API gratuita que viene genial para hacer Scripts propios.
- Cisco Talos =>
Herramientas OFFLINE
- Calculadora de Hashes
- https://www.slavasoft.com/hashcalc/
- Útil para calcular el hash del Binario y no necesitar subirlo a ninguna plataforma ya que todas las paginas dedicadas al análisis y catalogación de malware normalmente utilizan el formato MD5 del hash del Binario para archivarlo.
- Strings
- https://docs.microsoft.com/en-us/sysinternals/downloads/strings
- Sirve para poder sacar los datos de un Ejecutable que no han sido Ofuscados tales como IPS, comandos o Dlls a los que hace referencia.
- PEiD
- https://www.aldeid.com/wiki/PEiD
- Sirve para la detección de Packers en el archivo a analizar.
- Dependency Walker
- http://www.dependencywalker.com/
- Para revisar las funciones Enlazadas de forma dinámica y las dll asociadas.
- Peview
- https://www.aldeid.com/wiki/PEView
- Sirve para mirar en el Header los archivos y referencias que tiene escritas el binario.
- Resource Hacker
- http://www.angusj.com/resourcehacker/
- Revisa el contenido de .rsc del binario para ver que tipo de «resources» contiene
- PEStudio
- https://www.winitor.com/
- Realiza una auditoria rápida del binario que queremos analizar, incluso acudiendo a Servicios online para analizarlo.
- Regshot
- https://sourceforge.net/p/regshot/wiki/Home/
- Crea una instantánea del Registro del sistema , que posteriormente es capaz de comparar con otra que le proporcionamos tras la ejecución del binario.
- InetSim
- https://www.inetsim.org/
- Simulador de red de internet que responde a las peticiones que hace el malware en cuestión o una aplicación.
- ApateDNS
- https://www.fireeye.com/services/freeware/apatedns.html
- Simulador de resolución DNS que junto con la herramienta anterior nos permite simular la red completa de internet y asi ver como opera el malware en cuestion.
- IDA Free
- https://www.hex-rays.com/products/ida/support/download_freeware.shtml
- Herramienta de reversing por excelencia que tiene una version gratuita con la que podremos diseccionar el binario y ver en codigo ensamblador como va funcionando.
- Process Hacker
- https://processhacker.sourceforge.io/
- Parecido al visor de Procesos de Windows pero permite mas personalización pudiendo filtrar los procesos que nos interesan así como referencias que toma y lo que va haciendo en el sistema.
- Ollydbg
- http://www.ollydbg.de/
- Debugger muy conocido.
- x64dbg
- https://x64dbg.com
- Debugger muy conocido para archivos en arquitectura x64
- Inmunity Debugger
- https://www.immunityinc.com/products/debugger/
- Debugger muy utilizado en el mundo del Exploiting
- Windbg
- http://www.windbg.org/
- Debugger propio del sistema Windows
- Wireshark
- https://www.wireshark.org/#download
- Herramienta para poder ver el trafico de red y analizar los paquetes que van viajando por ella.
- Dirwatch
- https://www.aldeid.com/wiki/SysAnalyzer/DirWatch
- Herramienta que nos hace un resumen de lo ocurrido en una carpeta que le digamos que tiene que monitorizar.
- Powertool
- https://code.google.com/archive/p/powertool-google/downloads
- Herramienta antimalware y antirootkit portable para sistemas Windows que nos permite analizar algunos movimientos dentro del kernel del sistema y repararlos.
Ahora llega cuando decís TODO precioso muy bien explicado (o no) pero seguimos sin ver una «metodología» por la cual guiarnos mínimamente y para eso os adjunto mi plantilla EXCEL y una guía de lo que YO HAGO (Que no tiene por que ser lo más «correcto») . No es la panacea pero de cara a practicar me esta viniendo genial.
- calcular el HASH del Binario
- Revisar los Strings y apuntar lo que nos sea de utilidad
- Funciones
- Urls
- IPs
- Palabras clave
- Tipo de packing /Unpacking
- Funciones y APIs de sistema que utiliza
- Comprobar que hace en el sistema
- Reversing del código (Se complica la cosa verdad??)
Y por ahora con esto teneis mas que suficiente como para entreteneros un rato… muchas cosas que ver… muchas cosas que toquitear… y más aún … quizás hasta podéis infectaros jajajajaja. En el siguiente articulo veremos como empezar a analizar un binario poco a poco y como se usan las herramientas que hemos ido mencionando.
Sed Buenos!
«There are trojans… that deploy rootkits in your brain and slowly creep into your heart to gain silently root access and persistence… MZC»
Nebu_73
«>
7 comentarios en «Malware Dissection: Looking at the eyes of Evil [ESP]»
Genial este artículo, gracias por compartir el conocimiento.muy amable
Muchas gracias!
Muy bueno. Esperó con ansias el siguiente post!!
Felicitaciones!!
Gracias por leerlo! Si, a ver si voy sacando ratos y me pongo con el! Gracias por apoyarnos!
Enhorabuena!
Yo añadiría también a los Bootkits 🙂
muy buen artículo y muy exhaustivo, se agradece la labor de compilación y presentación, muchas gracias
Muchas gracias por compartir y sobre todo por explicarlo de forma tan didactica, hecho fundamental para los que intentamos entender. Seria posible poderte plantearte nuestras dudas directamente?.. muchas gracias de antemano
Los comentarios están cerrados.