Introducción a las herramientas de ingeniería inversa

El método de ingeniería inversa se aplicó originalmente solo a hardware, pero ahora también a computadoras, bases de datos e incluso ADN humano. En el área de ciberseguridad, la ingeniería inversa se puede utilizar para determinar los detalles de una violación de cómo el atacante accedió a la red y cómo se infringió el sistema. Los ciberdelincuentes utilizan toda la gama de tácticas de piratería informática para penetrar en las redes corporativas detrás del ataque. Tiene un objetivo particular y tiene la experiencia, la inspiración, la estructura y la financiación. En este sentido, la ingeniería inversa nos ayuda a detectar sus tácticas en el futuro para evitarlo.

Varias herramientas de ingeniería inversa están disponibles en Kali Linux. Estas son algunas de las herramientas más importantes utilizadas en la ingeniería inversa de Kali Linux.

Herramientas para ingeniería inversa

1. IDA
IDA se ha convertido en la guía de facto para el estudio de software agresivo, pruebas de vulnerabilidad y validación COTS. Esto ofrece una amplia gama de características y funciona muy bien en todas las plataformas, como las plataformas Windows, Linux y Mac OS X. También tiene varios complementos que permiten ampliar aún más la funcionalidad del desmantelador. IDA 5.0 está disponible gratuitamente en el sitio y se puede descargar fácilmente. En 2001, IDA Pro recibió los 18 ° Premios de Excelencia Técnica PC Magazine. Fue un predecesor arquitectónico de Microsoft. Red.
La principal ventaja de este método es que cualquier aspecto de los datos mostrados se puede modificar de forma interactiva:
• Proporcione los nombres de las funciones, variables, etc.
• Cree diagramas y diagramas de flujo de código para simplificar la comprensión del código desmontado.
• Utilice la información de tipo de argumentos de función y las definiciones de estructura de C ++ para nombrar automáticamente argumentos y variables.
• Reconocer y titular las funciones de biblioteca estándar en el código de ensamblaje automáticamente.

2. Nudge4j
Nudge4j es un pequeño fragmento de código Java que permite al usuario acceder a su aplicación Java. Está diseñado para usarse durante el desarrollo para crear un entorno para probar el software contra una aplicación en ejecución. Además, las comprobaciones de regresión y el análisis de integración para ejercer algunas de las funcionalidades clave pueden mantener un fragmento de código Nudge4j antes de presionar para la versión final.
Como si el navegador fuera un control remoto más inteligente, el control de su programa Java desde el navegador. Para ejecutar JVM enviando el código del navegador, prueba de software en vivo.

3. OllyDbg
OllyDbg es un depurador de Microsoft Windows de nivel de ensamblador de 32 bits. El enfoque del análisis de código binario lo hace especialmente útil cuando el origen es inaccesible. OllyDbg es una aplicación shareware, pero puede descargarla de forma gratuita y usarla.
Algunas características de OllyDbg se dan de la siguiente manera
1. Análisis del código: rastrea registros, detecta cambios de procedimientos, llamadas a API, tablas, constantes de bucles y cadenas.
2. Buscar carpeta de objetos: localiza objetos y rutinas de biblioteca.
3. Guarde los parches entre sesiones, devuélvalos a archivos ejecutables y repare las actualizaciones.
4. 3DNow, MMX e instrucciones para tipos de datos SSE y extensiones, incluido Athlon.
5. Reconoce estructuras complejas como la invitación a los procedimientos.
6. Rastrea la ejecución del programa, registra argumentos de función conocidos.
7. Encontrar comandos incorrectos y enmascarar secuencias binarias.
8. Examina y modifica la memoria, establece puntos de interrupción y pausa el programa sobre la marcha.
9. Ingrese parches entre sesiones, restaúrelos a archivos ejecutables y corrija las actualizaciones.

4. Valgrind:
Valgrind es un paquete de depuración y perfiles de Linux. Al eliminar los períodos de búsqueda de errores y hacer que los programas sean más confiables, podemos eliminar la administración de memoria y los errores de subprocesamiento con su herramienta. Además, se pueden realizar perfiles detallados para acelerar los procesos del programa y crear nuevas herramientas con Valgrind. La distribución de Valgrind consta actualmente de seis herramientas para la producción.
• Memcheck (es un detector de error de memoria)
• DRD y Helgrind (es un detector de error de dos hilos)
• cachegrind (generador de perfiles de la rama y caché)
Los fabricantes consideran que la industria de la ingeniería inversa es un medio importante para mantener la competencia, o algunos pueden considerar que es un medio para comprender las fallas de diseño y reprocesamiento. Sin embargo, Kali Linux nos ofrece algunas herramientas muy importantes y conocidas para la ingeniería inversa. Además, hay muchas otras herramientas para la ingeniería inversa, pero estas herramientas ya están incluidas y salen de la caja de Kali Linux.

5. Dex2jar
Una colección de herramientas y bibliotecas que se pueden utilizar para mejorar el desarrollo de Android. Dex y Java. archivos de clase Dex2jar incluye una colección de bibliotecas Java que optimizan las tareas de desarrollo relacionadas con Android y simplifican los proyectos APK.
Algunos componentes importantes de Dex2jar son los siguientes:

  1. El formato Dalvik Executable (.dex / .odex) está destinado a dex-reader. Tiene una API similar a ASM en el peso ligero.
  2. El traductor de dex está destinado a realizar trabajos de conversión. La instrucción dex lee el formato de archivo dex y lo convierte a formato ASM después de que algunos hayan sido optimizados.
  3. Dex-it es utilizado por el traductor de dex para representar las instrucciones para dex.
  4. D2j-smali desmonta dex a small y ensambla dex de smali. Implementación diferente de smali / baksmali, misma sintaxis, pero admitimos el escape de estilo desc "Lcom / dex2jar \ t \ u1234".

6. Androguard
Androguard es principalmente una aplicación escrita en pitones para jugar con * Dex / Odex (.dex) (desmontar, descomponer), * Android Assets (.arsc). * XML de Android (.xml) * Dex / Odex (máquina virtual Dalvik), * APK (.apk). También viene con control de Python para OSX / Linux / / Windows.
Algunas características importantes de Androguard se dan de la siguiente manera
1. El primer descompilador nativo de Dalvik (DAD) se descompila del código de bytes al código fuente de Java.
2. Servidor de software libre de Android.

Conclusión

Con la ayuda de estos dispositivos de ingeniería inversa, disfrutará de los servicios más modernos, ya que significa que no tiene que replicar la investigación que otros han hecho y que puede elegir un sistema. Entonces, en este artículo, hemos visto diferentes herramientas de herramientas de ingeniería inversa. Espero que encuentre útil este artículo.

Artículos recomendados

Esta es una guía de las herramientas de ingeniería inversa. Aquí discutimos la introducción y las herramientas para la ingeniería inversa. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Ingeniería inversa con Python
  2. ¿Qué es el desarrollo de software?
  3. ¿Qué es el Nmap?
  4. Instalar Kali Linux
  5. Invertir en JavaScript