FortiPenTest Exploit Engine: un nuevo arsenal de seguridad para la evaluación de su aplicación de red

Ciberseguridad, Fortinet

Las pruebas de penetración ayudan a las organizaciones a identificar debilidades y brechas de seguridad para que puedan implementar medidas de mitigación antes de que los atacantes puedan explotarlas. Dado que el  costo promedio de una infracción en  todo el mundo ahora supera los $ 3.8 millones, y más de $ 8.6 millones por evento en los EE. UU., El valor de las pruebas de penetración es claro.

FortiGuard Labs proporciona múltiples servicios y herramientas para ayudar a las organizaciones a evaluar la seguridad relativa de sus sistemas y redes. FortiPenTest es una herramienta de prueba de penetración como servicio basada en la nube basada en  OWASP Top 10 , el marco estándar utilizado por los desarrolladores y las soluciones de seguridad de aplicaciones web para garantizar que tengan las defensas adecuadas contra las amenazas más frecuentes. Los analistas de sistemas y los probadores de penetración también utilizan el mismo marco para encontrar problemas antes de que los atacantes puedan explotarlos.

Descripción general de FortiPenTest

FortiPenTest aprovecha una variedad de tecnologías para probar los sistemas de destino en busca de vulnerabilidades de seguridad. FSE aprovecha el marco Lua para permitir a los usuarios escribir firmas utilizando el lenguaje de scripting patentado de FortiGuard Labs. FortiPenTest luego procesa estas firmas para inspeccionar y determinar la explotabilidad de una aplicación de destino. Usamos Lua porque es un lenguaje de scripting común utilizado por muchas aplicaciones populares, ya sean aplicaciones de red o de cliente pesado, debido a su rápida ejecución. Es liviano, tiene una curva de aprendizaje corta y proporciona una ejecución rápida.

FSE proporciona un conjunto de interfaces de programación de aplicaciones ( API ) de alto nivel que permite a los desarrolladores de scripts interactuar con diferentes protocolos de red, incluidos HTTP, FTP, SMB y DNS. Esta flexibilidad de protocolo permite a los desarrolladores de secuencias de comandos centrarse en la lógica de detección sin preocuparse demasiado por las rutinas de inicialización de API convencionales con las que los programadores de bajo nivel suelen tener que lidiar durante el desarrollo de software.

El siguiente diagrama muestra una descripción general de alto nivel de la arquitectura FSE de FortPenTest:

Figura 1: Descripción general de alto nivel de la arquitectura de diseño FSE

Una firma personalizada  puede tratarse como una firma a pedido. Es un archivo de secuencia de comandos único que puede cargar un usuario, por lo que FSE finalmente ejecuta el contenido especificado en la secuencia de comandos. 

Una firma de grupo  es una colección de firmas de explotación de prueba de concepto (POC) desarrolladas por nuestros analistas internos. Esta colección cubre una amplia gama de aplicaciones, incluidas aplicaciones altamente específicas como WordPress, Joomla, Apache Struts, Microsoft Exchange Server y otras. El objetivo de las firmas de grupo es proporcionar una evaluación de exploits de N días contra activos que se consideran potencialmente vulnerables. Como nota al margen, algunos de estos exploits de N días cubiertos por firmas de grupo también se basan en la  investigación de día cero de FortiGuard Labs.

Módulos fuzzer frente a firmas de exploits

Fuzzing es una técnica de prueba de software que implica ingresar datos no válidos, inesperados o aleatorios en una aplicación. Luego, la aplicación se monitorea para detectar fallas, fugas de memoria o afirmaciones de código fallidas que pueden ser explotadas por malware .

Un módulo de fuzzer automatizado es el componente principal de la operación de escaneo de vulnerabilidades de FortiPenTest. El módulo incluye un conjunto de módulos fuzzer, que se muestran en la Figura 2, que inspeccionan las aplicaciones en busca de diferentes vulnerabilidades basadas en OWASP Top 10. 

Si bien existen algunas similitudes entre la inspección de vulnerabilidades de la aplicación proporcionada por los módulos fuzzer y las firmas de explotación, es importante tener en cuenta que los módulos fuzzer no realizan pruebas de explotabilidad una vez que descubren una vulnerabilidad. Los módulos Fuzzer simplemente aplican patrones de vulnerabilidad relativamente agresivos y genéricos para descubrir posibles errores de software que serían difíciles de descubrir de otra manera. Sin embargo, debido a que no prueban esos defectos para la explotación, es importante tener en cuenta que los módulos fuzzer pueden ser propensos a falsos positivos.

Un falso positivo en este contexto es un error de software que no se puede explotar de manera efectiva. Parte de la razón por la que los módulos fuzzer de FortiPenTest no aprovechan todas las vulnerabilidades es que tales acciones pueden causar un comportamiento no deseado durante el proceso de explotación. Los piratas informáticos tienen objetivos al igual que los desarrolladores de software y solo apuntarán a aquellas vulnerabilidades que puedan aprovecharse para sus nefastos objetivos. Esta es la razón por la que FortiPenTest también incluye patrones de vulnerabilidad precisos para clasificar los errores explotables descubiertos a través de operaciones como fuzzing, lo que permite tomar las contramedidas adecuadas. 

Figura 2: Lista de módulos fuzzer compatibles con FortiPenTest

Cuando las firmas de exploits entran en juego

FSE viene con un amplio conjunto de firmas de grupo diseñadas para identificar vulnerabilidades de aplicaciones específicas, especialmente aquellas con un número de Vulnerabilidades y Exposiciones Comunes (CVE) asignado, y luego ejecutar pruebas de explotabilidad. La advertencia es que las firmas de grupo no están habilitadas de forma predeterminada. En cambio, los usuarios deben habilitarlos explícitamente en la página Configuración de escaneo.

Pero la pregunta crítica es, ¿cuándo debe un usuario habilitar una firma de grupo? Hay varios casos de uso, pero el más común es si desea averiguar si su aplicación es vulnerable a vulnerabilidades de N días que se explotan en la naturaleza, pero no puede o no desea ejecutar las pruebas manualmente. En este caso, FSE le permite ejecutar un conjunto de firmas de grupo automáticamente. 

Sin embargo, debe tener en cuenta que cada firma de grupo admite aplicaciones vulnerables específicas, por lo que solo querrá ejecutar la firma de grupo para la aplicación que desea probar. La ejecución de todas las firmas de grupo en un activo consumirá más recursos, llevará más tiempo completarla y no producirá resultados diferentes. 

Tutorial de firmas de exploits FSE 

FSE proporciona firmas de grupo para aplicaciones SAP y WordPress. (Puede encontrar la lista completa de aplicaciones CVE que admitimos actualmente en la guía del usuario de FortiPenTest v21.2). En esta sección, le mostraremos cómo utilizar una firma de grupo para inspeccionar el sistema SAP ERP versión 7.5 en busca de posibles vulnerabilidades.

I. Una vez que haya autorizado su activo, vaya a la página de configuración y haga clic en el icono más en Opciones.

Figura 3: Página de configuración de activos

ii. A continuación, aparecerá la página Configuración de escaneo. Aquí, puede ingresar configuraciones adicionales, como proxy HTTP, método de autenticación, credenciales que se utilizarán para autenticar su activo, etc. También deberá ingresar las credenciales utilizadas por el activo objetivo. En este ejemplo de FSE, si su sistema SAP ERP no está utilizando sus credenciales predeterminadas, la firma de SAP requerirá que ingrese las nuevas credenciales. De lo contrario, la firma del grupo de SAP no podrá detectar correctamente las vulnerabilidades.

Figura 4: Configuración de autenticación de activos

iii. Haga clic en Siguiente hasta llegar a la pestaña Exploit Engine. A partir de ahí, encontrará una lista de firmas de grupo. En este ejemplo, elegimos la  firma del grupo sap . (Nuevamente, no desea ejecutar una firma de grupo para aplicaciones no alojadas en su servidor. Esto solo agregará tiempo y gastos generales significativos al proceso sin producir mejores resultados). Una vez seleccionada, la firma de grupo se habilita y la ejecutará FortiPenTest una vez que haya seleccionado al menos una categoría de la lista de aplicaciones.

Figura 5: Elija la firma del grupo que se ejecutará contra el activo de destino

iv. Haga clic en el botón Siguiente hasta llegar a la pestaña final y asegúrese de presionar el botón Guardar para conservar la configuración que ha configurado antes de comenzar el proceso de escaneo.

Figura 6: Guarde las opciones de escaneo

v. El proceso de escaneo puede llevar un tiempo dependiendo de las complejidades de su activo. Una vez completado el escaneo, se mostrará el resultado, como en la Figura 7.

Figura 7: Resultado del análisis de FortiPenTest

vi. Puede hacer clic en la URL raíz de su activo de destino, es decir, la primera entrada de la lista de URI, para recuperar el resultado FSE.

Figura 8: El resultado del análisis del Exploit Engine

A partir del resultado que se muestra en la Figura 8, vale la pena mencionar que el   código de estado de vulnerabilidad se puede traducir a:

  • Vulnerable = 2
  • Denegación de servicio = 4
  • Explotable = 8

La mayoría de las firmas de grupo utilizan  códigos vulnerables y  explotables . Este código se utiliza para informarle sobre el resultado de la explotación. Por ejemplo, se utiliza un  código Vulnerable si el activo se ve afectado por la vulnerabilidad definida en la  Descripción  pero no tiene una firma explotable conocida. Si el  Explotable se devuelve código, el activo se determina que  tanto  vulnerable  y  explotable. En ese caso, FortiPenTest también proporciona su Common Vulnerability Scoring System (CVSS), un sistema de puntuación estándar de la industria que captura las características principales de una vulnerabilidad y genera una puntuación numérica que refleja su gravedad.

Figura 9: Vulnerabilidad explotable con CVSS Temporal Score

Tenga la seguridad de que las cargas útiles de explotación utilizadas por las firmas de grupo no realizan nada malicioso o dañino. Sin embargo, las cargas útiles crean algunos artefactos en el servidor vulnerable como prueba de explotación. Por ejemplo, puede eliminar archivos ficticios, crear cuentas de usuario ficticias, etc., según el tipo de vulnerabilidades que las firmas de grupo estén intentando explotar. Convenientemente, estos artefactos se limpian mediante firmas de grupo en la etapa posterior a la explotación. Lo más importante es que para los profesionales de la seguridad, puede aprovechar la regla personalizada mencionada en la   sección Remediación del resultado del escaneo FSE para proteger sus aplicaciones de red a través del sistema de prevención de intrusiones FortiGate de Fortinet.(IPS). Para los usuarios de FortiGate existentes, puede aplicar la regla personalizada proporcionada en un dispositivo FortiGate, como se muestra en la Figura 10.

Figura 10: Adición de una firma de control de aplicaciones como corrección por FSE