Proyecto OWASP WebScarab

  • Posted on: 16 September 2014
  • By: ReYDeS

El sitio web del proyecto OWASP WebScarab sugiere ahora utilizar una nueva edición de este tipo de tecnologías, como el Proyecto OWASP Zed Attack Proxy (ZAP). Razón por la cual presento a continuación información relevante sobre OWASP WebScarab, la cual es una herramienta reconocida y utilizada en el ámbito de las Pruebas de Penetración contra Aplicaciones Web.

Webscarab es un framework para analizar aplicaciones web utilizando los protocolos HTTP y HTTPS para realizar su comunicación. Está escrito en java y se puede portar a diversas plataformas. WebScarab tiene diversos modos de operación, implementados por varios plugins. En su uso más común, WebScarab opera como un proxy de interceptación, permitiendo al operador revisar y modificar las peticiones creadas por el navegador antes de ser enviadas al servidor, para luego revisar y modificar las respuestas devueltas desde el servidor antes de ser recibidas por el navegador. WesbScarab también es capaz de interceptar comunicaciones HTTP y HTTPS. El operador también puede revisar estas conversaciones (peticiones y repuestas) que atraviesan WebScarab.

Información General

No existe un botón rojo brillante en WebScarab, es una herramienta principalmente diseñada para ser utilizada por personas que pueden escribir código por si mismos, o al menos tener una buena comprensión del protocolo HTTP.

WebScarab está diseñado para ser una herramienta utilizada por cualquier persona necesitada de exponer el funcionamiento de una aplicación basada en HTTP(S), como permitir a los desarrolladores depurar problemas difíciles, o permitir a los especialistas en seguridad identificar vulnerabilidades en la manera de diseñar o implementar una aplicación web.

Características

Un framework sin ninguna funcionalidad es inútil, por tal motivo WebScarab proporciona un número de plugins, principalmente dirigidos a la funcionalidad de seguridad por el momento. Estos plugins incluyen:

  • Fragments (Fragmentos). Extrae Scripts y Comentarios HTML desde páginas HTML cuando son observadas mediante el proxy, u otros plugins.
  • Proxy. Observa el tráfico entre el navegador y el servidor web. El proxy de WebScarab es capaz de observar tráfico HTTP y tráfico cifrado HTTPS, negociando una conexión SSL entre WebScarab y el navegador en lugar de simplemente conectar el navegador hacia el servidor y permitir un flujo cifrado atravesándolo. Diversos plugins del proxy también han sido desarrollados para permitir al operador controlar las peticiones y respuestas pasando a través del proxy.
  • Manual Intercept (Interceptación Manual). Permite a los usuarios modificar peticiones y respuestas HTTP y HTTPS al vuelo, antes de llegar al servidor o navegador.
  • BeanShell. Permite la ejecución de operaciones arbitrariamente complejas sobre las peticiones y respuestas. Todo lo posible de ser expresado con Java puede ser ejecutado.
  • Reveal Hidden Fields (Revelar Campos Ocultos). Algunas veces es más sencillo modificar un campo oculto en una página web por si mismo, en lugar de interceptar la petición después de ser enviada. Este plugin simplemente cambia todos los campos ocultos encontrados en páginas HTML por campos de texto, haciéndolos visibles, y editables.
  • Bandwidth Simulator (Simulador de Ancho de Banda). Permite a los usuarios emular un red lenta, para observar como el sitio web podría desempeñarse cuando es accedido sobre, por decir, un modem.
  • Spider. Identifica nuevas URLs sobre el sitio objetivo, y los recoge con un comando.
  • Manual Request (Petición Manual) Permite editar y reenviar peticiones previas, o la creación completa de nuevas peticiones.
  • SessionID Analysis (Análisis de Ids de Sesión). Recolecta y analiza un número de Cookies para determinar visualmente el grado de aleatoriedad e impredicibilidad. Anotar que este análisis es trivial, y no realiza ninguna comprobación seria, como FIPS, etc.
  • Scripted. Los operadores pueden utilizar BeanShell (o cualquier otro lenguaje BSF soportado encontrado en el “classpath”) para escribir un script, y crear peticiones para recogerlos desde el servidor. El script puede luego realizar algún análisis sobre las respuestas, con todo el poder del modelo de objetos de peticiones y respuestas de WebScarab utilizado para simplificar las cosas.
  • Parameter Fuzzer. (Fuzzer de Parámetros). Realiza substitución automática de valores para los parámetros, los cuales probablemente expongan validación incompleta de parámetros, conduciendo a vulnerabilidades como Cross Site Scription (XSS) o Inyecciones SQL.
  • Search (Búsqueda). Permite al usuario crear expresiones BeanShell arbitrarias para identificar conversaciones que deben ser mostradas en la lista.
  • Compare (Comparar). Calcula la distancia de edición entre los cuerpos de respuesta de las conversaciones observadas, y la conversación base seleccionada. La distancia de edición es “el número de ediciones requerida para transformar un documento en otro”. Por razones de desempeño, las ediciones son calculadas utilizando tokens de palabras, en lugar de byte por byte.
  • SOAP. Es un plugin que interpreta WSDL; y presenta las diversas funciones y parámetros requeridos, permitiendo ser editados antes de ser enviados al servidor. Anotar que este plugin ha sido desaprobado, y será removido en el futuro. SOAPUI va más allá de lo que WebScarab puede hacer o hará, y es una herramienta gratuita.
  • Extensions (Extensiones). Automatiza las verificaciones de archivos dejados por error en el directorio raíz del servidor web (ejemplo, bak, ~, etc.). Las verificaciones son realizadas para archivos y directorios (ejemplo, /app/login.jsp será verificado por /app/login.jsp.bak, /app/login.jsp~, /app/zip, /app.tar.gz, etc.). Las extensiones para archivos y directorios pueden ser editados por el usuario.
  • XSS/CRLF. Es un plugin de análisis pasivo el cual busca datos controlados por el usuario en las cabeceras de respuesta HTTP y el cuerpo para identificar posibles inyecciones CRLF (HTTP response splitting) y vulnerabilidades de Cross Site Scripting (XSS) Reflejados.

Entrenamiento

Aung Khant (YGN Ethical Hacker Group, Myanmar) ha creado un serie de videos sobre WebScarab, los cuales pueden ser encontrados en el siguiente enlace:

http://yehg.net/lab/pr0js/training/webscarab.php

Existen diapositias de la presentación titulada "Uncovering Webscarab's Hidden Treasures", dada en el OWASP EU Summit del año 2008. Las cuales están disponibles en el siguiente enlace.

https://www.owasp.org/images/8/88/OWASP_EU_Summit_2008_WebScarab_treasur...

También los invito de visualizar el video del Webinar Gratuito sobre WebScaraba dictado en el mes de Enero del año 2014.

http://www.reydes.com/d/?q=videos#wgow

Ampliable

Como un framework, Webscarab es ampliable. Cada característica anterior es implementada por un plugin, y puede ser removido y reemplazado. Pueden también ser implementadas nuevas características fácilmente.

Sugiero la utilización de Zed Attack Proxy (ZAP), el cual es un proyecto muy activo y en constante desarrollo, el cual incluye algunas funcionalidades y características de las cuales carece WebScarab.

Fuentes:

https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project
https://www.owasp.org/index.php/WebScarab_Getting_Started
https://www.owasp.org/index.php/CRLF_Injection
https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
http://yehg.net/lab/pr0js/training/webscarab.php
https://www.owasp.org/images/8/88/OWASP_EU_Summit_2008_WebScarab_treasur...

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense