OWASP ZAP - Proxy de ataque Zed

(Para simone domini)
17/08/21

Lo que estoy a punto de describirles es un evento que a menudo sucedía hace años, pero ahora, afortunadamente, se ha vuelto bastante raro: estamos en un portal web que recopila críticas de películas y queremos buscar una sobre "The Man Who Knew Demasiado". Identificamos el buscador interno del portal, insertamos "mejores películas del año" en el campo disponible y hacemos clic en el botón "buscar".

En este punto, nuestro navegador informa una página de respuesta extraña en la que hay partes reconocibles del portal pero están mal formateadas, piezas de lenguaje de programación ... ¿Qué pasó?

Si en lugar de buscar otro portal de películas, nos detenemos en ese extraño suceso, con la ayuda de Google podríamos descubrir que para causar ese flaco favor había un personaje contenido en la cadena "El hombre que sabía demasiado": el apóstrofe.

En un lenguaje de programación el apóstrofe (o superíndice) puede tener una enorme importancia y si el script que gestiona la búsqueda dentro del portal en cuestión no tiene en cuenta esta posibilidad, entonces ese script y el módulo que gobierna son vulnerables.

¿Qué significa vulnerable en la práctica? Significa que ese módulo se puede utilizar para insertar código malicioso que pueda comprometer la funcionalidad del portal o peor aún, exponer todos los datos de otros usuarios registrados en él.

Hoy en día existen muchas herramientas que intentan repetir el evento descrito anteriormente. Por lo general, basta con proporcionar la dirección del sitio web a analizar: la herramienta navega por las páginas del sitio en busca de un módulo para adjuntar y, si lo encuentra, intenta insertar partes del código. Si recibe una respuesta conocida, marca esa página como "vulnerable". Lamentablemente, sin embargo, la del ejemplo es una de las vulnerabilidades más clásicas; hay miles de otros y cada día salen nuevos. Del mismo modo, las herramientas utilizadas para encontrar estas vulnerabilidades son funcionales un día, inútiles al día siguiente porque están obsoletas.

¿Entonces? Afortunadamente, existen herramientas gratuitas como OWASP ZAP (Zed Attack Proxy), una herramienta creada siguiendo los principios de la OWASP Foundation (Open Web Application Security Project) para ofrecer a todos la oportunidad de analizar sus aplicaciones y sitios web, haciéndolos más a salvo.

ZAP es una herramienta al alcance de todos, desde el usuario más inexperto hasta el profesional del sector; es de código abierto y contiene la mayoría de las vulnerabilidades que aún están presentes y una comunidad dedicada lo actualiza constantemente.

instalación

Como se dijo, ZAP es De código abierto, para lo cual se puede descargar gratis en este enlace (https://www.zaproxy.org/download/); el único requisito previo que requiere es la presencia de Java 8+ con el que hacer funcionar todos sus módulos. Una de sus peculiaridades es precisamente la de estar disponible para muchos tipos de plataformas y sistemas operativos, e incluso está disponible una versión que se puede utilizar en Raspberry.

Una vez descargado, el procedimiento de instalación es realmente sencillo e intuitivo.

operación

ZAP es principalmente un proxy y de hecho almacena todos los datos provenientes del sitio que estamos analizando y los procesa enviándolos al archivo de las vulnerabilidades que posee. Para esto ZAP tiene dos modos de análisis: el predeterminado es el escaneo al que podemos llamar "ligero" pero si quieres puedes aumentar la brutalidad del ataque para hacer un análisis más en profundidad. Este último modo naturalmente implica un aumento en términos de tiempo de ejecución, uso de rendimiento y estrés de la aplicación o sitio web.

Al abrirlo, lo primero que notamos es su módulo principal, el escáner: solo ingrese la URL del sitio que queremos analizar y ZAP reportará todas las rarezas en forma de banderas de colores en función de la gravedad de lo encontrado.

El ZAP Spider analiza cada fragmento de código y cataloga lo que encuentra según la gravedad y el tipo de vulnerabilidad; cada advertencia es ampliable y va acompañada de una breve explicación y un enlace en el que encontrar información más detallada (además de las estrategias para evitar la vulnerabilidad identificada).

Muy a menudo, lo primero que obtenemos será una cantidad considerable de información, gran parte de ella perfectamente inútil para nuestro propósito; esto se debe a que es necesario perder tiempo en perfilar ZAP correctamente y adaptarlo a sus necesidades. Sin embargo, el consejo es profundizar en el conocimiento incluso de esta información que puede parecer inútil, ya que en el futuro podrían ser síntoma de una nueva vulnerabilidad.

Como todas las herramientas de este tipo, solo la práctica y el conocimiento pueden aumentar su potencial de uso.

El escaneo está activo

Con el escaneo activo es posible utilizar el navegador integrado en ZAP y, una vez que hayas encontrado un elemento del sitio que consideremos sensible, con el botón derecho del mouse puedes tenerlo analizado, reduciendo en gran medida el tiempo y evitando poner toda la estructura debajo. estrés.

Esta es una solución muy conveniente para aquellos que ya son bastante prácticos y desean realizar búsquedas específicas sin perder tiempo y sin comprometer su estación de trabajo catalogando datos inútiles.

Sesiones e informes

En cada uso, ZAP pregunta al usuario si pretende crear una sesión activa del análisis que está a punto de realizarse o temporal. El factor discriminatorio en la solicitud radica en el uso que se quiera hacer de los datos que se recopilarán: en una sesión activa todos los escaneos se almacenan localmente para ser analizados con más profundidad en un momento posterior.

El mercado

Como se mencionó, ZAP también está orientado al sector profesional, por lo que es posible personalizarlo habilitando o deshabilitando tipos de ataques o usando la tienda incluida donde es posible adquirir módulos de análisis adicionales, creados y certificados por la comunidad OWASP. Entre los módulos a la venta hay muchos en versión de prueba o incluso en pruebas beta para permitir a los usuarios experimentar con nuevos tipos de vulnerabilidades y posteriormente informar los resultados de sus evaluaciones a la comunidad.

Para concluir

ZAP es parte de la gran familia de "PenTesting Tools" (Penetration Testing) y básicamente simula un atacante que realmente quiere encontrar una vulnerabilidad y aprovecharla: no creo que sea inútil recordar las consecuencias criminales si esta herramienta se utiliza sin la autorización explícita del propietario del sitio en cuestión.

ZAP es solo uno de los muchos proyectos de la Fundación OWASP que nace con la intención de ayudar a quienes desarrollan o utilizan aplicaciones web y que muchas veces, ya sea por prisa o por inexperiencia, evitan esas precauciones que, lamentablemente, se convierten en facilidades para personas malintencionadas.

Para obtener más información:

https://www.zaproxy.org/

https://www.zaproxy.org/docs/

https://www.zaproxy.org/community/

https://owasp.org/

https://www.difesaonline.it/evidenza/cyber/cyber-defence-programmare-sicurezza-%C3%A8-la-base-di-tutto

https://www.difesaonline.it/evidenza/cyber/injection-broken-authentication-ed-xss-i-principali-rischi-cyber

https://www.difesaonline.it/evidenza/cyber/sicurezza-e-devops-cosa-vuol-dire-shift-left