En profundidad: Conoce de cerca la vulnerabilidad de día cero de MOVEit
En profundidad: Conoce de cerca la vulnerabilidad de día cero de MOVEit
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/65159bd095c79c37de1b3548_upclose.webp)
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/65159bd095c79c37de1b3548_upclose.webp)
Los ciberataques a la cadena de suministro de software son cada vez más frecuentes, lo que ha provocado una oleada de cambios legislativos en el gobierno estadounidense, mientras las empresas se esfuerzan por mitigar su perfil de riesgo expansivo y mejorar rápidamente la calidad del software. Sólo este año se han producido tres vulnerabilidades de día cero relacionadas con servicios de intercambio de archivos, la mayor y más destructiva de las cuales es el exploit masivo MOVEit.
Encabezado por el grupo de ransomware CL0P, el incidente MOVEit ha dominado las noticias de ciberseguridad durante algún tiempo, con más de 1.000 organizaciones afectadas. Se prevé que esta cifra siga creciendo, convirtiéndose en uno de los ataques a la cadena de suministro de software más potentes desde Solarwinds en 2021.
El catalizador de esta brecha generalizada fue un grupo de vulnerabilidades de inyección SQL, que recibió una puntuación de gravedad de 9,8 sobre 10 por parte de MITRE. La inyección SQL ha sido la pesadilla de los profesionales de la seguridad desde finales de los 90 y, a pesar de ser una solución bastante sencilla, sigue encontrando su camino en el software moderno y proporciona una alfombra roja a los datos sensibles para los actores de amenazas.
El escenario MOVEit es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, y usted puede probar sus habilidades SQLi-slaying en una simulación en vivo aquí:
>>> JUGAR LA MISIÓN MOVEit
La vulnerabilidad: Inyección SQL
¿Cómo se utilizó exactamente la inyección SQL para explotar la aplicación de transferencia de archivos MOVEit de Progress Software?
El grupo de ransomware CL0P fue capaz de explotar la vulnerabilidad de inyección SQL CVE-2023-34362, lo que les permitió acceder sin restricciones y sin autorización a la base de datos de MOVEit. A partir de ahí, pudieron instalar LEMURLOOT, una shell web que les permitiría ejecutar varios procesos críticos de alto riesgo, como la recuperación de la configuración del sistema, la enumeración de la base de datos SQL, la recuperación de archivos del sistema MOVEit Transfer y la creación de una nueva cuenta con todos los privilegios de administración.
Huelga decir que este vector de ataque puede ser el resultado de un error relativamente simple -que podría achacarse al uso perpetuo de patrones de codificación deficientes-, pero su potencial para causar problemas continuos a nivel empresarial es inmenso.
Comparable al exploit MOVEit, echemos un vistazo a este explicador de SQLi, que simula el método de inyección y ejecución de SQL malicioso:
Esta cadena de consulta y variable:
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
dará como resultado la siguiente consulta:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
... y con entrada maliciosa:
string emailAddress = "contact@scw.com'; DELETE FROM Facturas WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
se convertirá en:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
¿Cómo se ve en vuelo?
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/6516e415bc0043825ddb6d49_cd1.gif)
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/6516e42d0dd3163ae0b8e4bd_cd2.gif)
Tenga en cuenta que, debido a la concatenación de cadenas, la entrada se interpreta como sintaxis SQL. En primer lugar, se añade una comilla simple para asegurarse de que la sentencia SELECT es una sintaxis SQL válida. A continuación, se añade un punto y coma para terminar la primera sentencia.
Una vez hecho esto, se añade una sentencia DELETE válida, seguida de dos guiones para comentar los caracteres finales (la comilla simple). También se podría añadir una sentencia UPDATE, por ejemplo, si el SQL malicioso fuera para actualizar los roles o contraseñas de los usuarios.
Pruébalo tú mismo en esta misión jugable:
Aunque relativamente sencillo, SQLi sigue siendo un poderoso vector de ataque, y uno demasiado común. En el caso de MOVEit, este exploit dio paso a la instalación de una puerta trasera dañina y a un grupo de ataques adicionales de gravedad similar.
¿Cómo mitigar el riesgo de inyección SQL?
Para cualquier compañía que utilice MOVEit como parte de sus operaciones de negocio, es imperativo que sigan los consejos de remediación recomendados por Progress Software. Esto incluye, entre otras cosas, la aplicación de parches de seguridad como prioridad de emergencia.
Para la inyección SQL en general, echa un vistazo a nuestra guía completa.
¿Quieres aprender más acerca de cómo escribir código seguro y mitigar el riesgo? Pruebe nuestro desafío de inyección SQL de forma gratuita.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach para ayudarle a mantenerse al día de las mejores prácticas de codificación segura.
Recursos para empezar
Agente fiduciario de Secure Code Warrior
Descubra SCW Trust Agent, una solución innovadora diseñada para mejorar la seguridad alineando los conocimientos y habilidades de código seguro de los desarrolladores con el trabajo que envían. Proporciona una visibilidad y unos controles exhaustivos de todo el repositorio de código de una organización, analizando cada confirmación en función de los perfiles de código seguro de los desarrolladores. Con SCW Trust Agent, las organizaciones pueden reforzar su postura de seguridad, optimizar los ciclos de vida de desarrollo y ampliar la seguridad impulsada por los desarrolladores.
Puntuación de confianza por Secure Code Warrior
Descubra SCW Trust Score, una referencia pionera en el sector que le ayudará a medir la eficacia de su programa de seguridad. Compárelo con sus homólogos del sector, optimice su postura de seguridad y tome decisiones basadas en datos para mejorar la seguridad del software.
Recursos para empezar
Las mujeres en la seguridad están ganando: Cómo la AWSN está creando una nueva generación de supermujeres de la seguridad
Secure-by-Design es la última iniciativa en boca de todos, y el gobierno australiano, colaborando con CISA en los niveles más altos de la gobernanza mundial, está orientando un estándar más alto de calidad y seguridad del software por parte de los vendedores.
Las mujeres en la seguridad están ganando: Cómo la AWSN está creando una nueva generación de supermujeres de la seguridad
Secure-by-Design es la última iniciativa en boca de todos, y el gobierno australiano, colaborando con CISA en los niveles más altos de la gobernanza mundial, está orientando un estándar más alto de calidad y seguridad del software por parte de los vendedores.
SCW Trust Agent: visibilidad y control para ampliar la seguridad impulsada por los desarrolladores
SCW Trust Agent, presentado por Secure Code Warrior, ofrece a los responsables de seguridad la visibilidad y el control necesarios para ampliar la seguridad impulsada por los desarrolladores dentro de las organizaciones. Al conectarse a los repositorios de código, evalúa los metadatos de commit del código, inspecciona a los desarrolladores, los lenguajes de programación utilizados y las marcas de tiempo de envío para determinar los conocimientos de seguridad de los desarrolladores.
¿Está preparado su programa de seguridad para el Plan Estratégico de Ciberseguridad de CISA?
El Plan Estratégico de Ciberseguridad impulsa cambios importantes en la forma en que la mayoría de las organizaciones abordan la ciberseguridad, y los desarrolladores se encuentran en una posición única para ayudar a alcanzar esos nuevos objetivos.
En profundidad: Conoce de cerca la vulnerabilidad de día cero de MOVEit
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/65159bd095c79c37de1b3548_upclose.webp)
Los ciberataques a la cadena de suministro de software son cada vez más frecuentes, lo que ha provocado una oleada de cambios legislativos en el gobierno estadounidense, mientras las empresas se esfuerzan por mitigar su perfil de riesgo expansivo y mejorar rápidamente la calidad del software. Sólo este año se han producido tres vulnerabilidades de día cero relacionadas con servicios de intercambio de archivos, la mayor y más destructiva de las cuales es el exploit masivo MOVEit.
Encabezado por el grupo de ransomware CL0P, el incidente MOVEit ha dominado las noticias de ciberseguridad durante algún tiempo, con más de 1.000 organizaciones afectadas. Se prevé que esta cifra siga creciendo, convirtiéndose en uno de los ataques a la cadena de suministro de software más potentes desde Solarwinds en 2021.
El catalizador de esta brecha generalizada fue un grupo de vulnerabilidades de inyección SQL, que recibió una puntuación de gravedad de 9,8 sobre 10 por parte de MITRE. La inyección SQL ha sido la pesadilla de los profesionales de la seguridad desde finales de los 90 y, a pesar de ser una solución bastante sencilla, sigue encontrando su camino en el software moderno y proporciona una alfombra roja a los datos sensibles para los actores de amenazas.
El escenario MOVEit es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, y usted puede probar sus habilidades SQLi-slaying en una simulación en vivo aquí:
>>> JUGAR LA MISIÓN MOVEit
La vulnerabilidad: Inyección SQL
¿Cómo se utilizó exactamente la inyección SQL para explotar la aplicación de transferencia de archivos MOVEit de Progress Software?
El grupo de ransomware CL0P fue capaz de explotar la vulnerabilidad de inyección SQL CVE-2023-34362, lo que les permitió acceder sin restricciones y sin autorización a la base de datos de MOVEit. A partir de ahí, pudieron instalar LEMURLOOT, una shell web que les permitiría ejecutar varios procesos críticos de alto riesgo, como la recuperación de la configuración del sistema, la enumeración de la base de datos SQL, la recuperación de archivos del sistema MOVEit Transfer y la creación de una nueva cuenta con todos los privilegios de administración.
Huelga decir que este vector de ataque puede ser el resultado de un error relativamente simple -que podría achacarse al uso perpetuo de patrones de codificación deficientes-, pero su potencial para causar problemas continuos a nivel empresarial es inmenso.
Comparable al exploit MOVEit, echemos un vistazo a este explicador de SQLi, que simula el método de inyección y ejecución de SQL malicioso:
Esta cadena de consulta y variable:
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
dará como resultado la siguiente consulta:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
... y con entrada maliciosa:
string emailAddress = "contact@scw.com'; DELETE FROM Facturas WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
se convertirá en:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
¿Cómo se ve en vuelo?
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/6516e415bc0043825ddb6d49_cd1.gif)
![](https://cdn.prod.website-files.com/5fec9210c1841a6c20c6ce81/6516e42d0dd3163ae0b8e4bd_cd2.gif)
Tenga en cuenta que, debido a la concatenación de cadenas, la entrada se interpreta como sintaxis SQL. En primer lugar, se añade una comilla simple para asegurarse de que la sentencia SELECT es una sintaxis SQL válida. A continuación, se añade un punto y coma para terminar la primera sentencia.
Una vez hecho esto, se añade una sentencia DELETE válida, seguida de dos guiones para comentar los caracteres finales (la comilla simple). También se podría añadir una sentencia UPDATE, por ejemplo, si el SQL malicioso fuera para actualizar los roles o contraseñas de los usuarios.
Pruébalo tú mismo en esta misión jugable:
Aunque relativamente sencillo, SQLi sigue siendo un poderoso vector de ataque, y uno demasiado común. En el caso de MOVEit, este exploit dio paso a la instalación de una puerta trasera dañina y a un grupo de ataques adicionales de gravedad similar.
¿Cómo mitigar el riesgo de inyección SQL?
Para cualquier compañía que utilice MOVEit como parte de sus operaciones de negocio, es imperativo que sigan los consejos de remediación recomendados por Progress Software. Esto incluye, entre otras cosas, la aplicación de parches de seguridad como prioridad de emergencia.
Para la inyección SQL en general, echa un vistazo a nuestra guía completa.
¿Quieres aprender más acerca de cómo escribir código seguro y mitigar el riesgo? Pruebe nuestro desafío de inyección SQL de forma gratuita.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach para ayudarle a mantenerse al día de las mejores prácticas de codificación segura.
Recursos para empezar
Las mujeres en la seguridad están ganando: Cómo la AWSN está creando una nueva generación de supermujeres de la seguridad
Secure-by-Design es la última iniciativa en boca de todos, y el gobierno australiano, colaborando con CISA en los niveles más altos de la gobernanza mundial, está orientando un estándar más alto de calidad y seguridad del software por parte de los vendedores.
SCW Trust Agent: visibilidad y control para ampliar la seguridad impulsada por los desarrolladores
SCW Trust Agent, presentado por Secure Code Warrior, ofrece a los responsables de seguridad la visibilidad y el control necesarios para ampliar la seguridad impulsada por los desarrolladores dentro de las organizaciones. Al conectarse a los repositorios de código, evalúa los metadatos de commit del código, inspecciona a los desarrolladores, los lenguajes de programación utilizados y las marcas de tiempo de envío para determinar los conocimientos de seguridad de los desarrolladores.
Agente fiduciario de Secure Code Warrior
Descubra SCW Trust Agent, una solución innovadora diseñada para mejorar la seguridad alineando los conocimientos y habilidades de código seguro de los desarrolladores con el trabajo que envían. Proporciona una visibilidad y unos controles exhaustivos de todo el repositorio de código de una organización, analizando cada confirmación en función de los perfiles de código seguro de los desarrolladores. Con SCW Trust Agent, las organizaciones pueden reforzar su postura de seguridad, optimizar los ciclos de vida de desarrollo y ampliar la seguridad impulsada por los desarrolladores.