Cubrimos el uso de análisis forense de Linux para investigar un incidente cibernético. Cubrimos la lectura y extracción de evidencia de archivos de registro e historial de comandos. Esto fue parte de TryHackMe Descontento

Obtenga notas de informática forense

Analizar malware es como un juego del gato y el ratón. Los analistas de malware siguen ideando nuevas técnicas para analizar el malware, mientras que los autores de malware idean nuevas técnicas para evadir la detección. Esta tarea revisará algunas técnicas que obstaculizan nuestros esfuerzos para analizar malware mediante análisis estático o dinámico básico.

Métodos de evasión de malware de Análisis estático:

  • Cambiando el hash: Anteriormente aprendimos que cada archivo tiene un hash único. Los autores de malware aprovechan esta funcionalidad modificando ligeramente su malware. De esta manera, el hash del malware cambia, evitando el mecanismo de detección basado en hash. Los hashes pueden cambiar incluso si se cambia un bit del malware (a menos que estemos hablando de hashes por partes activados por contexto o hashes difusos), por lo que simplemente agregar un NOP La instrucción u otro cambio similar puede anular las técnicas de detección basadas en hash.
  • Derrotando AV firmas: Las firmas antivirus y otras detecciones basadas en firmas a menudo dependen de patrones estáticos que se encuentran dentro del malware. Los autores de malware cambian esos patrones para intentar evadir las firmas. Esta técnica suele ir acompañada de una ofuscación general del código malicioso.
  • Ofuscación de cadenas: Algunos autores de malware ofuscan las cadenas del malware decodificandolas en tiempo de ejecución. Cuando buscamos cadenas en el malware, es posible que no encontremos nada útil. Sin embargo, cuando el malware se ejecuta, decodifica esas cadenas durante la ejecución. Los autores de malware pueden ocultar cadenas importantes, como URL, C2 dominios, etc., para evitar quemar la infraestructura en función de una búsqueda de una sola cadena.
  • Carga en tiempo de ejecución de archivos DLL: Dado que podemos identificar importaciones de malware mientras analizamos EDUCACIÓN FÍSICA encabezados, los autores de malware suelen utilizar LoadLibrary o LoadLibraryEx de las bibliotecas de Windows para cargar una DLL en tiempo de ejecución. Al analizar este malware de forma estática, es posible que no veamos todas las funciones a las que está vinculado al analizar sus encabezados.
  • Embalaje y ofuscación: El empaquetado es muy popular entre los autores de malware. Empacar malware es como empacar un regalo. Cuando miramos un regalo empaquetado, no podemos decir qué hay dentro a menos que desempaquemos el envoltorio y saquemos el regalo. De manera similar, los empaquetadores empaquetan el malware en un contenedor escribiendo código que decodifica el malware en tiempo de ejecución. Entonces, al realizar un análisis estático, es posible que no podamos ver qué hay dentro del empaquetador. Sin embargo, cuando ejecutamos el malware, descomprime el código, carga el código malicioso real en la memoria y luego lo ejecuta.

Métodos básicos de evasión de malware Análisis dinámico:

  • Identificación de máquinas virtuales: Aunque algunas de estas técnicas pueden resultar contraproducentes hoy en día, ya que gran parte de la infraestructura empresarial está alojada en máquina virtuals, uno de los favoritos de los autores de malware ha sido identificar si el malware se está ejecutando dentro de una VM. Para ello, el malware suele buscar claves de registro o controladores de dispositivos asociados con software de virtualización popular como VMWare y Virtualbox. De manera similar, recursos mínimos, como una sola CPU y RAM limitada, pueden indicar que el malware se está ejecutando dentro de una VM. En este escenario, el malware tomará una ruta de ejecución diferente que no sea maliciosa para engañar al analista.
  • Ataques de tiempo: El malware a menudo intentará desactivar los sistemas de análisis automatizados. Por ejemplo, cuando se ejecuta malware, intentará dormir durante un día utilizando la biblioteca de suspensión de Windows. Después de unos minutos, el sistema de análisis automatizado se cerrará y no encontrará rastros de actividad maliciosa. Los sistemas de análisis de malware más nuevos pueden identificar estos ataques e intentar mitigarlos acortando el tiempo de inactividad del malware. Sin embargo, el malware puede identificar esas mitigaciones realizando comprobaciones de tiempo específicas para ver si se está manipulando el tiempo. Esto se puede hacer anotando el tiempo de ejecución y comparándolo con el tiempo actual después de la ejecución de la llamada de suspensión.
  • Rastros de actividad del usuario: El malware intenta identificar si hay rastros de actividad del usuario en la máquina. Si no se encuentran rastros o se encuentran muy pocos, el malware decidirá que se está ejecutando dentro de un sistema controlado y tomará una ruta de ejecución diferente y benigna. Los rastros de la actividad del usuario pueden incluir falta de movimiento del mouse o del teclado, falta de historial del navegador, falta de archivos abiertos recientemente, poco tiempo de actividad del sistema, etc.
  • Identificación de herramientas de análisis: El malware puede preguntarle a Windows SO para obtener una lista de procesos en ejecución utilizando Process32First, Process32Next o funciones similares. Si se identifican herramientas de monitoreo populares entre la lista de procesos en ejecución, el malware puede tomar una ruta de ejecución benigna. Por ejemplo, si se está ejecutando ProcMon o ProcExp, el malware puede identificarlo y cambiar a actividades benignas. Otra forma de identificar herramientas de análisis es mirando los nombres de las diferentes ventanas abiertas en un sistema. Si el malware encuentra Ollydbg o ProcMon en Windows abierto, puede cambiar a una ruta de ejecución diferente.

Respuestas de la habitación

El usuario instaló un paquete en la máquina usando privilegios elevados. Según los registros, ¿cuál es el COMANDO completo?

¿Cuál era el directorio de trabajo actual (PWD) cuando se ejecutó el comando anterior?

¿Qué usuario se creó después de instalar el paquete de la tarea anterior?

Posteriormente, un usuario recibió privilegios de sudo. ¿Cuándo se actualizó el archivo sudoers? (Formato: Mes Día HH:MM:SS)

Se abrió un archivo de script usando el editor de texto "vi". ¿Cuál es el nombre de este archivo?

¿Cuál es el comando utilizado que creó el archivo? bomba.sh?

Se cambió el nombre del archivo y se movió a un directorio diferente. ¿Cuál es la ruta completa de este archivo ahora?

¿Cuándo se modificó por última vez el archivo de la pregunta anterior? (Formato: Mes Día HH:MM)

¿Cuál es el nombre del archivo que se creará cuando se ejecute el archivo de la primera pregunta?

¿A qué hora se activará el archivo malicioso? (Formato: HH:MM AM/PM)

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos