Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-46398 — Una prueba de concepto para la explotación de la vulnerabilidad CVE-2021-46398. | Kitploit
Herramientas/GitHubGitHub/laliea/cve-2021-46398
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPhishingAprendizaje y EducaciónLabs y PrácticaArchived
GitHublaliea/cve-2021-46398

CVE-2021-46398

Una prueba de concepto para la explotación de la vulnerabilidad CVE-2021-46398.

Ver Repositorio
hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2021-46398 - Lalie ARNOUD, Gaspard ANDRIEU

En este repositorio encontrarás una prueba de concepto de la explotación de la falla CVE-2021-46398 a través de un docker compose, así como un análisis de los impactos de esta falla en los sistemas de información.

root@kitploit:~
# Exploit Title: FileBrowser 2.17.2 - Cross Site Request Forgery (CSRF) to Remote Code Execution (RCE)
# Date: 05/02/2022
# Exploit Author: FEBIN MON SAJI
# Vendor Homepage: https://filebrowser.org/
# Software Link: https://github.com/filebrowser/filebrowser
# Version:
    FileBrowser <= 2.17.2
# Tested on: Ubuntu 20.04
# CVE : CVE-2021-46398

¿Qué es FileBrowser?

Según el sitio web de FileBrowser, FileBrowser es un popular software del tipo "crea tu propia nube" que puedes instalar en un servidor, apuntarlo a una ruta y luego acceder a tus archivos a través de una agradable interfaz web desarrollada en el lenguaje Go, con muchas funciones. Es un poco como Google Drive, excepto que cada uno puede poseer y alojar su propia instancia.

Descripción de la falla

Los administradores de FileBrowser pueden crear múltiples usuarios, incluso otro usuario con privilegios de administrador, y dar acceso a cualquier directorio que deseen. La creación de usuarios se maneja mediante un endpoint /api/users. El endpoint acepta entradas en formato JSON para crear usuarios, pero no verifica la cabecera Content-Type HTTP, cuyo valor debería ser application/json, sino que acepta text/plain; y ahí es donde surge la vulnerabilidad. Además, el Origin no se valida y tampoco hay implementados tokens anti-CSRF. Por lo tanto, un atacante puede explotar fácilmente esta vulnerabilidad para crear un usuario backdoor con privilegios de administrador y acceso al directorio de inicio o al directorio al que el atacante quiera acceder, simplemente enviando la URL de una página web maliciosa al administrador legítimo y acceder a todo el sistema de archivos del servidor (más explicación de este proceso en la sección de demostración).

Además, un administrador puede ejecutar comandos en el sistema, por lo que esta vulnerabilidad conduce a un RCE.

Aquí hay un diagrama de secuencia que resume el proceso de ataque (Alice es la hacker y Bob es el administrador y anfitrión de la instancia de FileBrowser):

root@kitploit:~
sequenceDiagram
Alice (hacker) ->> Alice (hacker): *Maliciously creates the malicious HTML page*
Alice (hacker) ->> Bob (admin): Here is a cool page! You must check that bro!
Bob (admin) ->> Alice (hacker): Thanks dude, let's open that!
Bob (admin) ->> Bob (admin): *Opens the page thinking it's something cool*
Bob (admin) -->> FileBrowser: *Sends a request to create a user without knowing it*
FileBrowser -->> FileBrowser: *Creates a new admin privileged user as requested*
Alice (hacker) ->> FileBrowser: Eheheh Bob is so dumb! *Connect to FileBrowser with the backdoor user*
FileBrowser ->> Alice (hacker): *Accept Alice connection with the new user created*
Alice (hacker) ->> FileBrowser: *Request shell access to FileBrowser with the appropriate button then makes sytem calls on Bob's computer*

Demostración de la falla de seguridad

El objetivo de esta demostración es montar una mini-arquitectura compuesta por dos/tres máquinas:

  • tu ordenador personal como el ordenador del administrador de FileBrowser por un lado, y como el atacante por otro lado.
  • un contenedor Docker vulnerable que simula un servidor FileBrowser remoto.

Es una arquitectura realmente simplificada cuyo objetivo es resaltar el aspecto técnico de la falla.

Lanzamiento de la imagen de la máquina vulnerable

Para este experimento, solo necesitarás docker.

En esta configuración, la máquina objetivo se basa en una imagen de FileBrowser v2.17.2 (que es vulnerable a esta falla), en la que la única cuenta de FileBrowser es la cuenta de administrador que tiene admin/admin como usuario/contraseña.

Lanzamiento de la máquina objetivo:

root@kitploit:~
mkdir srv && docker compose up

Explotación

Crear la página web maliciosa

Desde el lado del atacante, la página web maliciosa nos permitirá ejecutar la llamada a la API de FileBrowser y crear nuestro usuario backdoor desde el ordenador del administrador.

En este repositorio se proporciona un ejemplo de dicha página con el nombre index.html. Es una página HTML simple con un formulario oculto que realiza una solicitud POST al endpoint /api/users de FileBrowser con el payload en el atributo name del input. Este payload crea un usuario con privilegios de administrador cuyo login es "oui" y contraseña "oui", y se activa cuando se hace clic en el botón.

Obviamente podríamos haber creado una página más bonita y atractiva que esta y ocultar el envío de la solicitud HTTP en otro elemento del sitio web; es solo para que puedas ver el aspecto técnico de la explotación de la falla. ¡Recuerda que el objetivo de esta página web maliciosa es que el administrador de FileBrowser la abra sin sospechar nada!

Ejecutar el exploit de la página web enviando el formulario HTML

Desde el lado del administrador, estamos tranquilamente haciendo tareas de administración en FileBrowser. Ve a 127.0.0.1:8080 e inicia sesión con las credenciales de administrador admin/admin.

Luego, recibimos la página web maliciosa por cualquier medio, como en un correo de phishing, y realizamos la acción que activa el exploit. Abre la página index.html y haz clic en el botón; esto lanza el payload.

Acceder al usuario backdoor de FileBrowser

Ahora, volviendo al lado del atacante, ahora tenemos un usuario backdoor con privilegios de administrador en el servidor FileBrowser.

Abre tu navegador web favorito en modo de navegación privada para asegurarte de que no estás usando ninguno de los medios de autenticación del administrador. Ve a localhost:8080 e inicia sesión con las credenciales del usuario backdoor oui/oui.

¡Felicidades! Ahora tienes acceso al sistema de archivos del servidor de FileBrowser y, por lo tanto, a todos los archivos de los usuarios del servidor.

Y como FileBrowser es una gran plataforma con muchas funciones, puedes lanzar una instancia de terminal presionando el botón "toggle shell"... intenta escribir whoami y haz lo que quieras como root :)

Para permitir que el usuario backdoor use comandos de shell, deben estar declarados explícitamente en el payload. ¡Consulta index.html para añadir los tuyos!

Corrección

La falla ha sido parcheada a partir de la versión v2.18.0. La información al respecto está disponible en su GitHub. El parche no fue muy costoso de implementar, ya que solo requirió cambiar 6 líneas de código en un único archivo de programa. Dado que la vulnerabilidad provenía del fallo de análisis (cf. descripción de la falla), bastó con asegurarse de que cualquier solicitud se analizara en formato application/json antes de procesarse para cualquier otra cosa.

Glosario

  • CSRF: Falsificación de Solicitudes entre Sitios
  • CVE: Vulnerabilidades y Exposiciones Comunes
  • POST: método HTTP
  • RCE: Ejecución Remota de Código

Referencias

  • CVE-2021-46398
  • ExploitDB
  • Ejemplo de exploit
  • Parche de seguridad del GitHub de FileBrowser
  • Hilo del issue en el GitHub de FileBrowser

Este trabajo se realizó como parte del curso de Seguridad de los Sistemas de Información impartido en el último año de la especialización en Ingeniería de Sistemas de Información en Grenoble INP - Ensimag, UGA.

Descargar herramienta