Cómo construir un laboratorio de investigación para ingeniería inversa: 4 formas


El análisis de malware es una parte esencial del trabajo de los investigadores de seguridad. Pero trabajar con muestras maliciosas puede ser peligroso: requiere herramientas especializadas para registrar su actividad y un entorno seguro para evitar daños no deseados.

Sin embargo, la instalación y configuración manual del laboratorio puede resultar un proceso laborioso y lento.

En este artículo, veremos 4 formas de crear un laboratorio de ingeniería inversa, analizaremos cómo ahorrar tiempo y, potencialmente, mejorar la tasa de detección mediante un servicio en la nube y una lista recomendada de herramientas para una configuración integral.

Ingeniería inversa de malware

¿Qué es un laboratorio de análisis de malware?

En esencia, un laboratorio de análisis de malware proporciona un espacio aislado y seguro para examinar el malware.

La configuración puede variar desde una máquina virtual sencilla que usa VirtualBox hasta una red más compleja de máquinas interconectadas y hardware de red real.

Pero en este artículo, veremos cómo construir un laboratorio diseñado para el análisis estático, por lo que necesitaremos un entorno seguro donde podamos ejecutar desensambladores, editar archivos binarios y depurar.

Hay un par de maneras en que podemos crearlo:

1 — Virtualización

    Quizás la forma más sencilla de crear un entorno seguro y aislado es mediante el uso de una máquina virtual.

    Una opción popular es Virtual Box, software de código abierto de Oracle. Si está en Linux, para instalarlo, simplemente use el comando sudo apt instalar virtualbox. VMWare es otra opción popular: es un programa comercial, pero hay un nivel gratuito.

    La configuración es fácil: descargue e instale el software, cree una máquina virtual, configure los ajustes para asegurarse de que no tenga acceso a la red o carpetas compartidas con el host, y luego inícielo con un archivo .ISO de su sistema operativo elegido .

    Pero este enfoque tiene algunos inconvenientes: tendrá que establecer reglas de detección personalizadas para identificar entidades sospechosas o maliciosas, investigar de forma independiente técnicas emergentes, mantener configuraciones y determinar políticas de registro utilizando las herramientas disponibles. Este mayor enfoque en el mantenimiento y la configuración resta valor al tiempo dedicado al análisis.

    ventajas

    • Gratis o disponible a bajo costo
    • La configuración es fácil.
    • Proporciona un entorno aislado si se configura correctamente

    Contras

    • El rendimiento recibe un golpe
    • Escalabilidad limitada obstaculizada por su CPU
    • El malware podría escapar al host
    • Requiere configurar manualmente las reglas de detección

    2 — Hardware dedicado

      En caso de que tenga una computadora portátil vieja por ahí o tenga los medios para obtener una o construir una PC, esta es definitivamente una opción. Tampoco tiene que romper el banco: la generación 11-13 de procesadores Intel hace que incluso las máquinas económicas sean una opción más que viable.

      La principal ventaja de optar por una computadora física es un mejor rendimiento y una mayor seguridad, ya que puede asegurarse de que la máquina esté verdaderamente aislada de todos los dispositivos y redes.

      Ventajas:

      • Opción de mayor rendimiento
      • Entorno completamente aislado
      • Se puede personalizar infinitamente

      Contras:

      • El hardware de gama alta es caro
      • Requiere mantenimiento de software y hardware
      • Necesita ser configurado para funcionar

      3 — Un laboratorio en la nube

        Crear un laboratorio de malware en la nube en realidad no es tan difícil como podría parecer. Además, ¡es gratis! Todo lo que necesita es una cuenta en AWS, o cualquier proveedor de servicios en la nube comparable, y una máquina para conectarse. La configuración puede ser un poco más complicada que una máquina virtual local, pero existen numerosos tutoriales que puede usar como guía.

        Si elige trabajar con AWS, busque Kali en el mercado para configurar una máquina virtual Kali Linux. Para usar la GUI, puede crear un servidor VNC y conectarse a su laboratorio con una herramienta como VNC Viewer.

        Una de las desventajas de este enfoque es que es gratis hasta que deja de serlo. Si excede los límites del nivel gratuito, su factura de la nube podría aumentar rápidamente.

        Ocasionalmente, los proveedores de la nube también pueden restringir la ejecución de malware, lo que presenta riesgos legales. Además, las máquinas en la nube exigen soporte, lo que sobrecarga las operaciones de TI. Si bien es adecuado para investigadores independientes novatos, este enfoque presenta inconvenientes en entornos corporativos. Fundamentalmente, carece de la capacidad de contrarrestar la detección de máquinas virtuales de malware y eludir las tácticas anti-evasión.

        Ventajas:

        • Escalabilidad
        • Sin mantenimiento de hardware
        • Aislado de su red para mayor seguridad

        Contras:

        • Riesgos legales potenciales.
        • Configuración difícil
        • Necesita ser configurado para funcionar
        • La latencia disminuye la calidad del trabajo
        • Las configuraciones avanzadas son caras
        • Sensible a las técnicas anti-avastin

        4 — Sandbox como servicio

          Una ventaja importante de los servicios de sandbox basados ​​en la nube es su resiliencia integrada frente a la detección de máquinas virtuales. Esto reduce la probabilidad de que una muestra de malware reconozca que está en una máquina virtual y detenga su ejecución, una característica que requiere una configuración manual en otras zonas de pruebas.

          Además, en un servicio como este, las reglas de detección son escritas por especialistas que utilizan vastas bases de datos de inteligencia de malware y amenazas. Como resultado, el software puede enriquecer los resultados del análisis con técnicas e IOC, lo que genera resultados más completos en comparación con los datos sin procesar de la nube o las máquinas virtuales locales.

          Además, los servicios de sandbox basados ​​en la nube agilizan las configuraciones del entorno. Por ejemplo, en lugar de crear instantáneas separadas en una máquina virtual, Servicio en la nube de ANY.RUN permite una fácil configuración del entorno a través de un menú fácil de usar cada vez que se inicia un laboratorio.

          ventajas

          • Ahorra tiempo
          • Facilidad de uso
          • Seguro y completamente aislado de su red
          • Reforzado contra la detección de VM
          • Configuración sencilla del entorno de ejecución

          Contras

          • No está optimizado para trabajar con su conjunto de herramientas
          • Ciertas soluciones en el mercado pueden ser lentas
          • Las instancias de máquinas virtuales tienen limitaciones de tiempo

          El uso de una caja de arena interactiva en línea como ANY.RUN en lugar de un laboratorio ofrece comodidad y velocidad. Puede ayudar a automatizar partes del análisis estático, como extraer configuraciones de malware.

          Si desea probar ANY.RUN usted mismo, actualmente están realizando una promoción especial para los lectores de Hacker News:

          Ingeniería inversa de malware

          Tipos de software para ingeniería inversa

          Aquí hay algunas herramientas esenciales que lo ayudarán a aplicar ingeniería inversa al malware:

          • Desmontadores. Los desensambladores son imprescindibles para la ingeniería inversa. Le permiten transformar el lenguaje de máquina en código ensamblador que es fácil de entender para los humanos, para que pueda obtener información sobre cómo funciona el malware. IDA Pro, Ghidra y Binary Ninja son desensambladores populares. Para ejecutar Ghidra en Linux, primero, instale JDK y descargue Ghidra en su máquina. No se necesita instalación, simplemente ejecute estos comandos dentro del directorio Ghidra: chmod +x ghirdEjecutar y ./ghirdaRun.
          • Descompiladores. Los descompiladores son similares a los desensambladores, ya que pueden convertir código de máquina en código fuente. Puede ser útil para comprender la arquitectura del malware y descubrir funciones o módulos específicos. Los descompiladores populares incluyen IDA Pro, Ghidra y Hex-Rays.
          • Depuradores. Los depuradores ayudan a los programadores a localizar errores y solucionarlos al permitirles revisar el código línea por línea, establecer puntos de interrupción y observar la forma en que funciona el malware. Varios de los depuradores más utilizados son OllyDbg, x64dbg y WinDbg. x64dbg es una de las opciones más populares en este momento: es gratis y está disponible para descargar desde x64dbg.com
          • Editores hexadecimales. Los editores hexadecimales son útiles para ver más de cerca los archivos binarios, comprender cómo están organizados, detectar valores particulares y manipular el archivo como una forma de ver cómo responde el virus. Los editores hexadecimales comunes incluyen HxD y Hex Workshop.
          • Herramientas de análisis de red. Cierto malware requiere una conexión en línea para funcionar. Los programas de análisis de red como Wireshark pueden ayudarlo a identificar y examinar el tráfico enviado y recibido por ese malware.

          Herramientas esenciales de análisis de malware

          Depende del analista decidir qué software instalar, pero, en nuestra opinión, la lista de herramientas esenciales se ve así:

          • Detectarlo fácil. Para determinar tipos de archivos
          • Hacker de procesos. Lo ayuda a monitorear los recursos del sistema, depurar software y detectar malware
          • Monitoreo de procesos. Una herramienta de monitoreo para Windows que muestra el sistema de archivos en tiempo real, el Registro y la actividad de procesos/subprocesos
          • Tiburón alambre. Para analizar la actividad de la red
          • x64dbg y ghidra. Requerido para el análisis estático y dinámico.

          Ah, y si desea obtener un laboratorio preconfigurado, puede usar un kit de distribución especializado como Remnux, que viene con la mayoría de esos programas ya instalados.

          También está FLARE VM, una colección de scripts de instalación de software para sistemas basados ​​en Windows que le permite configurar y mantener fácilmente un entorno de ingeniería inversa en una máquina virtual.

          Terminando

          Hemos discutido cuatro métodos diferentes para crear un laboratorio de análisis: utilizar la virtualización, construir una máquina dedicada, implementar un laboratorio en la nube o suscribirse a un Sandbox como servicio.

          Cada uno de estos enfoques viene con su propio conjunto de beneficios e inconvenientes, y la elección correcta depende de lo que está tratando de lograr y los recursos disponibles para usted.

          Afortunadamente, la mayoría de estas opciones son totalmente gratuitas, ¡así que pruébelas todas y vea cuál funciona mejor!

          ¿Encontraste este artículo interesante? Siga con nosotros Gorjeo y LinkedIn para leer más contenido exclusivo que publicamos.



          ttn-es-57