Manejo e Investigación de archivos sospechoso
La investigación de archivos sospechosos es una tarea principal para el equipo de respuesta (Blue Team). Esta labor debe realizarse con sumo cuidado, ya que implica determinar si un archivo es malicioso o no. Este módulo cubre la elección de un entorno seguro para el análisis, cómo transportar archivos de manera segura, los tipos de archivos maliciosos más comunes y cómo identificar rápidamente si un archivo representa una amenaza (mediante hashes y firmas).
Gestión segura de archivos Maliciosos
La regla fundamental es: NUNCA utilice un sistema si no puede permitirse perder los datos. Para manejar y analizar archivos sospechosos, se debe:
Utilizar un sistema desconectado o al menos en una red diferente a cualquier recurso importante.
Utilizar una máquina host segura (Linux es recomendado por ser un objetivo menor que Windows).
Analizar el malware en una máquina virtual (VM).
Estrategia de Desajuste de Sistemas Operativos (Mismatch OS):
Se recomienda utilizar un sistema operativo que no pueda ejecutar el código que se está analizando.
Si se analizan virus de Windows (ejecutables, scripts de PowerShell, VBS, documentos de Office), se debe usar una máquina con Linux. Un ejecutable de Windows no se ejecutará en Linux. Los exploits de Microsoft Office difícilmente funcionarán en intérpretes de terceros en Linux, como LibreOffice.
Si se analizan virus de Linux (más raros), se podría usar una máquina virtual de Windows.
Para archivos multiplataforma (como PDFs o JavaScript), se sigue recomendando Linux, ya que los atacantes suelen codificar exploits para Windows.
Siempre se debe tomar una instantánea (snapshot) de la VM antes del análisis y revertir al estado inicial después de terminar para contener cualquier daño.
Copiando archivos maliciosos
Es necesario transportar archivos sospechosos de forma segura para evitar la ejecución accidental y evitar que el software antivirus (AV) los elimine.
Método Estándar de la Industria:
Comprimir el malware en un archivo ZIP y cifrar el archivo con la contraseña "infected".
El cifrado sirve para evitar que se active el virus accidentalmente si se hace doble clic.
El cifrado evita que el AV pueda identificar y eliminar el archivo inmediatamente.
Advertencia de Visibilidad: Aunque el archivo esté cifrado, las herramientas (como Gmail) a menudo pueden ver los nombres de los archivos internos listados en el ZIP. Por lo tanto, si se necesita enviar por correo electrónico, se recomienda cambiar el nombre del archivo interno para que no parezca un ejecutable antes de comprimirlo y cifrarlo.
Que archivos son verdaderamente peligrosos?
Desafortunadamente, casi todos los tipos de archivos pueden ser armamentizados bajo las condiciones adecuadas.
Los tipos de archivos que se ven con mayor frecuencia armamentizados incluyen:
Ejecutables: Programas, librerías, drivers y scripts.
Documentos: Office, RTF, PDF.
Otros: Iconos, imágenes, videos, fuentes, y más. Armamentizar estos es más difícil, ya que requiere exploits o fallas en el lector del archivo.
Ejecutables
Los ejecutables son una de las formas más comunes de archivos maliciosos.
Formatos Ejecutables "PE" (Portable Executable) de Windows:
No solo el .exe, sino también otros formatos comparten el mismo formato y magic bytes, haciéndolos igualmente potentes. Todos estos formatos, como .dll, .drv, .cpl (archivos de panel de control), .scr (salvapantallas), y .ocx, comienzan con los magic bytes MZ (Hex: 4D 5A).
Otros formatos ejecutables incluyen:
Instaladores (.msi, .msp).
Archivos autoextraíbles (.sfx, .sea).
Aplicaciones Java (.jar).
Los atacantes suelen utilizar formatos oscuros (como .cpl o .scr) asumiendo que el equipo de correo o los usuarios no los bloquearán, a pesar de que son tan peligrosos como un .exe.
Se pueden buscar distintos tipos de ficheros por Magic bytes en este enlace:
Scripts
Los scripts son tan peligrosos como cualquier ejecutable compilado.
Tipos de Archivos: .ps1 (PowerShell), .vbs (Visual Basic Script), .js (JavaScript), .bat (Batch files), .bash, Python, Ruby, etc..
Ejecución: Windows ejecuta scripts de forma nativa con cscript.exe y wscript.exe.
Evasión: Los scripts tienen un perfil más bajo y pueden eludir los filtros de phishing. Además, a menudo evaden las herramientas de control de aplicaciones.
Nota de Análisis: Ejecutar strings en un script es inútil, ya que el archivo completo es un archivo de texto plano grande (una sola cadena).
Los scripts maliciosos a menudo están ocultos dentro de otros formatos, como documentos de Office o PDF.
Microsoft Office Documents
Los documentos de Office son un vehículo de entrega principal para los ataques de phishing.
Métodos de Armamentización:
Macros: Es una característica del programa, no un exploit del código base, pero se utiliza para engañar al usuario y lograr que ejecute código malicioso.
Vínculos Maliciosos: Incluir un enlace a un sitio de phishing dentro del documento (se basa en ingeniería social).
Objetos Incrustados: Utilizar la función de "incrustar objeto" para ocultar otro archivo malicioso (ej. un ejecutable) dentro del documento.
Exploits Directos: Vulnerabilidades raras que atacan el código de Office en sí.
Dos Formatos Principales:
Formato Anterior a 2007 (.doc, .xls): Formato binario OLE. Los atacantes prefieren este formato, ya que no era necesario cambiar la extensión para incluir macros, lo que lo hacía más difícil de detectar por el software de phishing.
Formato Post-2007 (.docx, .xlsx): Formato basado en XML. Estos archivos son en realidad archivos ZIP y se pueden renombrar y extraer. Si contienen macros, el nombre del archivo debe terminar en "m" (ej. .docm, .xlsm), como una medida de seguridad implementada por Microsoft.
Microsoft ha comenzado a bloquear las macros por defecto para los archivos descargados de Internet a partir de la versión 2203 de Office.
Rich Text Format (.rtf)
Los documentos RTF también son utilizados comúnmente para exploits y comparten muchas capacidades con los documentos de Office.
Capacidades: Permiten incrustar archivos y enlaces.
Macros: No son compatibles con macros. Si un RTF es malicioso, es probable que sea un exploit dirigido al lector del archivo RTF, no a una de sus características.
Identificación: Son fáciles de distinguir de los documentos de Word en una vista de hexdump, ya que sus magic bytes son {\rtf1 (caracteres ASCII imprimibles).
PDF Files
El formato PDF es un vector de ataque extremadamente común.
Armamentización: Los PDFs pueden contener enlaces maliciosos, archivos incrustados, exploits para Adobe Reader o código ejecutable (como JavaScript o Flash) que puede activarse automáticamente al abrirse.
Análisis Seguro (IOC Extraction): La forma más sencilla y segura de extraer indicadores de compromiso (IOCs), como enlaces, sin abrir el PDF es ejecutar el comando strings en el archivo y luego usar grep para buscar cadenas como "http".
Miscellaneous Files as Exploits
Archivos como imágenes, videos, fuentes (fonts) o enlaces de acceso directo (.lnk) pueden ser maliciosos, aunque es raro.
Mecanismo de Ataque: Dado que estos archivos carecen de funciones como macros, la armamentización se logra generalmente explotando el lector del archivo (el código que lo renderiza).
Vulnerabilidades Graves: Si la vulnerabilidad existe en el código que renderiza el archivo y este código se ejecuta en el kernel de Windows (como sucede con algunas fuentes), el exploit puede ser mortal.
Ejemplos: Se han reportado ejecuciones remotas de código (RCE) por simplemente ver una imagen (CVE-2018-8475) o una fuente (CVE-2018-1010).
Clasificación Rápida entre Archivos Buenos y Maliciosos
Para determinar rápidamente si un archivo es bueno o malo, se utilizan varios métodos:
Búsqueda de Hash en Línea: Es el método más rápido y simple. Comprobar el hash del archivo en bases de datos conocidas como VirusTotal.
Verificación de Firma Digital: Si el archivo está firmado, es más probable que sea legítimo, aunque no es una garantía.
Inspección Visual del Documento: Abrir el documento en un sandbox seguro para buscar señales obvias de phishing.
Strings (Análisis Estático): Buscar patrones sospechosos. Por ejemplo, encontrar magic bytes de ejecutables ("MZ… This program cannot be run in DOS mode") dentro de un archivo que no debería ser un ejecutable (como una imagen). También buscar scripts o URLs extrañas.
Prueba en Sandbox: Ejecutar el archivo en un entorno controlado para observar su comportamiento (análisis dinámico).
Hashing
El hashing es una de las formas más rápidas de identificar archivos maliciosos.
Propósito: Un algoritmo de hashing (MD5, SHA1, SHA256) funciona como una "huella dactilar" única e inmutable del archivo. Son funciones de un solo sentido: es imposible predecir la entrada a partir de la salida.
Bases de Datos: Se utilizan bases de datos masivas (como VirusTotal) que almacenan los hashes de archivos maliciosos conocidos (listas de denegación).
Resultados: Si todos los motores antivirus marcan el hash como malo, es probable que lo sea. Si el hash es desconocido, puede ser un archivo nuevo y no se puede asumir que sea seguro.
Signatures
Las firmas digitales proporcionan garantías de integridad (el archivo no ha sido alterado) y autenticidad (quién creó el programa).
Mecanismo (Authenticode de Microsoft): El creador encripta el hash del programa con su clave privada. El usuario final descifra esta firma con la clave pública y verifica que coincida con el hash del programa que está ejecutando.
Cualquier modificación en el programa o en la firma invalida la verificación.
Verifying Signatures with Sigcheck.
La herramienta Sigcheck de Sysinternals permite verificar rápidamente la firma Authenticode.
Funcionalidades: Sigcheck verifica la firma, muestra detalles del desarrollador, genera varios formatos de hashes y puede consultar automáticamente los resultados de VirusTotal.
Incluso los archivos legítimos firmados por Microsoft, como calc.exe, pueden ser marcados falsamente por uno o dos motores de AV, demostrando que el AV es imperfecto.
¿Firmado Digitalmente Significa Significa Seguro?
Un atacante puede crear un binario malicioso firmado de las siguientes maneras:
Obtener un certificado y firmar su propio malware.
Robar el certificado de una empresa legítima y usarlo para firmar el malware (como ocurrió en el ataque NotPetya).
Crear una colisión de hash (posible en algoritmos débiles como MD5) para inyectar una firma válida en un programa malicioso.
Un archivo firmado es simplemente mucho menos probable que sea malicioso, pero no es una prueba definitiva de seguridad.
Investigación via Inspección Inspection
A menudo, la forma más rápida de obtener una respuesta es simplemente abrir el archivo y mirarlo. Los documentos de phishing suelen ser visualmente obvios.
Seguridad: La inspección visual debe realizarse de forma segura, utilizando una máquina virtual que pueda revertirse o un motor de detonación de malware en línea (sandbox como Cuckoo Sandbox).
Detectando Scripts Maliciosos
Los scripts maliciosos son a menudo fáciles de detectar:
Ofuscación: Los autores pasan los scripts por ofuscadores, lo que resulta en variables y funciones con nombres largos y aleatorios, diseñados para frustrar el análisis automatizado. Si un script recibido por correo electrónico está obfusificado, es un fuerte indicador de que es malicioso.
Contenido Mínimo: A veces, el script solo contiene el comando para descargar y ejecutar código adicional desde un URL, limitando el contenido que los scanners pueden analizar.
Archivos que contribuyes con un comportamiento Malicioso
Algunos archivos, como las imágenes, pueden utilizarse de forma indirecta para proporcionar instrucciones a un malware que ya está en ejecución.
Comunicaciones C2: El malware puede estar programado para descargar periódicamente una foto de una ubicación pública (ej., redes sociales) y analizarla en busca de instrucciones de Comando y Control (C2).
Ocultamiento de Datos: Esto se logra mediante esteganografía (codificación dentro de los datos de la imagen) o, de forma más sencilla, mediante la colocación de datos codificados (como enlaces Base64) en los campos de metadatos (como EXIF o la sección de comentarios).
Si se ejecuta strings en una imagen y se encuentra código JavaScript o secuencias de comandos, esto es un indicador inmediato de que algo anda mal, ya que no hay razón legítima para almacenar código en los metadatos de una imagen.
Sumario
Para determinar rápidamente si un archivo es sospechoso, se deben seguir estos pasos:
Considerar si el formato es conocido por ser portador habitual de exploits.
Comprobar el hash y la firma digital del archivo.
Evaluar qué características del formato están siendo abusadas (enlaces, archivos incrustados, macros, etc.).
Determinar de forma segura si estas características están en uso (mediante pruebas en sandbox o análisis estático).
Investigar cualquier artefacto encontrado, como URLs maliciosas, scripts obfusicados o archivos incrustados.
Nota sobre Ejecutables Empaquetados (Packed Executables):
Si al ejecutar strings en un ejecutable se encuentra muy poco contenido, es posible que esté "empaquetado" (packed). Esto significa que el malware está comprimido y se autoextrae en la memoria al ejecutarse. Para analizarlo, se debe ejecutar en un sandbox y extraer la memoria del proceso una vez que se ha desempaquetado, momento en el que las cadenas completas estarán disponibles.

No hay comentarios:
Publicar un comentario