Puntos clave
- ¿Qué es la RCE?: la RCE es un ciberataque en el que actores maliciosos ejecutan código dañino en tu infraestructura informática de forma remota, sin necesidad de tener acceso previo al sistema atacado.
- Vulnerabilidades que explota la RCE: los atacantes suelen aprovechar fallos de inyección, desbordamientos de búfer, deserialización insegura y funciones de subida de archivos poco seguras para ejecutar código sin autorización en sistemas conectados a la red.
- Riesgos y consecuencias de los ataques RCE: una vez dentro de tu red, la RCE permite desplegar ransomware, robar credenciales, sustraer datos confidenciales y destruir sistemas completos sin necesidad de acceso físico.
- Protección frente a ataques RCE: para protegerte de la RCE hay que aplicar parches con regularidad, desplegar EDR y firewalls, realizar pruebas de penetración y utilizar herramientas de análisis de código estático y dinámico.
- Respuesta ante un ataque RCE: contén la brecha de inmediato, evalúa los daños, elimina el malware, revierte los cambios no autorizados, restaura a partir de copias de seguridad limpias y parchea la vulnerabilidad explotada para evitar que vuelva a ocurrir.
La ejecución remota de código (RCE) se produce cuando un atacante ejecuta código malicioso en tu infraestructura informática. Los objetivos de la RCE van desde infiltrarse más a fondo en tu red hasta robar información o, de un modo u otro, dañar, extorsionar o robar a tu empresa. Por eso es fundamental proteger tus equipos y tu red frente a los ataques RCE.
En este artículo te explicamos qué es la ejecución remota de código y cómo afecta la RCE a tu negocio. También verás los mecanismos que se utilizan para explotar tu infraestructura, los riesgos potenciales y las estrategias de prevención de la RCE que deberías aplicar.
Descubre «¿Qué es la ejecución remota de código (RCE)?» en la práctica. Mira esta breve guía en vídeo.
Identifica y corrige el software sin parchear con exploits de RCE conocidos.
¿Qué es la ejecución remota de código (RCE)?
La RCE son ataques que se realizan de forma remota mediante código malicioso que se infiltra en tu infraestructura informática. La idea clave detrás de la RCE es que no se necesita ningún nivel de acceso previo para que el exploit funcione, a diferencia de los ataques de ejecución local de código (LCE), en los que el atacante ya cuenta con cierto nivel de privilegios de usuario en el sistema.
Nota: tanto los ataques de ejecución de código RCE como los LCE se conocen como ejecución de código arbitrario (ACE).
Así funcionan los ataques de ejecución remota de código (RCE)
Los ataques RCE aprovechan vulnerabilidades de tu infraestructura de red, de tus sistemas informáticos o de tus aplicaciones web para ejecutar código malicioso en máquinas conectadas a la red. Una vez identificada una vulnerabilidad que permite la ejecución remota de código, puede usarse para realizar acciones maliciosas y dejar tu red aún más expuesta a ciberataques.
Tipos de vulnerabilidades que puede explotar la RCE
Estas son algunas de las vulnerabilidades y técnicas de explotación que los atacantes utilizan habitualmente para llevar a cabo con éxito un ataque RCE contra tu infraestructura:
- Ataques por vulnerabilidades de inyección: también conocidos como inyección de comandos y de código, este ataque puede derivar en la ejecución remota de código cuando la entrada de datos no se depura correctamente (por ejemplo, cuando los datos introducidos en formularios web se emplean para ejecutar comandos de shell o sentencias SQL).
- Desbordamiento de búfer o escritura fuera de límites: un desbordamiento de búfer se produce cuando se escriben en un búfer (una zona de la memoria del equipo donde se almacenan datos temporales) más datos de los que puede contener, lo que sobrescribe los datos existentes de la aplicación en ejecución. Si esos nuevos datos incluyen código malicioso, el sistema remoto puede llegar a ejecutarlo.
- Deserialización: la serialización y deserialización es el proceso de convertir datos en cadenas de caracteres para su transmisión. Si los datos que se pasan al programa encargado de la deserialización contienen código malicioso, el programa puede ejecutarlo si no aplica una validación o depuración adecuadas.
- Gestión de archivos: algunas aplicaciones web permiten a los usuarios subir archivos a un servidor. Los atacantes pueden acceder a ese servidor y subir archivos maliciosos que la aplicación podría ejecutar.
- Inyección de comandos y de código: la inyección de comandos y de código puede derivar en la ejecución remota de código cuando la entrada de datos no se depura correctamente (por ejemplo, cuando los datos introducidos en formularios web se emplean para ejecutar comandos de shell o sentencias SQL).
Cualquier software conectado a la red es vulnerable a la RCE, y por eso es importante implantar medidas sólidas de seguridad informática para protegerte a ti y a tu organización de los incidentes de ciberseguridad.
Cómo pueden utilizar los atacantes la RCE
La RCE permite a los hackers potenciar las ciberamenazas más habituales. Estas son algunas formas en las que los atacantes pueden usar la RCE para hacer sus ciberataques más peligrosos:
- Acceso remoto no autorizado: la RCE permite a los atacantes establecer un primer punto de entrada en la red corporativa. Una vez dentro, pueden ampliar su alcance de forma remota. Por ejemplo, pueden recopilar credenciales de inicio de sesión para infiltrarse en sistemas internos a través de una VPN u otros puntos de acceso.
- Despliegue de malware: aunque los exploits de RCE permiten ejecutar código, el alcance de lo que se puede ejecutar suele estar limitado. Para sortear esas limitaciones, los ciberdelincuentes recurren con frecuencia a la RCE como vía de entrega de cargas útiles más sofisticadas y destructivas (por ejemplo, desplegando ransomware directamente en un sistema comprometido).
- Robo de datos: al ejecutar comandos dentro de una aplicación vulnerable, los atacantes pueden acceder sin autorización a sistemas de archivos, bases de datos y otros repositorios que contienen información confidencial de la empresa y de los clientes.
- Destrucción de datos: la RCE puede dar a los atacantes el mismo nivel de acceso al sistema que a un usuario legítimo, lo que les permite borrar archivos, ejecutar comandos destructivos en el terminal o lanzar instrucciones de base de datos que eliminan de forma permanente registros críticos.
- Ataques de denegación de servicio (DoS): las vulnerabilidades de escritura fuera de límites pueden explotarse para sobrescribir código esencial y provocar el fallo de las aplicaciones. En un sentido más amplio, la RCE puede usarse para terminar procesos a la fuerza o eliminar datos esenciales, lo que interrumpe o paraliza la actividad del negocio.
Estrategias de detección y prevención de vulnerabilidades RCE
Para proteger de forma eficaz tu infraestructura informática y tus datos, y garantizar la continuidad del negocio, conviene tomar medidas activas frente a los ataques RCE, como desplegar detección y respuesta de endpoints (EDR) junto con protecciones a nivel de red, como firewalls, para evitar que un atacante obtenga más acceso si logra explotar una RCE.
Deberías evaluar periódicamente tus posibles vulnerabilidades de ciberseguridad y asegurarte de que tu software esté siempre actualizado para protegerte de exploits de RCE ya conocidos en el software del que dependes. Si utilizas software heredado o sin parchear, conviene restringir su acceso a la red para que no pueda servir de puerta de entrada a tus sistemas. También deberías desplegar una solución de monitorización de red que avise a tu equipo informático de cualquier actividad sospechosa, lo que ayuda a protegerte frente a los ataques de día cero.
Si desarrollas tu propio software internamente, deberías revisar con regularidad tu código y sus dependencias en busca de vulnerabilidades RCE. Las herramientas de análisis estático de código te ayudan a localizar problemas en tu software al identificar código potencialmente inseguro (por ejemplo, funciones que permiten pasar código sin depurar a la shell). También puedes usar herramientas de análisis dinámico para examinar tus aplicaciones compiladas y en ejecución e identificar vulnerabilidades que el análisis estático podría pasar por alto.
Conviene realizar pruebas de penetración de forma periódica para simular ataques y descubrir posibles vulnerabilidades de ejecución remota de código y otras debilidades de ciberseguridad, además de comprobar que las soluciones de monitorización y registro que tienes implantadas son capaces de detectar un ataque en curso.
Riesgos y consecuencias potenciales de la RCE
La ejecución remota de código no requiere acceso físico y, sin una monitorización y unas medidas de seguridad adecuadas, puede pasar desapercibida. Estos son los riesgos de un ataque RCE que tenga éxito contra la infraestructura informática de tu empresa:
- Mayor infiltración en tus sistemas: una vez establecido un punto de entrada, los actores maliciosos pueden ampliar su acceso a tus sistemas. Por ejemplo, un servidor web expuesto a internet y comprometido puede servir para acceder a los activos informáticos internos con los que se conecta, aunque estén protegidos por firewalls y no sean accesibles públicamente.
- Acceso a datos confidenciales o protegidos: la información comercial propia y los datos que procesas y almacenas sobre tus usuarios, incluida la información personal identificable (PII), pueden ser enormemente valiosos para los atacantes y usarse para extorsionar a tu empresa o a tus clientes. Las filtraciones de PII dañan la reputación de tu negocio y también pueden tener consecuencias legales en virtud de normativas de privacidad como el RGPD y la CCPA.
- Despliegue de malware (incluidos rootkits): en cuanto es posible ejecutar código en un sistema remoto, ese acceso puede servir para instalar malware, como rootkits que mantienen el acceso persistente y puertas traseras, troyanos para exfiltrar datos y ransomware que te impide acceder a tus archivos (e incluso puede hacer públicos sus contenidos) a menos que pagues al atacante.
Las interrupciones que provocan los ataques de ciberseguridad pueden poner en riesgo la supervivencia de una empresa. Perder datos operativos o quedar expuesto a responsabilidades por el uso indebido de datos regulados ha obligado a muchos negocios a cerrar.
Ejemplos reales de ataques RCE
Hay varios casos destacados que muestran lo que puede ocurrir si una empresa no toma medidas suficientes para protegerse de las ciberamenazas. La filtración de datos de Equifax de 2017 se originó por un exploit de RCE en el framework web Apache Struts, que dejó al descubierto la información personal de más de 140 millones de personas. Esto supuso 1.400 millones de dólares en costes para Equifax, la rebaja de su calificación financiera y un acuerdo de 1.380 millones de dólares con los usuarios afectados.
En 2021, varios exploits de día cero permitieron la ejecución remota de código en Exchange Server de Microsoft, lo que permitió a los hackers robar datos e instalar puertas traseras en los sistemas. El resultado fueron miles de filtraciones de datos en todo el mundo entre las organizaciones que usaban esta plataforma de correo (cuyo impacto real quizá nunca se conozca) y un daño reputacional considerable.
Una vulnerabilidad RCE muy conocida que afectó a múltiples productos y plataformas de software y se explotó de forma masiva es Log4shell, en Log4j. Este software se utiliza en millones de sistemas y, dada la facilidad con la que podía explotarse, dio lugar a ataques RCE contra el software de un gran número de proveedores que dependían de la utilidad de registro Log4j en sus productos comerciales y herramientas internas.
Respuesta y mitigación ante un ataque RCE
Debes contar con políticas y mecanismos para hacer frente a un ataque RCE que tenga éxito contra tu empresa. Esto incluye formar a los empleados para que reconozcan incidentes de ciberseguridad y sepan reaccionar, además de monitorización y alertas (incluidos sistemas de detección de intrusiones) para que, si se produce un ataque, puedas actuar de inmediato.
Una vez contenido el ataque, hay que evaluar el impacto, examinar tus sistemas y eliminar cualquier amenaza que siga presente. Esto implica revertir todos los cambios realizados por el código malicioso, lo que incluye eliminar el malware y deshacer cualquier cambio de configuración que se haya hecho para crear una puerta trasera en tus sistemas.
La copia de seguridad y la recuperación ante desastres son clave en este punto: es posible que puedas volver a un estado correcto conocido previo al ataque, lo que acelera mucho la recuperación. Si eso no es posible, puedes comparar configuraciones y archivos para identificar qué consiguió hacer el atacante. En caso de un ataque de ransomware derivado de una RCE, poder restaurar a partir de una copia de seguridad puede ser la única forma de garantizar la continuidad del negocio.
Cuando el ataque se haya detenido y corregido, conviene hacer un análisis posterior exhaustivo: identificar el vector de ataque y parchear o proteger la vulnerabilidad utilizada. También hay que revisar el tiempo de respuesta y el impacto del ataque, y actualizar si es necesario las políticas y procesos empleados para mitigarlo.
Descubre «¿Qué es la ejecución remota de código (RCE)?» en la práctica. Mira esta breve guía en vídeo.
Parchea, monitoriza y haz copias de seguridad de todos tus endpoints para evitar que los ciberdelincuentes exploten vulnerabilidades RCE.
Protección frente a la ejecución remota de código a escala empresarial
Un ataque RCE u otro ciberataque que tenga éxito contra la infraestructura informática de tu organización puede ser catastrófico y generar costes imprevistos y consecuencias legales difíciles de superar. Con una infraestructura informática cada vez más compleja, con múltiples plataformas de software alojadas en una combinación híbrida de infraestructura local y cloud, es importante tener visibilidad total de tu superficie de ataque.
NinjaOne ofrece una solución de monitorización y gestión remota (RMM) que te permite gestionar todos tus endpoints y tu infraestructura informática, dondequiera que estén, para que puedas tomar medidas proactivas frente a los ataques de ejecución remota de código e identificar comportamientos sospechosos que puedan indicar un ataque en curso.
