Ir al contenido principal

Vulnerando Bludit v3.9.2

Buenos días, el día de hoy vamos a ver como usar herramientas de hacking para vulnerar Bludit (https://www.bludit.com/es/). Bludit es una aplicación web para construir nuestro propio sitio web o blog en segundos; Es completamente gratuito y de código abierto, podemos encontrar el repositorio en GitHub (https://github.com/bludit/bludit). Bludit es un CMS de archivo plano, que (en este caso) significa que Bludit usa archivos en formato JSON para almacenar el contenido. No necesita instalar o configurar una base de datos; solo necesita un servidor web con soporte PHP.


 


Para iniciar con el proceso de hacking de esta aplicación iniciaremos con el reconocimiento tenemos que identificar toda la información relevante de la aplicación, como, en que lenguaje esta programada, quienes son los desarrolladores, si tiene exploit conocidos, si existen vulnerabilidades conocidas, etc.


Como parte de tu investigación debes de considerar consultar las siguientes fuentes https://cve.mitre.org/ , https://www.cvedetails.com/ , https://www.exploit-db.com/

,  además de consultar los issues y pull requests del repositorio oficial para comprobar si se reportaron o solucionaron  vulnerabilidades en el código fuente y en qué versiones fueron solucionadas.


En el caso de bludit tenemos suerte ya que todo lo que necesitamos se encuentra en los issues del repositorio.

 

Nos dirigimos al repositorio de bludit en la sección de issues y filtramos por vulnerability buscamos las que mas nos interesen



En los resultados de la búsqueda nos llama la atención un bypass que nos permite realizar ataques de fuerza bruta y que se solucionaron muchas vulnerabilidades que respecto al método para subir archivos las cuales tienen la capacidad de desencadenar ejecución de código.

Bypass anti-brutefoce


El usuario @rastating hizo un excelente trabajo documentando los detalles de esta vulnerabilidad. El usuario reporto: Debido a la forma en que se maneja la detección de la dirección IP, el mecanismo puede omitirse por completo. Los headers X-Fordered-For y Client-IP se verifican (para intentar detectar la dirección IP de las personas detrás de los servidores proxy). Desafortunadamente, ambos headers se pueden suplantar fácilmente, y para un atacante que ejecuta una ataque de fuerza bruta automatizado. El mismo usuario compartió un script en Python el cual modificaremos para nuestras necesidades.

 

script




En el script sustituiremos el host, el usuario y el customword. (Pro-Tip: si estas aquí buscando una solución para cierta maquina de un famoso laboratorio de pentest puedes usar nikto o wfuzz para encontrar los archivos .txt en el server y usa cewl para generar una lista de posibles contraseñas ;) ).




Ahora que tenemos acceso a la aplicación podemos explotar otra vulnerabilidad, en concreto la que nos permite subir archivos de forma insegura.

 

Upload files https://github.com/bludit/bludit/issues/1079

 

 

Para conseguirlo vamos a seguir los pasos que indica el usuario christasa 

el usuario describe que la vulnerabilidad radica en la función upload "/admin/ajax/upload-files" los usuarios con el rol de editor pueden subir archivos de  imágenes, un atacante puede modificar esta petición y modificar el nombre de la imagen y el contenido para subir código malicioso.


Vamos a abrir una nueva sesión en nuestro ZAP proxy y le vamos a dar en escaneo manual y launch browser.



 

Abrimos nuestro bludit e iniciamos sesión, abrimos new content



Hacemos clic en images para subir una nueva imagen y buscamos cualquier imagen de nuestra maquina, la seleccionamos y la subimos.



hacemos clic en insert.



Ahora vamos a ZAP para ver la captura de trafico de la función "/admin/ajax/upload-files"

Buscamos la petición en la sección del historial y la vamos a reenviar.



Modificamos el contenido de la imagen por nuestro archivo php y le damos send y subiremos el archivo .htaccess.



<?php system($_GET["cmd"]);?>



RewriteEngine off


Con estos pasos guardamos nuestros archivos en /bl-content/tmp/ y con curl ejecutamos nuestra POC.



Muchas gracias por terminar de leer el post, espero que les sea util. 

Saludos.

Comentarios

  1. Estoy encontrando cosas nuevas en esto que comienzo de aplicaciones, algo así decían en evento en Guadalajara y ahora si veo como aplicar los codigos.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

TTY: un toolkit para crear aplicaciones de terminal

TTY es un set de gemas que te ayudan a construir, customizar e interactuar con tus aplicaciones de línea de comando. El set de gemas TTY cuenta con 23 componentes individuales que pueden ser usados individualmente con combinados para cubrir con los requerimientos de tu proyecto. TTY esta enfocado en la simplicidad, para que los desarrolladores entiendan el funcionamiento de cada gema por separado. TTY Toolkit es todo lo que tu necesitas para crear grandes aplicaciones. Flexible Los componentes TTY te permiten resolver problemas de línea de comandos de la misma manera que lo hace la filosofía de herramientas enfocadas de Unix. Puede mezclar y combinar componentes como desee. Modular Cada componente es una pieza independiente y se puede combinar de muchas maneras con otras bibliotecas fuera del ecosistema TTY. De confianza Todos los componentes TTY están bien probados para funcionar en todos los principales sistemas operativos y emuladores de terminal, lo que le permite crear

Capacidad de recuperación de datos

Los procesos y herramientas utilizadas para respaldar adecuadamente la información crítica con una metodología comprobada para la recuperación oportuna de la misma. ¿Por qué es importante este control? Cuando los atacantes comprometen máquinas, a menudo realizan cambios significativos en las configuraciones y el software. En ocasiones, los atacantes también realizan alteraciones sutiles de los datos almacenados en máquinas comprometidas, lo que puede poner en peligro la eficacia de la organización con información contaminada. Cuando se descubre a los atacantes, puede ser extremadamente difícil para las organizaciones sin una capacidad confiable de recuperación de datos eliminar todos los aspectos de la presencia del atacante en la máquina. Sub-Control: 10.1 Tipo de activo: Datos Función: Proteger Control: Asegurar los respaldos regulares automatizados Descripción: Asegúrese de que se realizan regularmente copias de respaldo de todos los datos de sistemas de manera auto