Unirme a CiberInsider

File Upload Vulnerability: Sube un archivo y controla el servidor

Índice

En este artículo te mostraré qué es la vulnerabilidad file upload, cómo funciona, cuál es su impacto y cómo puedes explotarla en un laboratorio práctico.

Para comenzar, voy a a explicarte…

¿Qué es la vulnerabilidad file upload?

La vulnerabilidad de file upload o subida de archivos ocurre cuando una aplicación permite a los usuarios subir archivos sin las validaciones adecuadas. Esto puede permitir a un atacante cargar archivos maliciosos, como scripts ejecutables, que pueden comprometer el servidor. Depende de lo que la aplicación haga con el archivo subido y, sobre todo, de dónde se almacene.

¿Qué impacto tiene la vulnerabilidad file upload?

El impacto de esta vulnerabilidad es alto, ya que el código potencialmente puede ejecutarse en el servidor o en el lado del cliente. Dando así acceso a distintas vulnerabilidades.

Es decir, la vulnerabilidad de file upload también puede ser el punto de entrada para otras vulnerabilidades. Un archivo malicioso puede desencadenar ataques del lado del servidor, como la ejecución de comandos arbitrarios, o del lado del cliente, como XSS. La posibilidad de cargar archivos sin ningún tipo de restricción amplía la superficie de ataque, exponiendo el sistema a múltiples riesgos adicionales.

Ataques en el lado del servidor en la vulnerabilidad file upload

Un ejemplo común de ataque del lado del servidor es la carga de una web shell, algo que hemos visto muchas veces en laboratorios prácticos en el canal. Esto ocurre cuando un atacante sube un archivo malicioso, como un script PHP, ASPX o JSP, que luego puede ejecutar comandos arbitrarios en el servidor comprometido.

Una vez que la web shell es subida, el atacante puede:

  • Navegar por el sistema de archivos, buscando credenciales, configuraciones o datos sensibles.
  • Ejecutar comandos maliciosos, lo que le permite realizar movimientos laterales dentro de la red.
  • Modificar o eliminar archivos críticos, alterando la integridad del sistema.
  • Crear usuarios y puertas traseras, garantizando acceso persistente incluso si la vulnerabilidad original se corrige.

Este tipo de ataque puede llevar al control total del servidor y a la exfiltración de datos. Sin embargo, la simple subida de un archivo malicioso no es suficiente para que el ataque funcione. Para que la web shell pueda ejecutarse, deben cumplirse ciertas condiciones, una de ellas por ejemplo, es que..

  • El servidor debe permitir la ejecución de código en el directorio donde se almacena el archivo subido.

En muchos casos, cuando la ejecución directa no es posible, los atacantes combinan este ataque con Local File Inclusion (LFI) para forzar la ejecución del archivo malicioso.

Sin ir más lejos, el vector principal de ataque de la vulnerabilidad crítica que encontré en los sistemas de la NASA fue el file upload, con el que junto a un LFI, pude lograr ejecutar comandos a nivel de sistema en el servidor.

Ataques en el lado del cliente

Ahora pasamos a los ataques del lado del cliente, los que afectan directamente a los usuarios que interactúan con la aplicación web, en lugar de comprometer el servidor.

  • Subir archivos maliciosos puede hacer que la web sea vulnerable a ataques como Cross-Site Scripting (XSS). Este ataque en el contexto de la vulnerabilidad de subida de archivo, ocurre cuando un atacante sube un archivo que contiene código malicioso, normalmente javascript que son ejecutados en el navegador. Por ejemplo, si un atacante carga un archivo HTML o SVG que contiene código JavaScript, este código se ejecutará en el navegador cuando el archivo sea procesado o visualizado.

Otros riesgos asociados a la subida de archivos

Otros riesgos asociados a la subida de archivo, pueden ser:

  • Alojar una página de phishing en la web o modificar su apariencia.
  • Archivos sensibles subidos podrían ser accesibles por personas no autorizadas.
  • Los módulos de subida de archivos pueden revelar información interna, como rutas del servidor, en mensajes de error.

o el servidor de almacenamiento de archivos podría ser utilizado para alojar contenido malicioso, como malware, software ilegal o material para adultos. También podrían contener comandos de control para redes de malware, mensajes de violencia o acoso, o datos ocultos mediante esteganografía, que pueden ser utilizados por organizaciones criminales.

En el último podcast con cibercapitán, comentó que ahora los cibercriminales, hackeaban tu web, te configuraban correctamente el correo electrónico para pasar los filtros de seguridad y desde el dominio hackeado, enviaban campañas haciéndose pasar por una empresa legítima.

Si estás interesado en el episodio del podcast, te lo dejo por aquí.

Laboratorio práctico vulnerabilidad file upload

Únete a CiberInsider y  prepárate para dar el primer paso a conseguir tu empleo en ciberseguridad

Al suscribirte, aceptas la política de privacidad de rinku.tech y recibir noticias, contenidos, comunicaciones relacionados con la web, gratuitos y premium.

Clase gratuita ciberseguridad
CLASE GRATUITA
Descubre cómo conseguir tu primer trabajo en ciberseguridad para asegurar tu futuro profesional en un sector en pleno crecimiento y con muy buen salario