miércoles, mayo 16, 2012

SoapUI: Auditar Seguridad Webservices (WSDL & WADL)

SoapUI es una herramienta Open Source con soporte para Windows y Mac OS X pensada para testear el funcionamiento de WebServices. De manera sencilla carga todos los interfaces de los ficheros WSDL o WADL y permite que se puedan lanzar tests de funcionalidad, test de carga o test de seguridad automatizados para evaluar el comportamiento de los mismos. 

Desde el punto de vista de una auditoría de seguridad web, hace muy sencillo cargar el interfaz completo de un sitio y empezar a realizar las pruebas al uso, ya que con sólo crear un proyecto con el fichero de interfaz, ya tenemos todo lo listo para empezar a probar.

Figura 1: Creación de un proyecto con SoapUI

Por ejemplo, la Nasa tiene muchos de los ficheros de descripción de interfaz publicados en Google, y con crear un nuevo proyecto ya están listas todas las peticiones, para que solo sea necesario sustituir los valores marcados con un signo de interrogación.

Figura 2: Uno de los interfaces de la Nasa cargados con SoapUI

La herramienta permite muchas opciones, y hay un manual de buena calidad publicado en Español, que puedes utilizar para sacarle el máximo provecho, pero desde el punto de vista de un auditor, lo más cómodo es tener las peticiones, y enchufarlas a través de un proxy a tu herramienta de auditoría manual preferida, como Zap o Burp.

Figura 3: Opción de Proxy en SoapUI

Una vez grabadas las peticiones, ya podrás lanzar tus tests de hacking preferidos, o hacerles fuzzing, pero si lo prefieres, puedes hacer también los tests desde la propia herramienta, tal y como si lo hicieras directamente desde el propio navegador.

Figura 4: Testing manual desde SoapUI

Hay que tener en cuenta que los ficheros de interfaz de WebServices pueden dar acceso a procedimientos que no están en uso en las aplicaciones web, por lo que un proceso de crawling de la web no sacaría todos, por ello, lo mejor es cargar todos los interfaces y probarlos uno a uno.

Si quieres aprender a automatizar pruebas, José Vila en SecurityArtWork ha hecho un artículo genial sobre cómo hacerlo: Automatizando pruebas con SoapUI.

Saludos Malignos!

11 comentarios:

ShokE dijo...

Como pretendes ser tan mediatico afirmando que la nasa tiene todos los ficheros de interfaz publicados en google? Como te atreves ¿.?

Y que tiene que ver un crawling con obtener los procedimientos de un webservice? Estas mezclando churras con merinas

Anónimo dijo...

Chema, últimamente pillas por todos los costados macho.... XDDDD

Chema Alonso dijo...

@ShokE,

en Google tienes indexados de la Nasa, si no todos, una buena cantidad de ellos. Basta con que hagas una búsqueda en Google por ellos. Eso es en gran medida porque la NASA tiene el listado de directorios abierto en muchas carpetas y por eso un proceso de crawling los detectaría.

Primero haces un crawling de ficheros, se descubren los lso WSDL y de ahí sacas los procedimientos.

No es tan difícil de entender.

@Anónimo, no seas simple hombre!.

Saludos!

ShokE dijo...

Y en vez de excusarte y aceptarlo, vienes con que soy yo quien no ha entendido tu post?

Si se buscan los wsdl que tiene google indexados de la nasa aparecen 38 resultados. ¿Crees que esos son todos, o la gran mayoría de ellos?

Si a eso, le añadimos que 35 de ellos pertenecen al dominio api.echo.nasa.gov el cual es una API publica... solo nos quedan 3 wsdl.

Si miramos un poco mas a fondo la estructura de los 3 restantes, podemos ver que se encuentran en el directorio wsdlpub. Me hace pensar que es PUB de PUBLICO. WSDLPUBLICO.

De los 38, o todos los webservices de la nasa, nos quedamos con todos publicos.

Por tanto y a resumidas cuentas, la tasa de acierto de tus webservices "internos" es de 0 de 38.
Tendrás que currartelo un poco más en tu próximo post para que no se te pille...

Chema Alonso dijo...

@ShokE, en el post no dice que sean PRIVADOS, dice que la NASA tiene publicados muchos (que ya lo cambié antes) ficheros de WSDL publicados.

El post no va de hackear a la Nasa sino de la herramienta. ¿Has visto en el título del post que ponga algo de la NASA?

¿A eso lo consideras pillarme? Mándalo como paper a BlackHat o Defcon, hax0r!

Saludos!

PD: Me alegra que la parte del crawling la hayas entendido.

Dr. White dijo...

Maligno, mejor calladito que con la boca abierta entran moscas... y te entraron

Chema Alonso dijo...

@Dr. White, vaya, vaya tú, por aquí. Cuanto tiempo! ¿Esta vez lo has puesto tú con tu nick o se te ha escapado como otras veces?

El artículo es sobre una herramienta para testear webservices, y está bastante claro lo que pone.

Léelo otra vez, y si no lo entiendes te lo explico.

Saludos!

Anónimo dijo...

Bueno, sin querer entrar en la discusión sí que hay una cosilla que me molesta un poquito.

Es lo de chulear un poquito con la defcon, la blackhat o alguna de estas.

Pues la verdad, he visto en Internet alguna charla dada ahí y no me parecen relevantes, muchos papers que se aceptan son muy pobres, y ahora me explico.

No soy ningún "hax0r", simplemente tengo una Ing. Superior en Telecomunicación, y algunas charlas que dan ahí no llegan para una hora de clase en la uni.

No digo que todo sea una mierda porque hay veces que hay charlas "rompedoras" y de investigación, pero como es lógico, son las menos.

Otros temas de las charlas las he estudiado en clase con mucha más profundidad, por lo tanto, está bien estar orgullos de haber ido ahí, porque el ambiente de fiesta debe ser genial, conoces a gente muy buena etc., pero tampoco hay que perder la perspectiva.

No digo que cualquiera pueda ir, pero vamos, el mérito es relativo, porque ir para que te expliquen como funciona RFID o la pila IP o publicidad encubierta de algún producto... supongo que alguien tiene que poner la pasta para que otros puedan ir con alojamiento pagado.

Chema Alonso dijo...

@Anónimo... ¿Chulear de la BlackHat y Defcon? Después de 5 años lo único que he hecho es decir que estoy contento. Y en cuanto al nivel.. pues ahí las tienes publicadas, para que evalúes.

No sé muy bien que has querido decir con ese comentario, pero todos los trabajos que publique´en BlackHAt y Defcon también fueron a congresos académicos con revisión ciega. Los puedes encontrar en Google Schoolar.

Saludos!

Manuel Benet Navarro dijo...
Este comentario ha sido eliminado por el autor.
Manuel Benet dijo...

Gracias por la referencia, Maligno :)

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares