Treo Blog

En este espacio puedes explorar las últimas tendencias y noticias en tecnología, seguridad informática e infraestructura TI.

  • Mariana Betancourt Duque

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

Por Wayne Chin Yick Low

FortiPenTest Exploit Engine

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 aprovecharlas. 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. FortiPenTest v21.2 introduce un motor de exploits, FortiPenTest Scripting Engine (FSE), que permite a los profesionales de la seguridad explorar posibles vulnerabilidades de aplicaciones alojadas en una red de destino y determinar la explotabilidad de cualquier aplicación que se considere vulnerable. Esta característica crítica permite a FortiPenTest simular con mayor precisión ataques del mundo real y brinda a los desarrolladores y equipos de seguridad más información sobre cómo los adversarios podrían llevar a cabo un escenario de ataque típico.

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 scripts 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

La Figura 1 muestra que hay dos tipos de firmas compatibles con FSE: firmas personalizadas y de grupo.

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

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, pérdidas 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 la explotabilidad de esos defectos, 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 se enfocarán en 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 su lugar, los usuarios deben habilitarlos explícitamente en la página Configuración de escaneo, como se muestra en la Figura 5.

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á usando sus credenciales predeterminadas, la firma de SAP requerirá que ingrese las nuevas credenciales. De lo contrario, la firma del grupo 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 será ejecutada por FortiPenTest una vez que haya seleccionado al menos una categoría de la lista de aplicaciones, como se muestra en la Figura 5.

Figura 5: Elija la firma de 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 los profesionales de la seguridad pueden 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 reparación por parte de FSE

Mientras tanto, también puede seguir instrucciones paso a paso más detalladas sobre cómo agregar una firma de control de aplicación en un FortiGate de nuestra guía de administración, aquí .

FortiPenTest aprovecha la inteligencia de FortiGuard Labs

FortiGuard Labs, la organización de investigación e inteligencia de amenazas de Fortinet, brinda protección de clase mundial a los clientes de Fortinet utilizando una amplia variedad de tecnologías avanzadas y patentadas. Una de las tecnologías de larga data que utilizan muchos clientes es FortiGuard IPS. El motor de explotación FortiPenTest aprovecha la inteligencia IPS derivada al detectar las aplicaciones vulnerables predominantes que se ejecutan en el entorno de red de un cliente. Luego, los analistas de FortiGuard Labs utilizan estos datos como una fuente crítica para la producción de firmas de exploits.

También vale la pena señalar que una vez que se identifica una aplicación con una firma de ataque asociada, los analistas de FortiGuard Labs determinan la viabilidad de producir una firma de exploit FSE correspondiente. A diferencia de las firmas de exploits desarrolladas en base a los POC públicos, el proceso de desarrollo de nuevas firmas de exploits generalmente lleva más tiempo, ya que se requiere una cantidad significativa de investigación. Por tanto, distinguimos este tipo de firma de exploits de las derivadas de otras fuentes. Puede ver el enlace de la enciclopedia FortiGuard IPS desde el resultado del escaneo que se muestra en la Figura 11. Identifica si una firma de exploit detectada se derivó de nuestra fuente de inteligencia IPS.

Figura 11: Firma de explotación derivada de la firma de ataque IPS de FortiGuard

Mirada de alto nivel en FortiPenTest

En esta descripción general, proporcionamos una visión de alto nivel del diseño de FortiPenTest FSE y cómo podría ser una valiosa adición a su proceso de evaluación de aplicaciones de red regular, incluido cómo puede usar los resultados de FortiPenTest como base para nuevas reglas IPS para sus implementaciones de FortiGate . También le proporcionamos una guía rápida sobre cómo ejecutar pruebas de explotabilidad automatizadas utilizando una firma de grupo en aplicaciones de red designadas.

Discutiremos algunas características nuevas e interesantes de FSE en el próximo artículo, incluidas nuevas firmas personalizadas. Mientras tanto, consulte esta demostración para obtener más información sobre FortiPenTest. Hasta entonces, ¡mantente a salvo!


Referencias [1] Módulos de fuzzer FortiPenTest: https://docs.fortinet.com/document/fortipentest/21.2.0/fortipentest-user-guide/966543/what-is-fortipentest#Fuzzer_Module [2] Código de usuario completo de FortiPenTest: https://fortinetweb.s3.amazonaws.com/docs.fortinet.com/v2/attachments/e7c37db1-983a-11eb-b70b-00505692583a/FortiPenTest-21.2-User_Guide.pdf

https://www.fortinet.com/blog/business-and-technology/fortipentest-exploit-engine-a-new-security-arsenal-for-your-network-application-assessment

7 vistas0 comentarios