Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Herramientas ingeniería inversa: análisis de malware estático y dinámico


 La ingeniería inversa es uno de los métodos más importantes para la investigación y el hacking, ya que permite determinar cuáles son los componentes de una herramienta, variante de malware o conjunto de datos, además de descubrir de qué forma interactúan entre sí estos elementos y cómo fueron integrados.



Para los profesionales dedicados a la ingeniería inversa de malware, la depuración de una aplicación es fundamental, ya que facilita el proceso de ingeniería inversa y permite a los investigadores avanzar en el análisis de posibles amenazas de seguridad.



x64dbg

Esta es una moderna herramienta de debugging con una interfaz muy fácil de utilizar. Acorde a los expertos en ingeniería inversa de malware, la herramienta admite las arquitecturas x64 y x86, además de contar con plugins útiles para diferentes ocasiones. Digno sucesor de OllyDbg y de SoftICE, también abandonado.

Si bien la herramienta presenta errores frecuentemente, sus mantenedores se mantienen activos y envían constantes actualizaciones para optimizar su funcionamiento. Por otra parte, x64dbg tiene un descompilador incorporado, admite mostrar el código en forma de gráfico y puede hacer puntos de interrupción para leer, escribir, ejecutar y acceder, además de contar con una utilidad de reconstrucción de importación incorporada tanto x64 como x86.

GNU Debugger (GDB)

GDB o GNU Debugger es un debugger que nos da la posibilidad de ejecutar un programa instrucción por instrucción para ir analizando su comportamiento, similar al x64dbg para Windows. Soporta distintos tipos de lenguajes como Assembly, C++, Go, Rust, entre otros y está disponible para distintas plataformas Unix, como también para algunas variantes de Windows y Mac OS.

A continuación, mencionamos distintos comandos para ejecutar en gdb que nos van a permitir realizar distintas acciones:

  • starti – Ejecutar el programa y colocando un breakpoint en la primera instrucción
  • b/break – Colocar un breakpoint en un determinado lugar del programa.
  • r/run – Ejecutar el programa
  • info opción – Lista distinta información en base a la opción deseada, algunos ejemplos pueden ser:
    • breakpoints
    • registers
    • functions
  • disassemble – Muestra el código assembler de una función o un fragmento de una función, ej: disassemble main
  • set disassembly-flavor SINTAXIS – Permite modificar el tipo de sintaxis con la que se muestra el código assembler. Ej set disassembly-flavor Intel
  • ni – ejecutar hasta la próxima instrucción
  • c/continue – continuar la ejecución del programa
Uno de los mejores plugins es pwndbg. Este complemento permite integrar distintos datos sobre la línea de comandos al momento de debuggear un archivo, como los valores de los registros, la siguiente instrucción a ejecutarse, la información del stack del programa, entre otras cosas.

WinDbg

Este depurador es mantenido directamente por Microsoft y se incluye en Windows Driver Kit (WDK). Actualmente es considerada la herramienta de depuración de kernel más actualizada y poderosa y puede operar en modo kernel, aunque no cuenta con una interfaz muy accesible para sus nuevos usuarios.



WinDbg admite la depuración remota y puede descargar símbolos de depuración directamente desde los servidores de Microsoft. Para configurarlo rápidamente para depurar el kernel del sistema operativo dentro de las máquinas virtuales, hay un complemento de VirtualKD.


IDA Disassembler

Esta herramienta cuenta con una versión gratuita y una de pago. La primera versión solo es compatible con x86, además de que no admite plugins. Por otra parte, la versión de pago puede usarse sin restricciones de arquitectura o plugins, lo que la hace una opción mucho mejor para los investigadores.




IDA tiene un depurador incorporado, muy sencillo en cuanto a un conjunto de funciones pero con una interfaz de usuario algo complicada. Esta herramienta también puede adaptarse con el plugin Hex-Rays, un poderoso descompilador escrito en C que mejora considerablemente las características predeterminadas de IDA Disassembler.


Radare2


Radare inició como una herramienta forense para hacer búsquedas en discos duros, pero luego su desarrollador principal, el español Sergi Álvarez, también conocido como pancake o trufae, empezó a exigirle más a esta herramienta y fue integrando cada vez más funcionalidades. Fue así como junto a un pequeño grupo de desarrolladores decidieron reescribir el Radare para darle vida al Radare2: una herramienta que aunque mantiene algunas funciones forenses de su antecesor Radare, sin embargo, está más enfocado a convertirse en un completo framework para el análisis de archivos binarios e ingeniería inversa 

Aunque esta herramienta fue pensada originalmente como un editor hexadecimal, aunque eventualmente fue convertido en un marco completo para la depuración y desensamblado de toda clase de código, incluyendo software malicioso.


Radare2 es una colección de utilidades de consola que incluye un depurador, desensamblador, descompilador, editor hexadecimal, compilador nativo y utilidad de comparación binaria, entre muchas otras herramientas, además de de contar con toda clase de procesadores y plataformas, gracias a las cuales puede competir incluso con productos como la versión de pago de IDA Disassembler.

Radare2, o R2 como algunos le llaman, es tan versátil que se puede usar en análisis forenses hasta en depuración de ejecutables o para realizar fuzzing o exploiting.

Radare2 es de las pocas herramientas que se permite soportar una gran cantidad de formatos de ficheros ejecutables, desde los conocidos COFF  y ELF hasta formatos de consolas de videojuegos como GameBoy, GameBoy Advance o Xbox, pasando por soportar una gran cantidad de Instruction Sets de casi todos los procesadores populares desde la familia de los Intel y los ARM`s, hasta los SuperH de la Japonesa Hitachi.

Además, esta herramienta es multiplataforma, puede correr en Linux, *BSD, Windows, OSX, Android, iOS, Solaris y Haiku, incluso podemos acceder a una versión de Radare2 en la nube, accediendo a cloud.rada.re, y cuenta con una excelente documentación.

  • Radare2 tiene un fork llamado rizin, con gui llamada cutter

Algunas características interesantes de Radare2 que podemos mencionar son:

  • Soporte para múltiples arquitecturas, como x86-64, ARM, MIPS, SPARC, Gameboy, entre otros.
  • Soporte para distintos tipos de archivo, como ELF, PE, MZ, Java, Android, Nintendo DS ROM, entre otros
  • Soporte para distintos sistemas operativos, como Windows, Linux, SerenityOS, entre otros
  • Ofrece distintos plugins, como r2ghidra, el cual integra el decompilador de la herramienta Ghidra sobre radare2.

Algunos comandos que podemos usar sobre este framework son:

  • aaa – Análisis de todas las funciones en el archivo
  • afl – Listar las funciones detectadas en el archivo
  • pdf @ nombre_función – Mostrar el código assembler de una función puntual
  • iS – Mostrar las secciones del archivo
  • izz – Buscar y mostrar las strings dentro de todo el archivo
  • s <address> – Busca una dirección y se posiciona sobre la misma
  • V – Muestra la vista hexadecimal de forma similar al comando xxd que mencionamos anteriormente
  • VV – Activa la vista gráfica donde estemos ubicados en el archivo
  • ? – Comando ayuda utilizado para mostrar más información de los comandos a utilizar

GHIDRA



GHIDRA es presentado por la NSA como un «Software Reverse Engineering«,  escrito en Java, es decir, un software que hace uso de técnicas de ingeniería inversa para detectar vulnerabilidades desconocidas en cualquier sistema, software o aplicación.

Las principales características de GHIDRA son:

  • Incluye herramientas que permiten analizar código compilado para una gran variedad de plataformas, incluidas Windows, Linux y macOS.
  • Permite ensamblar, desensamblar, compilar, descompilar y realizar otras tareas con el código.
  • Soporta una gran variedad de instrucciones de procesador y formatos ejecutables.
  • La herramienta se puede utilizar manualmente mediante un modo interactivo o automatizar todas las tareas.
  • Es modular, es decir, los usuarios pueden crear fácilmente sus propios códigos o secuencias de comandos mediante su API.

Hay que reconocer que verdaderamente ofrece toda la potencia de WinDbg e incluso permite operar mediante comandos haciendo uso del intérprete. Por supuesto, otras capacidades típicas de depuración están cubiertas, tales como: breakpoints (software y hardware), listado de los módulos, hilos, stack y los registros. También otras capacidades menos comunes como el Static Mappings (mapeado entre un rango de direcciones del listado dinámico con un rango de direcciones del listado estático) y Time (“snapshots” en la traza actual con su correspondiente timestamp).


Binary Ninja 





Binary Ninja es una plataforma de ingeniería inversa de pago desarrollada por Vector 35 Inc. Puede desmontar un binario y mostrar el desmontaje en vistas lineales o gráficas. Realiza un análisis en profundidad automatizado del código, generando información que ayuda a analizar un binario.

Detect it Easy (DiE)

Este es un excelente programa para identificar empacadores, además de contar con muchas otras funcionalidades como el cálculo de la entropía de las secciones de archivo.


La herramienta también incluye un visor de recursos capaz de volcar al disco, lo que permite ver fácilmente la tabla de importación, soporte para extensiones y scripts. La mayor desventaja de DiE es que sus mantenedores no suelen lanzar actualizaciones, por lo que los errores reportados son corregidos hasta el lanzamiento de versiones completamente nuevas.


ExeInfoPE

Este es un detector de empaquetadores y protectores muy funcional aunque con una interfaz bastante peculiar que puede llegar a ser difícil de entender. Aún así, el programa se actualiza de forma constante y está lleno de características interesantes para los expertos en ingeniería inversa de malware.



Los expertos consideran que esta es la herramienta ideal para principiantes, ya que también contiene funciones predeterminadas para un funcionamiento más amigable, sin mencionar el soporte para plugins populares.

HxD

HxD es un miembro destacado de la familia de los editores hexadecimales, pues es una de las principales opciones para acceder a un disco duro, memoria o aplicación en modo binario. La herramienta es gratuita y se actualiza constantemente, además de que permite eliminar archivos de forma segura y compatibilidad con una versión portátil.


HIEW

Esta herramienta cuenta con una versión gratuita y una de paga y que recibe mantenimiento constante por parte de los desarrolladores. Los expertos en ingeniería inversa de malware mencionan que esta es una herramienta similar a Norton Commander, aunque la interfaz de usuario es un poco más compleja.


PeStudio

PeStudio - Malware Early Triage

PesStudio es una avanzada herramienta para el análisis de malware que escanea automáticamente cualquier muestra, incluso tomando las bases de datos de plataformas como VirusTotal.

Creada por Marc Ochsenmeier es una herramienta ideal para el análisis estático de archivos ejecutables, además es portable.

Incluye una comprobación de ficheros con VirusTotal para el archivo que se esta analizando enviando el MD5 del fichero (esta opción se puede desactivar desde el fichero: PeStudioVirusTotal.xml). También detecta las APIs utilizadas como GetProcAddress, LoadLibraryA, GetModuleHandleA, ExitProcess, VirtualAlloc, WriteFile, entre otras.

Algunas de las secciones más importantes que tenemos en Pestudio son:

  • Indicators: esta sección nos ofrece información de por qué el binario es sospechoso y lo clasifica según el nivel de severidad.
  • Libraries: identifica las .dll que carga el binario a analizar. Recupera las bibliotecas y las funciones a las que se hace referencia en el archivo sospechoso. Pestudio viene con una lista predefinida de bibliotecas y funciones comúnmente utilizadas por los códigos maliciosos.
  • Imports: identifica las .dll que carga el binario junto con los parámetros utilizados.
  • Resources: nos da información de la carga de un archivo del estilo payload.
  • Strings: a través de la lista preconfigurada <strings.xml> compara las strings que posee el binario a analizar para definir si el archivo es sospechoso.

PeStudio analiza el binario y lo clasifica en función de las cosas sospechosas que encuentra;

  • Indicators (Indicadores. DEP, ASLR, 
  • Imported Libraries - Librerías que carga el binario
  • Imported Symbols (síntesis de los eventos de ratón, etc)
  • Total integración con VirusTotal
  • Llamadas a las funciones y si esas funciones están clasificadas como sospechosas o no
  • Strings (Unicode, ASCII; extensiones de ficheros, funciones de Windows, )
  • Resources (Lenguaje (idioma))
  • Signature (Detecta más de 4.000 firmas, ejemplo Packed: Armadillo, etc)
  • Certificados


La herramienta muestra de forma práctica las funciones de la tabla de importación utilizadas en la aplicación de prueba, muestra las firmas de virus de la aplicación, las bibliotecas utilizadas y la información del encabezado del archivo PE. En otras palabras, es un recolector antivirus multifuncional para el análisis inicial de muestras.


PE-bear


PE-bear es una herramienta de reversing gratuita para archivos PE. Su objetivo es ofrecer una herramienta de "primera vista" rápida y flexible para los analistas de malware, estable y capaz de manejar archivos PE con formato incorrecto.  Una de las ventajas de utilizar PE-bear al inicio del análisis es poder verificar las secciones, ya que muchas veces los binarios están empaquetados, por ejemplo con UPX.

Este es un práctico visor y editor para archivos PE y PE+ que contiene un analizador de empaquetadores y protectores, muestra información sobre encabezados de archivos, recursos y secciones. Si los usuarios lo deciden, pueden acceder ver la representación hexadecimal de estas secciones y desmontarlas en mnemotécnicos de ensamblador ordinarios.


PE-bear tiene una interfaz amigable y un plugin preinstalado para comparar archivos. El programa vuelve a recibir actualizaciones después de un parón. PeBear no es una herramienta de código abierto, pero si lo es (PE-bears) Portable Executable parsing library

CFF Explorer

Con CFF Explorer es posible inspeccionar programas del tipo PE (Portable Executable), al igual que con Pestudio y PE-bear. Una de las principales ventajas de utilizar esta herramienta es que permite realizar modificaciones dentro del PE.

CFF Explorer brinda la posibilidad también de entender la composición básica extrayendo información sobre la fecha de compilación, el tipo de arquitectura o importaciones de librerías.

En este caso, las .dll que llama el binario analizado utilizan cuatro librerías:

  • KERNEL.dll
  • USER32.dll
  • ADVAPI32.dll
  • SHELL32.dll

Si bien estas .dll no son maliciosos, algunas veces los cibercriminales las modifican para realizar otro tipo de tareas en el equipo de la víctima.

Otra de las funcionalidades que se pueden encontrar dentro de CFF Explorer son: el visor de procesos, opción para extraer strings, un editor hexadecimal, entre otras.

PEiD



PEiD es un programa capaz de dar información de como está empaquetado, estos software se basan en firmas que pueden buscar en bases de datos que se van actualizando, esas firmas se encuentran a lo largo del binario con el binario en si o bien mirando solo el Entry Point.

PEiD es una utilidad con la que podrás usar los archivos portables ejecutables (PE) ya que detecta 600 tipos distintos de firmas en estos archivos. Estas son algunas de las características que incluye PEiD y que le diferencian de otros programas de su clase:

  • Interfaz realmente intuitiva y simple de usar
  • Máximas tasas de identificación conseguidas, conoce los paquetes más comunes, criptografía y compiladores para asegurarse de que siempre podrás realizar la acción requerida con el archivo PE
  • Capacidades 'drag and drop' e integración 'shell' (puedes definirlo como aplicación determinada para abrir archivos PE)
  • Escáner y detección de archivos no reconocidos
  • Importa, exporta y previsualiza
  • Visor y controlador de tareas

RDG Packer Detector




RDG Packer Detector es un es una aplicación creada por RDGMax para detectar packers, Cryptors, Compiladores, Packers Scrambler, Joiners, Installers , y demás de algún archivo ejecutable.


  • Posee sistema de detección Rápida.
  • Posee sistema de detección Potente Analizando el archivo completo, permitiendo la muli-detección de packers en varios casos.
  • Permite crear signaturas tus propias signaturas de detección.
  • Posee Analizador Crypto-Grafico.
  • Permite calcular el checksum de un archivo.
  • Permite calcular el Entropy, informando si el programa analizado esta comprimido, encriptado o no.
  • Detector de OEP (Punto de entrada Original) de un programa.
  • Puedes Chequear y descargar signaturas.Así siempre tú RDG Packer Detector estará Actualizado.
  • Loader de Plug-ins..
  • Convertidor de Signaturas.
  • Detector de Falseadores de Entry Point.
  • De-Binder un extractor de archivos adjuntos.
  • Sistema Heuristico Mejorado.

Resource Hacker

Esta es una herramienta popular para la edición de recursos. Acorde a los especialistas en ingeniería inversa de malware los usuarios pueden editar íconos, cadenas de diálogo de texto, información del cursor y otros registros. No es necesario editar los recursos de la aplicación con frecuencia, pero es necesario contar con la herramienta adecuada

Process Hacker


Una herramienta gratuita, potente y multipropósito que le ayuda a supervisar los recursos del sistema, depurar software y detectar malware. 

Process Hacker es un administrador de procesos para Windows, totalmente libre y open source, algo así como un "administrador de tareas" con esteroídes, ya que permite ver procesos ocultos, editar la memoria del sistema, matar procesos que el "administrador de tareas" de windows no permite entre otras funciones muy útiles.

A primera vista, Process Hacker se parece mucho a Process Explorer pero tiene más opciones. Y ya que es de código abierto, incluso puedes agregar algunos de los tuyos si puedes y quieres.


Características


  • Una descripción detallada de la actividad del sistema con resaltado.Los gráficos y las estadísticas te permiten rastrear rápidamente los acaparadores de recursos y los procesos fuera de control.
  • ¿No puedes editar o eliminar un archivo? Descubre qué procesos están usando ese archivo.
  • Ver qué programas tienen conexiones de red activas y ciérrelas si es necesario.
  • Obtener información en tiempo real sobre el acceso al disco.
  • Ver seguimientos de pila detallados con el modo kernel, WOW64 y compatibilidad con .NET.
  • Ves más allá de services.msc: crea, edita y controla servicios.
  • Pequeño, portátil y no requiere instalación.
  • Software 100% libre (GPL v3) 

En la configuración predeterminada, muestra la pestaña Procesos con todos los procesos en ejecución en la vista de árbol y en las listas:

  • su identificador de proceso (PID)
  • su porcentaje de uso de la CPU (CPU)
  • su tasa total de E / S
  • sus bytes privados
  • el nombre de usuario con el que se está ejecutando el proceso
  • una breve descripción
Las otras pestañas son Servicios , Red y Disco

Una opción muy útil que Process Hacker tiene para ofrecer es que puede ayudarlo a eliminar aquellos archivos que simplemente no quieren desaparecer porque están «en uso por otro proceso».

  • Buscar manejadores o DLLs.
  • Dump Procesos (para buscar stings, por ejemplo)
  • Browlock

Nota: Algunos AV señalan a Process Hacker como Riskware o potencialmente no deseado porque puede terminar muchos procesos, incluidos algunos que pertenecen al software de seguridad.

RegShot

Regshot es una herramienta que permite a los analistas realizar “snapshots” del sistema antes y luego de ejecutar la muestra de malware a analizar. Es una herramienta sencilla que permite identificar rápidamente los registros que haya creado el binario malicioso. El análisis se puede exportar, ya sea desde un archivo HTML hasta incluso un archivo .txt

Fuentes:

https://hackmag.com/security/software-for-cracking-software/



2 comentarios :

Anónimo dijo...

Muchisimas gracias, grandioso el favor sea cual sea el esfuerzo invertido. Saludos!

Anónimo dijo...

Saben de ingenieria inversa

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.