User Agent en el Análisis Forense
User-Agent (UA) es una cadena de texto que forma parte de las cabeceras HTTP enviadas por un cliente (típicamente un navegador web) al realizar una petición a un servidor. Esta cadena contiene información que permite identificar el sistema operativo, la arquitectura, el motor de renderizado, y el navegador —junto con su versión específica— utilizado por el cliente.
Desde una perspectiva forense, el User-Agent representa una huella digital volátil pero crítica del entorno del usuario en el momento de la conexión. Su análisis permite:
Perfilar el sistema cliente (ej. Windows 10 x64, navegador Chrome 135),
Correlacionar eventos en múltiples registros y artefactos (proxy logs, access logs, .pcap),
Detectar automatización o herramientas sospechosas (como curl, python-requests o malware con UA estáticos),
Identificar intentos de evasión o spoofing, donde un atacante modifica el UA para ocultar su entorno real o hacerse pasar por un cliente legítimo.
Figura Nº 1 Ejemplo de User Agent
Cada segmento de esta cadena aporta datos clave que, bien interpretados, permiten extraer conclusiones relevantes en un análisis forense:
Mozilla/5.0
Este fragmento es un token heredado que hoy en día forma parte estándar de la mayoría de los navegadores modernos. Originalmente hacía referencia al navegador Netscape/Mozilla, pero en la actualidad su presencia responde únicamente a razones de compatibilidad con servidores que esperan este prefijo. No implica que el navegador en uso sea Firefox o derivados.(Windows NT 10.0; Win64; x64)
Este bloque describe el sistema operativo y la arquitectura del cliente. En este caso, se trata de Windows 10, en una arquitectura de 64 bits. Esta información es sumamente útil en contextos forenses: permite vincular patrones de actividad a un entorno específico, detectar inconsistencias o reforzar hipótesis de atribución a nivel de host.AppleWebKit/537.36 (KHTML, like Gecko)
Aquí se identifica el motor de renderizado utilizado por el navegador. AppleWebKit es el motor que impulsa a navegadores como Chrome y Safari, mientras que KHTML, like Gecko se incluye para mantener compatibilidad con sitios que esperan motores del tipo Gecko (usado por Firefox). La presencia de este bloque indica que el navegador es probablemente Chromium-based.Chrome/135.0.0.0
Este es el componente más crítico para la evaluación forense: indica el navegador y su versión exacta. Conocer que se utilizó Google Chrome versión 135 permite, por ejemplo, verificar si esa versión tenía vulnerabilidades conocidas (CVE), y evaluar si el cliente pudo haber sido comprometido mediante un exploit activo en el momento de la conexión.Safari/537.36
Este identificador es usado por navegadores basados en Chromium para evitar bloqueos o limitaciones en sitios que esperan características de Safari. Aunque el navegador no sea Safari, incluir esta cadena es una técnica común para mejorar la compatibilidad web.
Extracción directa del User-Agent desde la consola del navegador
Una forma rápida y efectiva de obtener el User-Agent de un sistema durante un análisis en vivo (live forensics) es ejecutando el siguiente comando JavaScript desde la consola del navegador:
navigator.userAgent
Como se observa en la imagen, esta instrucción devuelve la cadena completa que representa el entorno de ejecución del navegador al momento de la consulta. Este método es especialmente útil cuando se tiene acceso físico o remoto a la sesión de un sospechoso en tiempo real, ya que:
No requiere herramientas externas ni acceso a archivos de log.
Permite documentar el entorno del navegador tal como lo ve el propio usuario.
Facilita la identificación del sistema operativo, arquitectura y tipo de navegador utilizado.
Sin embargo, es importante tener en cuenta que esta cadena puede haber sido modificada manualmente o por extensiones del navegador, por lo que siempre debe corroborarse con otros indicadores como fingerprints del sistema, logs de servidor o datos de red capturados por herramientas como Zeek o Wireshark.
Spoofing del User-Agent: demostración práctica
Una de las limitaciones clave del análisis forense del User-Agent es su facilidad de manipulación. En esta demostración, se ha lanzado manualmente Google Chrome desde la línea de comandos con un User-Agent falsificado utilizando el siguiente argumento:
chrome.exe --user-agent="FakeAgent/1.0"
Figura Nº 3 Spoofing del User-Agent
Como se aprecia en la primera imagen, esta instrucción se ejecuta desde una máquina Windows 10, específicamente en un entorno de laboratorio (FLARE-VM).
Figura Nº 4 Fake User-Agent
Este resultado confirma que el navegador ha sobrescrito completamente la cadena original del User-Agent, ocultando detalles reales como el sistema operativo, arquitectura, motor de renderizado y versión del navegador.
En una investigación forense digital, el User-Agent se utiliza para identificar el tipo de dispositivo, sistema operativo y navegador que usó un cliente al conectarse a un servidor.
Esta información permite reconstruir el contexto de una conexión web, detectar accesos sospechosos, y diferenciar usuarios reales de bots o herramientas automatizadas. Además, si se repiten ciertos User-Agents en los logs, pueden servir para correlacionar actividades entre distintos eventos.
Repito que aunque es fácil de falsificar, su análisis combinado con otros datos como la IP, la hora de conexión y los patrones de navegación puede ayudar a confirmar o descartar hipótesis durante un análisis forense.