Pentesting de web services con WS-Attacker

WS-Attacker es un framework modular para realizar pruebas de intrusión contra servicios web. Es desarrollado por la Cátedra de Seguridad de Redes y Datos de la Universidad Ruhr de Bochumm (Alemania) y la empresa 3curity GmbH.

La idea básica detrás de WS-Attacker es proporcionar la funcionalidad para cargar archivos WSDL y enviar mensajes SOAP a los end points del Servicio Web (que se ejecuta utilizando el marco SoapUI subyacente). Esta funcionalidad puede ampliarse utilizando varios plugins y librerías para crear ataques específicos contra los web services. Pueded encontrar más información sobre la arquitectura de WS-Attacker y su extensibilidad en su paper.


Características

En la versión actual WS-Attacker soporta los siguientes ataques:

- SOAPAction spoofing: ver http://www.ws-attacks.org/index.php/SOAPAction_Spoofing
- WS-Addressing spoofing: ver http://www.ws-attacks.org/index.php/WS-Addressing_spoofing
- XML Signature Wrapping: ver http://nds.rub.de/media/nds/arbeiten/2012/07/24/ws-attacker-ma.pdf
- Ataques DoS basados en XML: ver https://www.nds.rub.de/research/publications/ICWS_DoS
- Nuevos ataques adaptables e inteligentes de denegación de servicio (AdIDoS)
- Ataques de cifrado XML: consultar este blogpost (http://web-in-security.blogspot.de/2015/05/how-to-attack-xml-encryption-in-ibm.html) para obtener una visión general de los ataques y referencias adicionales a  trabajos científicos

Instalación

Para usarlo necesitarás Java 7 o superior, maven y git. Luego puedes descargar el archivo ZIP o clonar el repositorio correspondiente desde Github:

$ git clone https://github.com/RUB-NDS/WS-Attacker.git

A continuación, ve al directorio de WS-Attacker y utiliza maven para crear y empaquetar los archivos:

$ cd WS-Attacker
$ mvn clean package -DskipTests

Después, ya puedes ir al directorio runnable y ejecutar WS-Attacker:

$ cd runnable
$ java -jar WS-Attacker-1.9-SNAPSHOT.jar


Uso

Puedes encontrar la documentación más reciente sobre XML Signature Wrapping y DoS aquí: http://sourceforge.net/projects/ws-attacker/files/WS-Attacker%201.3/Documentation-v1.3.pdf/download

La documentación sobre ataques de cifrado XML está actualmente en desarrollo, pero puedes encontrar mucha información sobre el plugin XML Encryption y sobre los ataques de cifrado XML aquí: http://web-in-security.blogspot.de/2015/05/ Cómo-atacar-xml-encryption-in-ibm.html

Si deseas probar los ataques y no tienes ningún servicio web, te recomiendo que utilices el framework de Apache Rampart. Este framework proporciona varios ejemplos de Web Services y es vulnerable a la mayoría de los ataques proporcionados, incluyendo XML Signature Wrapping y los ataques al cifrado XML.

Echa un vistazo a esta entrada sobre cómo usar WS-Attacker para atacar Apache Rampart Web Services con Firmas XML: http://web-in-security.blogspot.de/2015/04/introduction-to-ws-attacker-xml.html. Conceptos similares se aplican a los ataques con XML Encryption.
 

Github: https://github.com/RUB-NDS/WS-Attacker

Comentarios

  1. He seguido las instrucciones que indicas, pero al ejecutar "mvn clean package -DskipTests" da el mensaje:

    [ERROR] Failed to execute goal on project wsattacker-framework: Could not resolve dependencies for project wsattacker.framework:wsattacker-framework:jar:1.9-SNAPSHOT: Failure to find it.cnr.imaa.essi:lablib-checkboxtree:jar:3.3 in http://www.soapui.org/repository/maven2/ was cached in the local repository, resolution will not be reattempted until the update interval of smartbear-sweden-plugin-repository has elapsed or updates are forced -> [Help 1]

    ¿Por qué podría ser?

    ResponderEliminar

Publicar un comentario