Cuando un sitio WordPress es comprometido por malware, especialmente si se usó una contraseña débil como
    usuario-12345, las consecuencias pueden ir más allá de simples inyecciones de archivos.
    En este caso, el ataque provocó que el archivo .htaccess quedara bloqueado en modo de solo lectura (0444),
    impidiendo cualquier modificación manual. Aquí documentamos el proceso completo de diagnóstico y recuperación.
  
1. Síntomas iniciales
- El sitio mostraba errores en páginas internas.
 - El archivo 
.htaccessse regeneraba automáticamente con permisos0444, sin posibilidad de edición. - Sospechas de reglas maliciosas inyectadas por malware y reforzadas por configuraciones de Apache/cPanel.
 
2. Acciones iniciales
- Conectarse al servidor vía SSH como root.
 - 
      Revisar el estado del archivo:
ls -l .htaccessSalida:
-r--r--r-- 1 root root ... .htaccess - 
      Respaldar y crear un 
.htaccesslimpio:mv .htaccess .htaccess_backup echo "# test htaccess" > .htaccess chmod 644 .htaccess 
3. Investigación en Apache/cPanel
    Se detectó que el archivo se regeneraba desde configuraciones relacionadas con
    WordPress Toolkit y plantillas de seguridad de cPanel.
  
grep -R "FilesMatch" /etc/apache2/conf.d/
4. Solución aplicada
- 
      Reconstruir el VirtualHost:
/scripts/ensure_vhost_includes --user=USUARIO service httpd restartReemplaza
USUARIOpor la cuenta afectada en cPanel. - 
      Confirmar permisos:
ls -l .htaccessSalida esperada:
-rw-r--r-- 1 usuario usuario ... .htaccess - 
      Restaurar contenido de WordPress:
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress 
5. Medidas de seguridad posteriores
- Contraseña segura: evitar combinaciones obvias como 
usuario-12345. - Revisión de usuarios en WordPress y en cPanel.
 - Escaneo de malware en archivos y base de datos.
 - Actualización de plugins, temas y core de WordPress.
 - Revisar crons sospechosos con:
crontab -l - Habilitar firewall/WAF para bloquear accesos a 
wp-login.phpyxmlrpc.php. 
6. Conclusión
    Este caso demuestra cómo un ataque por contraseña débil puede desencadenar consecuencias serias:
    bloqueo del .htaccess, sobreescritura automática por configuraciones de servidor y caída de páginas internas.
  
    La solución estuvo en reseteo del VirtualHost y la restauración manual del .htaccess.
    Con pasos claros y medidas preventivas, se evitó que el problema vuelva a ocurrir.
  
¿Quieres que prepare un script automatizado en Bash que haga respaldo, reset y restauración del .htaccess en un solo paso?
