
Cake Fuzzer es un proyecto diseñado para ayudar a descubrir vulnerabilidades de forma automática y continua en aplicaciones web creadas basadas en marcos específicos, con un número muy limitado de falsos positivos.
Última versión: 1.0
Licencia: GNU GPL v3.0
Cake Fuzzer es un proyecto diseñado para ayudar a descubrir vulnerabilidades de forma automática y continua en aplicaciones web creadas sobre frameworks específicos, con una tasa muy limitada de falsos positivos. Actualmente está implementado para dar soporte al framework Cake PHP.
Si deseas conocer más sobre el proceso de investigación, consulta esta serie de artículos: Investigación en Ciberseguridad de Aplicaciones CakePHP
A continuación se muestra una lista de algunos de los errores descubiertos por Cake Fuzzer:
| Título | Severidad | Enlace |
|---|---|---|
| Inyección SQL ciega en Cerebrate | 9.8 Crítico | https://zigrin.com/advisories/cerebrate-blind-sql-injection/ |
| Inyección SQL en el componente CRUD | 8.8 Alto | https://zigrin.com/advisories/misp-sql-injection-in-crud-component/ |
| XSS basado en DOM | 6.1 Medio | https://zigrin.com/advisories/misp-dom-based-xss/ |
| Inyección SQL ciega en el parámetro order | 8.8 Alto | https://zigrin.com/advisories/misp-blind-sql-injection-in-order-parameter/ |
| Inyección SQL ciega en parámetros de entrada tipo array | 8.8 Alto | https://zigrin.com/advisories/misp-blind-sql-injection-in-array-input-parameters/ |
| Inyección SQL basada en tiempo en /Logs/index | 7.2 Alto | https://zigrin.com/advisories/misp-time-based-sql-injection-in-logs-index/ |
Los enfoques típicos para descubrir vulnerabilidades mediante herramientas automatizadas en aplicaciones web son:
Ambos métodos tienen desventajas. SAST produce un alto porcentaje de falsos positivos: hallazgos que no son vulnerabilidades o no son explotables. DAST produce menos falsos positivos, pero descubre menos vulnerabilidades debido a la información limitada. También requiere cierto conocimiento de la aplicación y experiencia en seguridad por parte de la persona que ejecuta el escaneo, lo que a menudo implica una configuración de escaneo personalizada por aplicación para que funcione correctamente.
El proyecto Cake Fuzzer pretende combinar las ventajas de ambos enfoques y eliminar las desventajas mencionadas. Este enfoque se denomina Interactive Application Security Testing (IAST).
Los objetivos del proyecto son:
Nota: Algunas clases de vulnerabilidades no son el objetivo de Cake Fuzzer, por lo que no podrán ser detectadas. Ejemplos de estas clases son las vulnerabilidades de lógica de negocio y los problemas de control de acceso.

Drawio: Arquitectura de Cake Fuzzer
Cake Fuzzer consta de 3 servidores principales (bastante independientes) que en conjunto permiten realizar pruebas dinámicas de vulnerabilidades en aplicaciones CakePHP.
Otros componentes incluyen:
Cake Fuzzer se basa en el concepto de Interactive Application Security Testing (IAST). Contiene un conjunto predefinido de ataques que se modifican aleatoriamente antes de su ejecución. Cake Fuzzer tiene conocimiento de los aspectos internos de la aplicación gracias al framework Cake PHP, por lo que los ataques se lanzarán sobre todos los puntos de entrada posibles de la aplicación.
Durante el ataque, Cake Fuzzer monitorea varios aspectos de la aplicación y del sistema subyacente, como:
Estas fuentes de información permiten a Cake Fuzzer identificar más vulnerabilidades y reportarlas con mayor certeza.
La siguiente sección describe los pasos para configurar un entorno de desarrollo de Cake Fuzzer donde el objetivo es una versión antigua de MISP v2.4.146, vulnerable a CVE-2021-41326.
Ejecuta los siguientes comandos en tu sistema operativo anfitrión para descargar una MV de MISP desactualizada:
cd ~/Downloads # O donde quieras almacenar la MV de MISP
wget https://vm.misp-project.org/MISP_v2.4.146@0c25b72/[email protected] -O MISP.zip
unzip MISP.zip
rm MISP.zip
mv VMware/ MISP-2.4.146
Realiza las siguientes acciones en la interfaz gráfica de VMWare para preparar el uso compartido de los archivos de Cake Fuzzer entre tu SO anfitrión y MISP:
cake_fuzzer en la MV.Ejecuta los siguientes comandos en tu SO anfitrión (reemplaza MISP_IP_ADDRESS con la dirección IP anotada anteriormente):
ssh-copy-id misp@MISP_IP_ADDRESS
ssh misp@MISP_IP_ADDRESS