JoomScan: Escaneo de Vulnerabilidades Joomla
JoomScan: Escaneo de Vulnerabilidades Joomla
JoomScan (Joomla Vulnerability Scanner) es una herramienta de código abierto diseñada específicamente para encontrar vulnerabilidades y realizar auditorías de seguridad en sitios web que utilizan el CMS Joomla.
Es una de las herramientas esenciales en Kali Linux para la fase de reconocimiento y análisis de vulnerabilidades.
¿Qué hace exactamente JoomScan?
Esta herramienta automatiza la búsqueda de fallos comunes que un atacante podría explotar. Sus funciones principales incluyen:
Detección de versión: Identifica la versión exacta de Joomla instalada.
Escaneo de componentes: Busca vulnerabilidades en plugins, módulos y plantillas (templates).
Detección de firewalls: Identifica si el sitio tiene un WAF (Web Application Firewall).
Localización de archivos sensibles: Encuentra archivos de configuración expuestos o directorios de administración.
Reportes en HTML/Texto: Genera informes detallados con los hallazgos.
Comandos básicos de uso
Para usar JoomScan en Kali Linux, abre tu terminal y sigue estos comandos:
1. Actualizar la base de datos
Antes de empezar, asegúrate de tener las últimas firmas de vulnerabilidades:
joomscan --update
2. Escaneo simple de un sitio
Para analizar un sitio web específico:
joomscan --url www.ejemplo.com
3. Escaneo con enumeración de componentes
Si quieres un análisis más profundo de los plugins instalados:
joomscan --url www.ejemplo.com --enumerate-components
4. Cambiar el User-Agent
Útil para evitar bloqueos básicos de seguridad simulando ser un navegador específico:
joomscan --url www.ejemplo.com --user-agent "Mozilla/5.0"
Consideraciones importantes
[!IMPORTANT]
Ética y Legalidad: Utiliza esta herramienta únicamente en servidores de tu propiedad o en aquellos donde tengas una autorización por escrito para realizar pruebas de penetración. El escaneo no autorizado puede ser ilegal.
JoomScan es excelente porque es específico. A diferencia de escáneres generales como Nikto, JoomScan conoce la estructura interna de Joomla (como el directorio /administrator/ o el archivo configuration.php), lo que reduce los falsos positivos.
Instalarlo es bastante sencillo, pero dependiendo de tu versión de Kali o si prefieres la versión más reciente de GitHub, el proceso varía un poco.
Aquí tienes los pasos para dejarlo listo:
Opción 1: Instalación rápida (Desde repositorios)
Kali Linux suele incluirlo en sus repositorios oficiales. Solo necesitas ejecutar:
sudo apt update
sudo apt install joomscan
Opción 2: Instalación desde el código fuente (Recomendado)
Si quieres la versión más actualizada directamente de los desarrolladores, lo mejor es clonar el repositorio de GitHub. JoomScan está escrito en Perl, por lo que necesitaremos algunas dependencias.
Clonar el repositorio:
Bashgit clone https://github.com/OWASP/joomscan.git cd joomscanInstalar dependencias de Perl:
JoomScan requiere ciertos módulos para funcionar correctamente. Ejecuta esto para instalarlos:
Bashsudo apt install libwww-perl liblwp-protocol-https-perlEjecutar la herramienta:
Ahora puedes lanzarlo usando Perl:
Bashperl joomscan.pl --url http://tu-objetivo.com
Solución de errores comunes
Error "Can't locate LWP/UserAgent.pm": Significa que te falta la librería principal de Perl para peticiones web. Se soluciona con el comando de dependencias del paso anterior.
Permiso denegado: Si lo instalaste vía
apt, recuerda que a veces necesitas usarsudo joomscansi el reporte intenta escribirse en una carpeta protegida.
Un consejo de uso:
Una vez instalado, lo primero que deberías hacer siempre es ejecutar joomscan --update. Esto descarga las huellas dactilares (fingerprints) de las versiones más recientes de Joomla y sus vulnerabilidades conocidas.
Generar un reporte es una de las mejores funciones de JoomScan porque te permite documentar tus hallazgos de forma profesional.
Por defecto, JoomScan crea un reporte cada vez que terminas un escaneo, pero aquí te explico cómo gestionarlos y cómo forzar formatos específicos.
1. Ubicación de los reportes
Cuando ejecutas un escaneo, JoomScan guarda automáticamente los resultados en una carpeta llamada reports.
Si lo instalaste vía apt: Suele estar en
/usr/share/joomscan/reports/o en tu carpeta personal bajo.joomscan/reports/.Si lo usas desde GitHub: Estará en la subcarpeta
reports/dentro del directorio donde clonaste el repositorio.
Los archivos se guardan con el nombre del sitio y la fecha (ejemplo: www.sitio.com_2026_03_21.html).
2. Comandos para generar reportes específicos
Si quieres que el reporte sea más fácil de leer, lo ideal es usar el formato HTML.
Para generar el reporte estándar:
joomscan --url http://www.ejemplo.com
Al finalizar, la terminal te dirá exactamente la ruta: "Report Saved to: reports/www.ejemplo.com/...".
Para ver los reportes anteriores:
Si quieres listar todos los análisis que has hecho previamente a un sitio:
joomscan --url http://www.ejemplo.com --report
3. Cómo convertir el reporte a PDF
JoomScan genera archivos HTML o TXT nativamente. Si necesitas un PDF para un cliente o un trabajo académico, lo más sencillo en Kali es usar la herramienta wkhtmltopdf:
Instala la herramienta:
Bashsudo apt install wkhtmltopdfConvierte el reporte:
Bashwkhtmltopdf reports/tu-sitio/reporte.html reporte_final.pdf
Estructura de un reporte típico
Un reporte bien generado te mostrará secciones claras como:
Vulnerable Components: Una lista de plugins desactualizados.
Version Detection: Si la versión de Joomla tiene exploits conocidos (CVE).
Wall of Fame: Información sobre el servidor y posibles fugas de datos.
[!TIP]
Si el reporte sale vacío o no detecta nada, intenta usar la opción
--random-agentpara evitar que el servidor bloquee el escaneo por parecer un bot.
Interpretar el reporte es la parte más importante, porque es donde separas el "ruido" de las amenazas reales. Cuando abras el archivo HTML o veas la salida en consola, te encontrarás con estos términos clave:
1. Detección de Versión y CVE
JoomScan te dirá algo como: Vulnerable to: Joomla! 3.x < 3.8.3.
¿Qué es un CVE? Significa Common Vulnerabilities and Exposures. Es un código único (ej.
CVE-2017-14596) que identifica un fallo de seguridad específico.Cómo interpretarlo: Si ves un CVE en el reporte, busca ese código en Google o en Exploit-DB. Allí encontrarás el código necesario para explotar esa falla o la solución para parchearla.
2. Enumeración de Componentes (Plugins y Temas)
Esta es la sección más larga. Verás una lista de directorios como /components/com_content/.
Componentes vulnerables: JoomScan marcará en rojo o con un aviso los que sabe que tienen fallos.
Consejo: Joomla es famoso porque sus vulnerabilidades no suelen estar en el núcleo (core), sino en los plugins de terceros. Pon mucha atención a componentes de galerías de fotos, formularios o editores de texto.
3. Archivos Sensibles y Configuración
El reporte buscará archivos que nunca deberían estar visibles:
configuration.php-distoconfiguration.php.bak: A veces los administradores dejan copias de seguridad. Si puedes leer estos archivos, podrías obtener las credenciales de la base de datos.robots.txt: JoomScan lo analiza para ver si el administrador está intentando "esconder" carpetas privadas (lo cual solo sirve para decirle al atacante dónde mirar).
Ejemplo de cómo leer una vulnerabilidad en el reporte:
| Sección | Hallazgo | Riesgo |
| Directory Listing | /images/stories/ está abierto | Bajo: Exposición de archivos. |
| Outdated Component | com_joomanager (v2.0) | Alto: Posible inyección SQL. |
| Admin Interface | /administrator/ accesible | Medio: Ataques de fuerza bruta. |
¿Qué hacer después de ver el reporte?
Si el reporte indica que hay una vulnerabilidad de Inyección SQL (SQLi) o Cross-Site Scripting (XSS), el siguiente paso suele ser usar otras herramientas:
Si es SQLi: Usar
sqlmappara extraer la base de datos.Si es XSS: Probar scripts en los formularios detectados.
Si es versión desactualizada: Buscar un "Exploit" listo para usar en Metasploit.
Como profesional de la seguridad, el objetivo final no es solo romper cosas, sino hacerlas más resistentes. Si JoomScan ya te dio un reporte con vulnerabilidades, aquí tienes los pasos críticos para "blindar" ese sitio Joomla.
1. Actualización Inmediata (Core y Extensiones)
La mayoría de los hallazgos de JoomScan se deben a versiones obsoletas.
Actualiza el Core: Ve a Componentes > Actualización de Joomla.
Actualiza Extensiones: Ve a Extensiones > Gestionar > Actualizar.
Regla de oro: Si JoomScan detectó un componente vulnerable que no usas, no lo deshabilites: elimínalo completamente.
2. Protección del Directorio de Administración
JoomScan siempre busca la ruta
/administrator. Si es fácil de encontrar, es fácil de atacar por fuerza bruta.Cambia la URL de acceso: Usa plugins como AdminExile para cambiar
/administratorpor algo secreto (ej./mi-puerta-secreta-2026).Doble autenticación (2FA): Joomla tiene soporte nativo para 2FA. Actívalo para que, aunque te roben la contraseña, no puedan entrar.
3. Asegurar el archivo
configuration.phpEste archivo contiene la contraseña de tu base de datos en texto plano. Es el "santo grial" para un atacante.
Permisos de archivo: Cambia los permisos a 444 (solo lectura) o 400. Esto evita que scripts maliciosos lo modifiquen.
Bashchmod 444 configuration.phpMover el archivo: Algunos administradores avanzados mueven este archivo fuera de la carpeta pública de la web (
public_html), aunque requiere configuración manual.
4. Deshabilitar el Listado de Directorios
Si JoomScan te mostró una lista de imágenes o archivos al entrar a una carpeta, significa que el listado de directorios está activo. Para cerrarlo:
Asegúrate de que cada carpeta tenga un archivo
index.htmlvacío.O mejor aún, añade esta línea a tu archivo .htaccess:
ApacheOptions -Indexes
5. Implementar un WAF (Web Application Firewall)
Si JoomScan detectó que no hay un Firewall, el sitio está expuesto a inyecciones SQL directamente.
Solución en la nube: Usa servicios como Cloudflare.
Solución interna: Instala extensiones de seguridad potentes como Akeeba Admin Tools Pro o RSFirewall!. Estos bloquean automáticamente los intentos de escaneo de herramientas como JoomScan.
Resumen de endurecimiento (Hardening)
Acción Herramienta/Método Impacto Parchear CVEs Actualizar Joomla/Plugins Crítico Fuerza Bruta Cambiar ruta /admin + 2FA Alto Robo de Datos Permisos 444 en configuration.phpAlto Inyecciones Instalar un WAF (Firewall) Muy Alto [!NOTE]
Después de aplicar estos cambios, lo ideal es volver a correr JoomScan. Si lo hiciste bien, el reporte debería mostrar muchas menos advertencias y los componentes críticos deberían aparecer como "Secure" o no ser detectados.
El archivo
.htaccesses tu primera línea de defensa en un servidor Apache. Es como un "portero" que detiene los ataques antes de que siquiera lleguen a tocar el código de Joomla.Aquí tienes un script de hardening (endurecimiento) que puedes copiar y pegar en la parte superior de tu archivo
.htaccess(ubicado en la raíz de tu sitio):Script de Protección para Joomla
Apache# 1. Bloquear el listado de directorios Options -Indexes # 2. Impedir el acceso a archivos de configuración sensibles <FilesMatch "(config\.php|configuration\.php(-dist)?|php\.ini|\.htaccess|\.htpasswd|web\.config)"> Order allow,deny Deny from all </FilesMatch> # 3. Bloquear inyecciones de scripts comunes (XSS y SQLi) RewriteEngine On RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L] # 4. Forzar la protección contra clickjacking Header set X-Frame-Options "SAMEORIGIN" # 5. Bloquear la ejecución de PHP en carpetas de imágenes (muy común en hacks) <Directory "/var/www/html/images"> <Files "*.php"> Order allow,deny Deny from all </Files> </Directory>¿Qué hace exactamente este código?
Bloqueo de archivos: Si un atacante intenta leer tu
configuration.phpdirectamente desde el navegador, recibirá un error 403 Forbidden.Anti-XSS/SQLi básico: Filtra intentos comunes de meter etiquetas
<script>o comandos de bases de datos a través de la URL (lo que JoomScan suele detectar).Protección de la carpeta /images: Muchos hackers logran subir un archivo
.phpmalicioso disfrazado de imagen. Con esta regla, aunque logren subirlo, el servidor se negará a ejecutarlo.
Recomendación final después del Hardening
Una vez que hayas aplicado estos cambios y actualizado tus extensiones, te sugiero hacer un "Escaneo de Comparación".
Corre JoomScan de nuevo.
Compara el reporte viejo con el nuevo.
Verás que muchas de las "vulnerabilidades de información" (como el listado de directorios) habrán desaparecido.
Un Honeypot (o "tarro de miel") es una trampa diseñada para detectar, desviar o estudiar intentos de acceso no autorizados. En Joomla, la forma más efectiva de hacerlo es crear una falsa puerta de administración.
Mientras tú usas una ruta secreta para trabajar, dejamos la ruta estándar
/administratorcomo una trampa que registra la IP de cualquier "curioso" o bot (como JoomScan) que intente entrar.Pasos para configurar tu Honeypot Manual
1. Cambia tu ruta real de administración
Antes de poner la trampa, debes esconder la puerta real. Usa una extensión como AdminExile o OSProperty para que tu acceso sea, por ejemplo:
misitio.com/entrada-secreta.2. Crea el archivo de la trampa
En la carpeta raíz de tu Joomla, crea una carpeta llamada
/administrator(si ya moviste la real) o simplemente un archivo llamadoindex.phpdentro de la carpeta/administratororiginal con este código:PHP<?php // Configuración del Honeypot $log_file = 'intentos_hacker.log'; // Archivo donde se guardarán las IPs $ip_visitante = $_SERVER['REMOTE_ADDR']; $fecha = date('Y-m-d H:i:s'); $agente = $_SERVER['HTTP_USER_AGENT']; // Guardar la información en el log $mensaje = "[$fecha] IP: $ip_visitante - Navegador: $agente\n"; file_put_contents($log_file, $mensaje, FILE_APPEND); // Mostrar un error falso o una página de login falsa header('HTTP/1.1 403 Forbidden'); echo "<h1>403 Forbidden</h1>"; echo "<p>Tu dirección IP ($ip_visitante) ha sido registrada por actividad sospechosa.</p>"; exit(); ?>3. ¿Qué sucede ahora?
Usuarios normales: Irán a tu ruta secreta y entrarán sin problemas.
Bots y Scanners (como JoomScan): Irán directos a
/administrator. Al entrar, verán el error 403, pero su IP quedará grabada en el archivointentos_hacker.log.
Cómo automatizar el bloqueo (Nivel Pro)
Si quieres que el Honeypot no solo registre, sino que bloquee al atacante automáticamente en el Firewall (iptables), puedes usar una herramienta en Kali o en tu servidor llamada Fail2Ban.
Configuras Fail2Ban para que lea tu archivo
intentos_hacker.log.Si una IP aparece más de 3 veces en un minuto, Fail2Ban le cierra el puerto 80/443 a nivel de sistema operativo.
[!TIP]
Si revisas el log y ves que el "Navegador" dice algo como
OWASP JoomScan, ¡felicidades! Tu trampa ha detectado con éxito un escaneo de seguridad.Resumen de tu blindaje:
JoomScan: Identificó los fallos.
Actualizaciones: Cerraste los huecos del código.
Htaccess: Pusiste un escudo en la entrada.
Honeypot: Pusiste una alarma para detectar intrusos.
Esta es la "alarma silenciosa". Cada vez que alguien intente entrar en tu carpeta trampa (el Honeypot), el servidor te enviará un correo electrónico con los detalles del atacante.
Para que esto funcione, tu servidor debe tener configurada la función
mail()de PHP (la mayoría de los hostings de Joomla la tienen activa).El Script con Alerta por Email
Modifica el archivo
index.phpque creamos en la carpeta/administratorcon este código mejorado:PHP<?php // --- CONFIGURACIÓN --- $mi_email = "tu-correo@ejemplo.com"; // CAMBIA ESTO POR TU EMAIL $log_file = 'intentos_hacker.log'; $sitio_web = "Seguridad Joomla - Mi Sitio"; // --- RECOLECCIÓN DE DATOS --- $ip_visitante = $_SERVER['REMOTE_ADDR']; $fecha = date('Y-m-d H:i:s'); $agente = $_SERVER['HTTP_USER_AGENT']; $metodo = $_SERVER['REQUEST_METHOD']; // --- GUARDAR EN LOG (Para respaldo) --- $mensaje_log = "[$fecha] IP: $ip_visitante - Navegador: $agente\n"; file_put_contents($log_file, $mensaje_log, FILE_APPEND); // --- ENVIAR ALERTA POR EMAIL --- $asunto = "⚠️ ALERTA DE INTRUSIÓN: Intento de acceso en $sitio_web"; $cuerpo = "Se ha detectado un intento de acceso al área administrativa falsa.\n\n"; $cuerpo .= "📅 Fecha: $fecha\n"; $cuerpo .= "🌐 IP del Atacante: $ip_visitante\n"; $cuerpo .= "🔍 Navegador/Bot: $agente\n"; $cuerpo .= "📡 Método usado: $metodo\n"; $cuerpo .= "\nAcción tomada: Acceso denegado y registro de IP."; $cabeceras = "From: honey-pot@tusitio.com" . "\r\n" . "Reply-To: no-reply@tusitio.com" . "\r\n" . "X-Mailer: PHP/" . phpversion(); // Solo enviar si no es una IP conocida (puedes añadir tu IP aquí para no auto-alertarte) if ($ip_visitante != 'TU_IP_REAL') { mail($mi_email, $asunto, $cuerpo, $cabeceras); } // --- RESPUESTA PARA EL ATACANTE --- header('HTTP/1.1 403 Forbidden'); echo "<h1>Access Denied</h1>"; exit(); ?>¿Por qué esto es tan efectivo?
Detección en tiempo real: Sabrás que te están escaneando en el mismo segundo en que ocurra.
Identificación de herramientas: Si el email dice
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1...)podrías estar bloqueando a Google por error (ajusta tu ruta real), pero si diceOWASP JoomScanosqlmap, sabes que es un ataque dirigido.Análisis de patrones: Si recibes 50 correos en un minuto de la misma IP, es un ataque de fuerza bruta automatizado.
Último consejo de Seguridad
Si ves que una IP te molesta demasiado, puedes bloquearla definitivamente en tu archivo
.htaccess(que configuramos antes) añadiendo esta línea al final:ApacheDeny from 123.456.78.90(Sustituyendo los números por la IP que recibiste en el correo).
Con esto, has pasado de tener un Joomla vulnerable a tener un sistema con detección activa de intrusos.
Este es el último paso para blindar tu servidor. En el mundo de la ciberseguridad, seguimos el Principio de Menor Privilegio: ningún archivo debe tener más permisos de los estrictamente necesarios para funcionar.
Si un hacker logra subir un script malicioso (una "shell") a través de una vulnerabilidad, pero los permisos están bien configurados, no podrá ejecutarla ni modificar tus archivos.
1. Los Números Mágicos: 644 y 755
En sistemas Linux (como el que corre tu Joomla), los permisos se dividen en tres grupos: Propietario, Grupo y Otros. Para Joomla, la configuración estándar de seguridad es:
Carpetas (755): El propietario puede leer, escribir y ejecutar. El resto solo leer y ejecutar.
Archivos (644): El propietario puede leer y escribir. El resto solo leer.
2. Comandos de Limpieza en Kali Linux
Si tienes acceso a la terminal de tu servidor (vía SSH) o estás probando en un entorno local, ejecuta estos comandos en la raíz de tu sitio Joomla para corregir todo de golpe:
Para todas las carpetas:
Bashfind . -type d -exec chmod 755 {} \;Para todos los archivos:
Bashfind . -type f -exec chmod 644 {} \;El archivo más importante (
configuration.php):Este debe ser aún más restrictivo porque contiene tus contraseñas.
Bashchmod 444 configuration.phpNota: Si necesitas cambiar algo en la configuración de Joomla más adelante, tendrás que devolverlo a 644 temporalmente.
3. El Peligro del "777"
[!CAUTION]
Nunca, bajo ninguna circunstancia, dejes una carpeta con permisos 777. > Esto significa que cualquiera en Internet puede escribir y ejecutar archivos en tu servidor. Es como dejar la llave de tu casa puesta en la cerradura por fuera. JoomScan marcará esto como una vulnerabilidad crítica de inmediato.
4. Chequeo de "Dueño" (Ownership)
A veces los permisos están bien (644), pero el "dueño" del archivo es incorrecto. Los archivos deben pertenecer al usuario que corre el servicio web (usualmente
www-data,apacheonobody).Puedes verificar esto con:
Bashls -laSi ves que los archivos pertenecen a
root, Joomla podría tener problemas para subir imágenes o instalar actualizaciones. Lo ideal es:Bashsudo chown -R www-data:www-data /ruta/a/tu/joomlaResumen de tu Escudo de Seguridad:
Elemento Permiso Ideal Por qué Carpetas 755Permite navegar pero no que otros escriban. Archivos 644Protege el código de modificaciones externas. configuration.php 444Blindaje total de credenciales de DB. .htaccess 444o644Evita que el atacante desactive tus reglas. Con esto, has completado un ciclo completo: desde detectar con JoomScan, parchear el código, filtrar con .htaccess, alertar con el Honeypot y asegurar con permisos de sistema.
Este es el último paso para blindar tu servidor. En el mundo de la ciberseguridad, seguimos el Principio de Menor Privilegio: ningún archivo debe tener más permisos de los estrictamente necesarios para funcionar.
Si un hacker logra subir un script malicioso (una "shell") a través de una vulnerabilidad, pero los permisos están bien configurados, no podrá ejecutarla ni modificar tus archivos.
1. Los Números Mágicos: 644 y 755
En sistemas Linux (como el que corre tu Joomla), los permisos se dividen en tres grupos: Propietario, Grupo y Otros. Para Joomla, la configuración estándar de seguridad es:
Carpetas (755): El propietario puede leer, escribir y ejecutar. El resto solo leer y ejecutar.
Archivos (644): El propietario puede leer y escribir. El resto solo leer.
2. Comandos de Limpieza en Kali Linux
Si tienes acceso a la terminal de tu servidor (vía SSH) o estás probando en un entorno local, ejecuta estos comandos en la raíz de tu sitio Joomla para corregir todo de golpe:
Para todas las carpetas:
Bashfind . -type d -exec chmod 755 {} \;Para todos los archivos:
Bashfind . -type f -exec chmod 644 {} \;El archivo más importante (
configuration.php):Este debe ser aún más restrictivo porque contiene tus contraseñas.
Bashchmod 444 configuration.phpNota: Si necesitas cambiar algo en la configuración de Joomla más adelante, tendrás que devolverlo a 644 temporalmente.
3. El Peligro del "777"
[!CAUTION]
Nunca, bajo ninguna circunstancia, dejes una carpeta con permisos 777. > Esto significa que cualquiera en Internet puede escribir y ejecutar archivos en tu servidor. Es como dejar la llave de tu casa puesta en la cerradura por fuera. JoomScan marcará esto como una vulnerabilidad crítica de inmediato.
4. Chequeo de "Dueño" (Ownership)
A veces los permisos están bien (644), pero el "dueño" del archivo es incorrecto. Los archivos deben pertenecer al usuario que corre el servicio web (usualmente
www-data,apacheonobody).Puedes verificar esto con:
Bashls -laSi ves que los archivos pertenecen a
root, Joomla podría tener problemas para subir imágenes o instalar actualizaciones. Lo ideal es:Bashsudo chown -R www-data:www-data /ruta/a/tu/joomlaResumen de tu Escudo de Seguridad:
Elemento Permiso Ideal Por qué Carpetas 755Permite navegar pero no que otros escriban. Archivos 644Protege el código de modificaciones externas. configuration.php 444Blindaje total de credenciales de DB. .htaccess 444o644Evita que el atacante desactive tus reglas. Con esto, has completado un ciclo completo: desde detectar con JoomScan, parchear el código, filtrar con .htaccess, alertar con el Honeypot y asegurar con permisos de sistema.