SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS
WEB
ATACANDO SERVICIOS WEB
WHOAMI?
• Oscar Martínez Ruiz de Castilla
• Trabajo en Seguridad Informática
• Con más de 9 años de experiencia en el campo de
Tecnologías de la Información
• Ingeniero en la especialidad de Ingeniería Electrónica - PUCP
• Magister en Ciencias de la Computación – PUCP
• Hobbies: Aparte de hacking, XBOX! (PES 2013, Darksiders II)
Que hago?
• Muchos años defendiendo
• Últimamente atacando (network / web apliccation
penetration tester)
“Los sistemas de seguridad tienen que ganar
siempre, al atacante le basta con ganar sólo
una vez”.
ATACANDO SERVICIOS WEB
WHOAMI?
Contactos (corregir, aportar, etc)
• oscarmrdc@gmail.com
• fiery-owl.blogspot.com
• @oscar_mrdc
Certificaciones
• EC Council Certified Ethical Hacker v7 (C|EH)
• Mile2 Secure Web Application Engineer (C)SWAE)
• Mile 2 Digital Forensics Examiner (C)DFE)
• Microsoft Certified Systems Administrator (MCSA)
ATACANDO SERVICIOS WEB
•DISCLAIMER
• Todo el contenido de esta charla es resultado de investigación con fines
didácticos y educativos. El autor no se hace responsable por el uso del
conocimiento contenido en la siguiente presentación. La información
contenida debe ser utilizada únicamente para fines éticos y con la debida
autorización.
• Todo descubrimiento realizado, ha sido y será usado de forma legal. La
audiencia debe asumir todo lo que se exponga hoy, como “falso” y “sin
fundamento” hasta que lo compruebe personalmente. Limahack no es el
autor directo de ninguno de los descubrimientos expuestos, ni de las
herramientas demostradas, ni los conoce.
• Todas las opiniones vertidas durante esta presentación son exclusivas del
expositor, Limahack no es responsable de ninguna de las opiniones
vertidas.
ATACANDO SERVICIOS WEB
DISCLAIMER!
Buena intención? Curiosidad? DELITO?
LEY QUE INCORPORA LOS DELITOS INFORMÁTICOS AL CÓDIGO PENAL
http://www.ongei.gob.pe/normas/1887/NORMA_1887_Ley%2027309.pdf
ATACANDO SERVICIOS WEB
DISCLAIMER!
AUTORIZADO POR ESCRITO
SABER USAR LAS HERRAMIENTAS
Ambientes de prueba:
• DVWA http://www.dvwa.co.uk/
• Gruyere http://google-gruyere.appspot.com/
• Webgoat https://www.owasp.org/index.php/Proyecto_WebGoat_OWASP
ATACANDO SERVICIOS WEB
MOTIVACIÓN
BPM + SOA
Wikipedia:
SOA
La arquitectura orientada a servicios de cliente (en inglés Service Oriented
Architecture), es un concepto de arquitectura de software que define la
utilización de servicios para dar soporte a los requisitos del negocio.
Permite la creación de sistemas de información altamente escalables que
reflejan el negocio de la organización, a su vez brinda una forma bien
definida de exposición e invocación de servicios (comúnmente pero no
exclusivamente servicios web), lo cual facilita la interacción entre diferentes
sistemas propios o de terceros.
Mobile applications?
ATACANDO SERVICIOS WEB
REFERENCIAS
OWASP Testing Guide v3
https://www.owasp.org/index.php/Testing_for_Web_Services
A Web Services Security Testing Framework
Colin Wong / Daniel Grzelak
WS-Attacks.org project
http://clawslab.nds.rub.de/projects_WS-Attacks.html
Don’t Drop the SOAP: Real World Web Service Testing for Web Hackers
Tom Eston / Joshua Abraham / Kevin Johnson
Cracking the Foundation: Attacking WCF Web Services
Brian Holyfield
Security for Web Services and Services-Oriented Architectures
Elisa Bertino / Lorenzo Martino / Federica Pazi / Anna Squicciarini
Improving Web Services Security
Microsoft
ATACANDO SERVICIOS WEB
QUE ES UN SERVICIO WEB?
Wikipedia:
Un servicio web (en inglés, Web service) es una Tecnologia que utiliza un
conjunto de protocolos y estándares que sirven para intercambiar datos
entre aplicaciones. Distintas aplicaciones de software desarrolladas en
lenguajes de programación diferentes, y ejecutadas sobre cualquier
plataforma, pueden utilizar los servicios web para intercambiar datos en
redes de ordenadores como Internet.
Web
Service
Web
Service
Interoperabilidad
Cualquier lenguaje
Cualquier plataforma
Java
JBoss
.NET
IIS
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
QUE ES UN SERVICIO WEB?
Aplicación web (la consume directamente una persona) - HTTP
Base de
Datos
Web
Application
Usuarios
File Server
LDAP
SMTP
ATACANDO SERVICIOS WEB
QUE ES UN SERVICIO WEB?
Web Services (la consume otra aplicación)
Los “clientes” de un servicio web son
otras aplicaciones.
Base de
Datos
Web
Application
Usuarios
File Server
LDAP
SMTP
Web
Services
Web
Application
ATACANDO SERVICIOS WEB
QUE ES UN SERVICIO WEB?
Web Services (la consume otra aplicación)
Expuestos erróneamente, se “asume”
que sólo son consumidos por otra
aplicación)
Sólo se implementan controles en la
aplicación web, NO! En el web service)
Creadas para exponer aplicaciones
antiguas que son fácilmente vulneradas,
una vez están fuera de nuestro
segmento de red privado.
Base de
Datos
Web
Application
Usuarios
File Server
LDAP
SMTP
Web
Services
Web
Application
ATACANDO SERVICIOS WEB
HACKING WEB SERVICES
ATACANDO SERVICIOS WEB
1. Atacar la infraestructura (Administración)
No lo veremos aquí (Nosotros atacaremos directamente el Servicio Web).
Atacar directamente el servidor.
Atacar JBoss, Glassfish, IIS, Axis, etc.
http://alguienenlafisi.blogspot.com/2011/12/hacking-web-services-parte-iii_27.html
Nota: Si controlo el servidor? gameover! Para que preocuparse con los web
services!
ATACANDO SERVICIOS WEB
FIREWALL Y APLICACIONES/SERVICIOS WEB
ATACANDO SERVICIOS WEB
2. WSDL Disclosure - “Confidentiality” || WS INFORMATION GATHERING (OWASP-WS-001)
WSDL Google Hacking attack - WSDL Enumeration attack (WSDL Scanning)
WSDL: son las siglas de Web Services Description Language, un formato XML que se utiliza para describir
servicios Web.
WSDL describe la interfaz pública de los servicios Web. Está basado en XML y describe la forma de
comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para
interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen
en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
Se puede realizar de dos maneras:
WSDL Google Hacking attack
Mediante funciones de búsqueda en google (google dork).
inurl:wsdl site:example.com
Probablemente, muchos de estos no debieron estar publicados, ni accedidos públicamente.
WSDL Enumeration attack
Se asume que ya se tiene la ruta de un archivo WSDL. En base a esta, se trata de conocer
nuevos métodos y/o interfaces del servicio web.
También es conocido como WSDL Scanning.
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
Algunas URLs:
[transport]://[machine or domain][:optional port]/[optional uri]
http://<webservice-host>:<port>/<servicename>
http://<webservice-host>:<port>/<servicename>.wsdl
http://<webservice-host>:<port>/<servicename>?wsdl
http://<webservice-host>:<port>/<servicename>.aspx?wsdl
en lugar de extension .aspx podemos usar extensiones .ascx, .asmx, .ashx,
.jws,.svc
en lugar de poner “wsdl”, podemos poder “disco”
http://<webservice-host>:<port>/<servicename.dll>?wsdl
http://<webservice-host>:<port>/<servicename.exe>?wsdl
http://<webservice-host>:<port>/<servicename.php>?wsdl
http://<webservice-host>:<port>/<servicename.pl>?wsdl
Para Apache Axis podemos tratar con:
http://<webservice-host>:<port>/axis/services/<servicename>?wsdl
http://<webservice-host>:<port>/axis/services/<service-name>
ATACANDO SERVICIOS WEB
TIPOS DE WEB SERVICES
El A,B,C
ADRESS (Donde encuentro el servicio?)
Direccion única
[transport]://[machine or domain][:optional port]/[optional uri]
BINDING (Como hablo con el servicio?)
Protocolo de Transporte / Codificación / Seguridad
CONTRACT (Que puedo hacer con el servicio?)
Metodos expuestos
Autenticación, Autorización?
ATACANDO SERVICIOS WEB
http://192.168.56.101/webgoat/services/SoapRequest?WSDL
Webgoat: Create SOAP Request (1 y 2)
WSDL es una fuente valiosa de
información! (para los buenos,
pero también para los malos)
Desafortunadamente, la única protección de
algunos servicios web, es que están “ocultos”.
ATACANDO SERVICIOS WEB
TIPOS DE WEB SERVICES
TRANSPORT PROTOCOLS
NET.TCP
HTTP/HTTPS
NAMED PIPES (IPC)
PEER TO PEER (P2P)
MESSAGE QUEUING (MSMQ)
ENCODING FORMATS
TEXT (SOAP, XML, JAVASCRIPT)
BINARY
MTOM
SEGURIDAD
NONE
TRANSPORT
MESSAGE
AUTENTICACION
Transporte:
None
Basic
NTLM
Windows
Certificate
Mensaje:
None
Windows
Username
Certificate
Issue Token
BINDING? Protocolo de Transporte / Codificación / Seguridad
(Como hablo con el servicio?)
ATACANDO SERVICIOS WEB
ATACANDO SERVICIOS WEB
TRANSPORT PROTOCOL: HTTP
ENCODING: SOAP
SEGURIDAD: NONE
AUTENTICACION: NONE
WCF
BASICHTTPBINDING
ATACANDO SERVICIOS WEB
HERRAMIENTAS
Depende del binding!
ATACANDO SERVICIOS WEB
HERRAMIENTAS
Configurar SoapUI + Burp
ATACANDO SERVICIOS WEB
HERRAMIENTAS
WcfTestClient + Burp (o la que Uds. quieran)
C:Program FilesMicrosoft Visual Studio 10.0Common7IDEWcfTestClient.exe
ATACANDO SERVICIOS WEB
HERRAMIENTAS
Programar Cliente (lenguaje que quieran?):
ATACANDO SERVICIOS WEB
3. TESTING WSDL (OWASP-WS-002)
Revisar el archivo WSDL del servicio web para encontrar los puntos de
entrada y probar incovando las operaciones que no son usadas en un
requerimiento SOAP estándar (operaciones escondidas). Probar si es que
el WS entrega información confidencial.
Webgoat: WSDL Scanning
1. En el Browser
2. En SOAPUI
http://192.168.56.101/webgoat/services/WSDLScanning?WSDL
ATACANDO SERVICIOS WEB
SOAP:
SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar
que define cómo dos objetos en diferentes procesos pueden
comunicarse por medio de intercambio de datos XML
ATACANDO SERVICIOS WEB
Subtítulo tamaño 18 ARIAL
ATACANDO SERVICIOS WEB
4. XML CONTENT-LEVEL TESTING (OWASP-WS-004)
Esto se logra, alterando los mensajes SOAP para que cumplan nuestro
cometido.
Abarca ataques al web services y a todo a lo cual él se conecta y está
detrás (web servers, databases, application servers, operating systems,
etc).
ATACANDO SERVICIOS WEB
NOTA
Muchas de las técnicas de hacking (pentesting) de aplicaciones web,
aplican también para servicios web.
Las vulnerabilidades en servicios web son similares a las vulnerabilidades
en aplicaciones web (SQL injection, information disclosure, etc), pero los
servicios web también tienen vulnerabilidades únicas (por ejemplo,
vulnerabilidades relacionadas al XML parser).
ATACANDO SERVICIOS WEB
Parecido?
Spoofing
Spoofed requests: Attacker spoofs a request from a legitimate client
Spoofed responses: Attacker spoofs a response from the server
Tampering
Man-in-the-middle attack: Attacker inserts themselves into the communication path between communicating
parties and impersonates each to the other
Injection attack: Attacker supplies malicious input that is directly used in calls to an external or underlying
system
Insertion of malicious software: Attacker manages to execute or place malicious software on the system
Repudiation
Denying a web service transaction: Attacker exploits inadequate logging to deny the occurrence of a
transaction
Replay attack: Attacker captures and replays a valid web method request to the server
ATACANDO SERVICIOS WEB
Parecido?
Information Disclosure
Eavesdropping on communication paths: An attacker on the communication path captures passing network
traffic
Information leaked by verbose error messages: Attacker induces error conditions to extract platform and
implementation details
Unauthorised access to services or data: Attacker bypasses access control mechanisms or uses a service
that was
not meant to be running
Denial of Service
Deplete computer or network resources: Attacker floods the system with junk traffic or valid requests to
overwhelm computers, routers, capacity etc.
Exploit a programming or implementation flaw: Attacker finds and exploits a flaw in implementation that
causes the system to hang or crash
Corruption of data to prevent normal operation of the web service: An attacker corrupts application data by
exploiting a vulnerability or using unauthorised functionality
ATACANDO SERVICIOS WEB
Parecido?
Elevation of Privilege
Remote execution of code or software: An attacker exploits a buffer overflow vulnerability to access or
execute
commands on the target host with higher privileges than authorised
Administrative interfaces or functions available: Attacker is able to access administrative interfaces or
functions by
bypassing access control mechanisms
Webgoat:
Web Service SQL Injection - SOAPUI
ATACANDO SERVICIOS WEB
Diferente?
TESTING WSDL
XML STRUCTURAL TESTING
XML CONTENT-LEVEL TESTING
HTTP GET PARAMETERS/REST TESTING
NAUGHTY SOAP ATTACHMENTS
Replay Attack - “Access Control” || REPLAY TESTING
Web Service Intermediario controlado por un atacante
Passive WS-MITM - “Confidentiality” (Message Sniffing / Message Snopping)
Active WS-MITM - "Integrity"
Malicious Morphing (Message Tampering / Content Tampering / Message Alternation / Data Tampering / Falsified
Message)
Routing Detour
XML Signature Wrapping - "Integrity" (XML Rewriting)
XML Signature Wrapping - Simple Context
XML Signature Wrapping - Optional Element
XML Signature Wrapping - Optional Element in Security Header
ATACANDO SERVICIOS WEB
Diferente?
SOAPAction Spoofing - “Access Control”
SOAPAction Spoofing - MITM Attack
SOAPAction Spoofing - Bypass Attack
Metadata Spoofing - "Integrity"
WSDL Spoofing (WSDL Parameter Tampering)
WS Security Policy Spoofing
Attack Obfuscation
XML Injection
XML Signature - Key Retrieval XSA (Cross Site Attack)
XML Signature – XSLT Code Execution
Xpath Injection
ATACANDO SERVICIOS WEB
Diferente?
Attacks primarily violating the security objective "Availability"
BPEL Instantiation Flooding
BPEL Indirect Flooding
BPEL State Deviation
BPEL Correlation Invalidation
BPEL State Invalidation
Coercive Parsing
Oversized XML DOS (Oversized XML attack)
XML Extra Long Names (XML MegaTags / XML Jumbo Tag Names)
XML Namespace Prefix Attack
XML Oversized Attribute Content
XML Oversized Attribute Count
Reference Redirect
Signature Redirect
Encryption Redirect
Recursive Cryptography (Oversized Cryptography / Cryptography DOS / XML Complexity Attack in Soap Header)
Chained Cryptographic Keys aka Public Key DOS
Nested Encrypted Blocks
ATACANDO SERVICIOS WEB
Diferente?
Soap Array Attack
SOAP Parameter DOS (Parameter Tampering)
WS-Addressing spoofing
WS-Addressing spoofing - Generic
WS-Addressing spoofing - BPEL Rollback
WS-Addressing spoofing - Middleware Hijacking
XML Document Size Attack (Oversize payload attack / Jumbo payload Attack)
Oversized SOAP Header
Oversized SOAP Body
Oversized SOAP Envelope
XML Encryption - Transformation DOS
XML Encryption - XSLT DOS
XML Encryption - Xpath DOS
XML External Entity DOS
XML Entity Expansion
XML Generic Entity Expansion
XML Recursive Entity Expansion
XML Remote Entity Expansion
XML C14N Entity Expansion
ATACANDO SERVICIOS WEB
Diferente?
XML Entity Reference Attack
XML Flooding
Distributed XML Flooding
Single XML Flooding
XML Signature - Key Retrieval DOS
XML Signature – Transformation DOS
XML Signature - C14N DOS
XML Signature - XSLT DOS
XML Signature - Xpath DOS
Webgoat:
Web Service SAX Injection (parser) - Browser
ATACANDO SERVICIOS WEB
Hablando de números de tarjeta de crédito:
Generalmente sale en los ejemplos por algo? Es sensible dicha información?
Han comprado en Saga Falabella?
Han pagado con tarjeta?
Han visto que en los recibos de caja aparecen los 16 digitos completos!?
La seguridad…
Le importa a Saga Falabella? A los bancos? A Mastercard?
http://fiery-owl.blogspot.com/2012/11/ahora-quien-podra-defenderme.html
Hackspy:
"NADA ES TAN IMPORTANTE, NI TAN URGENTE QUE NO PUEDA SER HECHO CON
SEGURIDAD" Anónimo
Preguntas?
Gracias!
corregir, aportar, etc: oscarmrdc@gmail.com

Más contenido relacionado

Destacado

Advanced Web Services Hacking (AusCERT 06)
Advanced Web Services Hacking (AusCERT 06)Advanced Web Services Hacking (AusCERT 06)
Advanced Web Services Hacking (AusCERT 06)Shreeraj Shah
 
Función de las neuronas en nuestro cuerpo
Función de las neuronas en nuestro cuerpoFunción de las neuronas en nuestro cuerpo
Función de las neuronas en nuestro cuerpoGenesis Pincay
 
Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Vision Tecnologica
 
Primera guerra mundial
Primera guerra mundialPrimera guerra mundial
Primera guerra mundialCaritoranzo
 
Tics deber de entornos virtuales
Tics deber de entornos virtualesTics deber de entornos virtuales
Tics deber de entornos virtualessusyguapa
 
Solido cristalinos ...
Solido cristalinos ...Solido cristalinos ...
Solido cristalinos ...992145237
 
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...AKOSYS - Industrial Refrigeration
 
Presentación del Curso Virtual "Marketing Digital" Sesión 02
Presentación del Curso Virtual "Marketing Digital" Sesión 02Presentación del Curso Virtual "Marketing Digital" Sesión 02
Presentación del Curso Virtual "Marketing Digital" Sesión 02Lima Innova
 
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"Lima Innova
 
Syllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre BSyllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre BGenesis Pincay
 
Concepto general-de-marketing-
Concepto general-de-marketing-Concepto general-de-marketing-
Concepto general-de-marketing-luckybaldoky
 
Informe de Proyecto de Utilitarios 1
Informe de Proyecto de Utilitarios 1Informe de Proyecto de Utilitarios 1
Informe de Proyecto de Utilitarios 1Leonardo Medina Arias
 
Presentacion de angie
Presentacion de angiePresentacion de angie
Presentacion de angielore75vivas
 
Cielo esposicion de bioquimica 1
Cielo esposicion de bioquimica 1Cielo esposicion de bioquimica 1
Cielo esposicion de bioquimica 1Genesis Pincay
 

Destacado (20)

Advanced Web Services Hacking (AusCERT 06)
Advanced Web Services Hacking (AusCERT 06)Advanced Web Services Hacking (AusCERT 06)
Advanced Web Services Hacking (AusCERT 06)
 
Función de las neuronas en nuestro cuerpo
Función de las neuronas en nuestro cuerpoFunción de las neuronas en nuestro cuerpo
Función de las neuronas en nuestro cuerpo
 
Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906Drogadiccion karen y carmen 906
Drogadiccion karen y carmen 906
 
Primera guerra mundial
Primera guerra mundialPrimera guerra mundial
Primera guerra mundial
 
Tics deber de entornos virtuales
Tics deber de entornos virtualesTics deber de entornos virtuales
Tics deber de entornos virtuales
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Solido cristalinos ...
Solido cristalinos ...Solido cristalinos ...
Solido cristalinos ...
 
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...
Ámbito de aplicación - Alarmas de hombre encerrado y detección de gases para ...
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación del Curso Virtual "Marketing Digital" Sesión 02
Presentación del Curso Virtual "Marketing Digital" Sesión 02Presentación del Curso Virtual "Marketing Digital" Sesión 02
Presentación del Curso Virtual "Marketing Digital" Sesión 02
 
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"
Sesión 01 - Seminario "COMERCIO ELECTRÓNICO"
 
Syllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre BSyllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre B
 
Concepto general-de-marketing-
Concepto general-de-marketing-Concepto general-de-marketing-
Concepto general-de-marketing-
 
Informe de Proyecto de Utilitarios 1
Informe de Proyecto de Utilitarios 1Informe de Proyecto de Utilitarios 1
Informe de Proyecto de Utilitarios 1
 
Presentacion de angie
Presentacion de angiePresentacion de angie
Presentacion de angie
 
Cielo esposicion de bioquimica 1
Cielo esposicion de bioquimica 1Cielo esposicion de bioquimica 1
Cielo esposicion de bioquimica 1
 
Link
LinkLink
Link
 
Actividades economicas de lima y callao
Actividades economicas de lima y callaoActividades economicas de lima y callao
Actividades economicas de lima y callao
 
Mapa conseptual
Mapa conseptualMapa conseptual
Mapa conseptual
 
Plataforma Genesis
Plataforma Genesis Plataforma Genesis
Plataforma Genesis
 

Similar a Atacando servicios web

Vulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones WebVulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones WebAlonso Caballero
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...Luis Fernando Aguas Bucheli
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3tantascosasquenose
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)Pedro J. Molina
 
Webinar Gratuito: Inyección de Comandos
Webinar Gratuito: Inyección de ComandosWebinar Gratuito: Inyección de Comandos
Webinar Gratuito: Inyección de ComandosAlonso Caballero
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Alonso Caballero
 
Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"Alonso Caballero
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Alonso Caballero
 
Seguridad en Apache Web Server
Seguridad en Apache Web ServerSeguridad en Apache Web Server
Seguridad en Apache Web ServerChema Alonso
 
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking Web
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking WebWebinar Gratuito: Escaneos con Scripts de Nmap para Hacking Web
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking WebAlonso Caballero
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.melidevelopers
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Jose Gratereaux
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones webJose Mato
 

Similar a Atacando servicios web (20)

Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015
 
Vulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones WebVulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones Web
 
Seguridad Web XSS y BeEF
Seguridad Web XSS y BeEFSeguridad Web XSS y BeEF
Seguridad Web XSS y BeEF
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
Webinar Gratuito: Inyección de Comandos
Webinar Gratuito: Inyección de ComandosWebinar Gratuito: Inyección de Comandos
Webinar Gratuito: Inyección de Comandos
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
 
Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
 
Seguridad en Apache Web Server
Seguridad en Apache Web ServerSeguridad en Apache Web Server
Seguridad en Apache Web Server
 
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking Web
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking WebWebinar Gratuito: Escaneos con Scripts de Nmap para Hacking Web
Webinar Gratuito: Escaneos con Scripts de Nmap para Hacking Web
 
Web app attacks
Web app attacksWeb app attacks
Web app attacks
 
Presentacion
PresentacionPresentacion
Presentacion
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 

Atacando servicios web

  • 1.
  • 3. ATACANDO SERVICIOS WEB WHOAMI? • Oscar Martínez Ruiz de Castilla • Trabajo en Seguridad Informática • Con más de 9 años de experiencia en el campo de Tecnologías de la Información • Ingeniero en la especialidad de Ingeniería Electrónica - PUCP • Magister en Ciencias de la Computación – PUCP • Hobbies: Aparte de hacking, XBOX! (PES 2013, Darksiders II) Que hago? • Muchos años defendiendo • Últimamente atacando (network / web apliccation penetration tester) “Los sistemas de seguridad tienen que ganar siempre, al atacante le basta con ganar sólo una vez”.
  • 4. ATACANDO SERVICIOS WEB WHOAMI? Contactos (corregir, aportar, etc) • oscarmrdc@gmail.com • fiery-owl.blogspot.com • @oscar_mrdc Certificaciones • EC Council Certified Ethical Hacker v7 (C|EH) • Mile2 Secure Web Application Engineer (C)SWAE) • Mile 2 Digital Forensics Examiner (C)DFE) • Microsoft Certified Systems Administrator (MCSA)
  • 6. •DISCLAIMER • Todo el contenido de esta charla es resultado de investigación con fines didácticos y educativos. El autor no se hace responsable por el uso del conocimiento contenido en la siguiente presentación. La información contenida debe ser utilizada únicamente para fines éticos y con la debida autorización. • Todo descubrimiento realizado, ha sido y será usado de forma legal. La audiencia debe asumir todo lo que se exponga hoy, como “falso” y “sin fundamento” hasta que lo compruebe personalmente. Limahack no es el autor directo de ninguno de los descubrimientos expuestos, ni de las herramientas demostradas, ni los conoce. • Todas las opiniones vertidas durante esta presentación son exclusivas del expositor, Limahack no es responsable de ninguna de las opiniones vertidas.
  • 7. ATACANDO SERVICIOS WEB DISCLAIMER! Buena intención? Curiosidad? DELITO? LEY QUE INCORPORA LOS DELITOS INFORMÁTICOS AL CÓDIGO PENAL http://www.ongei.gob.pe/normas/1887/NORMA_1887_Ley%2027309.pdf
  • 8. ATACANDO SERVICIOS WEB DISCLAIMER! AUTORIZADO POR ESCRITO SABER USAR LAS HERRAMIENTAS Ambientes de prueba: • DVWA http://www.dvwa.co.uk/ • Gruyere http://google-gruyere.appspot.com/ • Webgoat https://www.owasp.org/index.php/Proyecto_WebGoat_OWASP
  • 9. ATACANDO SERVICIOS WEB MOTIVACIÓN BPM + SOA Wikipedia: SOA La arquitectura orientada a servicios de cliente (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros. Mobile applications?
  • 10. ATACANDO SERVICIOS WEB REFERENCIAS OWASP Testing Guide v3 https://www.owasp.org/index.php/Testing_for_Web_Services A Web Services Security Testing Framework Colin Wong / Daniel Grzelak WS-Attacks.org project http://clawslab.nds.rub.de/projects_WS-Attacks.html Don’t Drop the SOAP: Real World Web Service Testing for Web Hackers Tom Eston / Joshua Abraham / Kevin Johnson Cracking the Foundation: Attacking WCF Web Services Brian Holyfield Security for Web Services and Services-Oriented Architectures Elisa Bertino / Lorenzo Martino / Federica Pazi / Anna Squicciarini Improving Web Services Security Microsoft
  • 11. ATACANDO SERVICIOS WEB QUE ES UN SERVICIO WEB? Wikipedia: Un servicio web (en inglés, Web service) es una Tecnologia que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. Web Service Web Service Interoperabilidad Cualquier lenguaje Cualquier plataforma Java JBoss .NET IIS
  • 14. ATACANDO SERVICIOS WEB QUE ES UN SERVICIO WEB? Aplicación web (la consume directamente una persona) - HTTP Base de Datos Web Application Usuarios File Server LDAP SMTP
  • 15. ATACANDO SERVICIOS WEB QUE ES UN SERVICIO WEB? Web Services (la consume otra aplicación) Los “clientes” de un servicio web son otras aplicaciones. Base de Datos Web Application Usuarios File Server LDAP SMTP Web Services Web Application
  • 16. ATACANDO SERVICIOS WEB QUE ES UN SERVICIO WEB? Web Services (la consume otra aplicación) Expuestos erróneamente, se “asume” que sólo son consumidos por otra aplicación) Sólo se implementan controles en la aplicación web, NO! En el web service) Creadas para exponer aplicaciones antiguas que son fácilmente vulneradas, una vez están fuera de nuestro segmento de red privado. Base de Datos Web Application Usuarios File Server LDAP SMTP Web Services Web Application
  • 18. ATACANDO SERVICIOS WEB 1. Atacar la infraestructura (Administración) No lo veremos aquí (Nosotros atacaremos directamente el Servicio Web). Atacar directamente el servidor. Atacar JBoss, Glassfish, IIS, Axis, etc. http://alguienenlafisi.blogspot.com/2011/12/hacking-web-services-parte-iii_27.html Nota: Si controlo el servidor? gameover! Para que preocuparse con los web services!
  • 19. ATACANDO SERVICIOS WEB FIREWALL Y APLICACIONES/SERVICIOS WEB
  • 20. ATACANDO SERVICIOS WEB 2. WSDL Disclosure - “Confidentiality” || WS INFORMATION GATHERING (OWASP-WS-001) WSDL Google Hacking attack - WSDL Enumeration attack (WSDL Scanning) WSDL: son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web. WSDL describe la interfaz pública de los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.
  • 23. ATACANDO SERVICIOS WEB Se puede realizar de dos maneras: WSDL Google Hacking attack Mediante funciones de búsqueda en google (google dork). inurl:wsdl site:example.com Probablemente, muchos de estos no debieron estar publicados, ni accedidos públicamente. WSDL Enumeration attack Se asume que ya se tiene la ruta de un archivo WSDL. En base a esta, se trata de conocer nuevos métodos y/o interfaces del servicio web. También es conocido como WSDL Scanning.
  • 25. ATACANDO SERVICIOS WEB Algunas URLs: [transport]://[machine or domain][:optional port]/[optional uri] http://<webservice-host>:<port>/<servicename> http://<webservice-host>:<port>/<servicename>.wsdl http://<webservice-host>:<port>/<servicename>?wsdl http://<webservice-host>:<port>/<servicename>.aspx?wsdl en lugar de extension .aspx podemos usar extensiones .ascx, .asmx, .ashx, .jws,.svc en lugar de poner “wsdl”, podemos poder “disco” http://<webservice-host>:<port>/<servicename.dll>?wsdl http://<webservice-host>:<port>/<servicename.exe>?wsdl http://<webservice-host>:<port>/<servicename.php>?wsdl http://<webservice-host>:<port>/<servicename.pl>?wsdl Para Apache Axis podemos tratar con: http://<webservice-host>:<port>/axis/services/<servicename>?wsdl http://<webservice-host>:<port>/axis/services/<service-name>
  • 26. ATACANDO SERVICIOS WEB TIPOS DE WEB SERVICES El A,B,C ADRESS (Donde encuentro el servicio?) Direccion única [transport]://[machine or domain][:optional port]/[optional uri] BINDING (Como hablo con el servicio?) Protocolo de Transporte / Codificación / Seguridad CONTRACT (Que puedo hacer con el servicio?) Metodos expuestos Autenticación, Autorización?
  • 27. ATACANDO SERVICIOS WEB http://192.168.56.101/webgoat/services/SoapRequest?WSDL Webgoat: Create SOAP Request (1 y 2) WSDL es una fuente valiosa de información! (para los buenos, pero también para los malos) Desafortunadamente, la única protección de algunos servicios web, es que están “ocultos”.
  • 28. ATACANDO SERVICIOS WEB TIPOS DE WEB SERVICES TRANSPORT PROTOCOLS NET.TCP HTTP/HTTPS NAMED PIPES (IPC) PEER TO PEER (P2P) MESSAGE QUEUING (MSMQ) ENCODING FORMATS TEXT (SOAP, XML, JAVASCRIPT) BINARY MTOM SEGURIDAD NONE TRANSPORT MESSAGE AUTENTICACION Transporte: None Basic NTLM Windows Certificate Mensaje: None Windows Username Certificate Issue Token BINDING? Protocolo de Transporte / Codificación / Seguridad (Como hablo con el servicio?)
  • 30. ATACANDO SERVICIOS WEB TRANSPORT PROTOCOL: HTTP ENCODING: SOAP SEGURIDAD: NONE AUTENTICACION: NONE WCF BASICHTTPBINDING
  • 33. ATACANDO SERVICIOS WEB HERRAMIENTAS WcfTestClient + Burp (o la que Uds. quieran) C:Program FilesMicrosoft Visual Studio 10.0Common7IDEWcfTestClient.exe
  • 34. ATACANDO SERVICIOS WEB HERRAMIENTAS Programar Cliente (lenguaje que quieran?):
  • 35. ATACANDO SERVICIOS WEB 3. TESTING WSDL (OWASP-WS-002) Revisar el archivo WSDL del servicio web para encontrar los puntos de entrada y probar incovando las operaciones que no son usadas en un requerimiento SOAP estándar (operaciones escondidas). Probar si es que el WS entrega información confidencial. Webgoat: WSDL Scanning 1. En el Browser 2. En SOAPUI http://192.168.56.101/webgoat/services/WSDLScanning?WSDL
  • 36. ATACANDO SERVICIOS WEB SOAP: SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML
  • 38. ATACANDO SERVICIOS WEB 4. XML CONTENT-LEVEL TESTING (OWASP-WS-004) Esto se logra, alterando los mensajes SOAP para que cumplan nuestro cometido. Abarca ataques al web services y a todo a lo cual él se conecta y está detrás (web servers, databases, application servers, operating systems, etc).
  • 39. ATACANDO SERVICIOS WEB NOTA Muchas de las técnicas de hacking (pentesting) de aplicaciones web, aplican también para servicios web. Las vulnerabilidades en servicios web son similares a las vulnerabilidades en aplicaciones web (SQL injection, information disclosure, etc), pero los servicios web también tienen vulnerabilidades únicas (por ejemplo, vulnerabilidades relacionadas al XML parser).
  • 40. ATACANDO SERVICIOS WEB Parecido? Spoofing Spoofed requests: Attacker spoofs a request from a legitimate client Spoofed responses: Attacker spoofs a response from the server Tampering Man-in-the-middle attack: Attacker inserts themselves into the communication path between communicating parties and impersonates each to the other Injection attack: Attacker supplies malicious input that is directly used in calls to an external or underlying system Insertion of malicious software: Attacker manages to execute or place malicious software on the system Repudiation Denying a web service transaction: Attacker exploits inadequate logging to deny the occurrence of a transaction Replay attack: Attacker captures and replays a valid web method request to the server
  • 41. ATACANDO SERVICIOS WEB Parecido? Information Disclosure Eavesdropping on communication paths: An attacker on the communication path captures passing network traffic Information leaked by verbose error messages: Attacker induces error conditions to extract platform and implementation details Unauthorised access to services or data: Attacker bypasses access control mechanisms or uses a service that was not meant to be running Denial of Service Deplete computer or network resources: Attacker floods the system with junk traffic or valid requests to overwhelm computers, routers, capacity etc. Exploit a programming or implementation flaw: Attacker finds and exploits a flaw in implementation that causes the system to hang or crash Corruption of data to prevent normal operation of the web service: An attacker corrupts application data by exploiting a vulnerability or using unauthorised functionality
  • 42. ATACANDO SERVICIOS WEB Parecido? Elevation of Privilege Remote execution of code or software: An attacker exploits a buffer overflow vulnerability to access or execute commands on the target host with higher privileges than authorised Administrative interfaces or functions available: Attacker is able to access administrative interfaces or functions by bypassing access control mechanisms Webgoat: Web Service SQL Injection - SOAPUI
  • 43. ATACANDO SERVICIOS WEB Diferente? TESTING WSDL XML STRUCTURAL TESTING XML CONTENT-LEVEL TESTING HTTP GET PARAMETERS/REST TESTING NAUGHTY SOAP ATTACHMENTS Replay Attack - “Access Control” || REPLAY TESTING Web Service Intermediario controlado por un atacante Passive WS-MITM - “Confidentiality” (Message Sniffing / Message Snopping) Active WS-MITM - "Integrity" Malicious Morphing (Message Tampering / Content Tampering / Message Alternation / Data Tampering / Falsified Message) Routing Detour XML Signature Wrapping - "Integrity" (XML Rewriting) XML Signature Wrapping - Simple Context XML Signature Wrapping - Optional Element XML Signature Wrapping - Optional Element in Security Header
  • 44. ATACANDO SERVICIOS WEB Diferente? SOAPAction Spoofing - “Access Control” SOAPAction Spoofing - MITM Attack SOAPAction Spoofing - Bypass Attack Metadata Spoofing - "Integrity" WSDL Spoofing (WSDL Parameter Tampering) WS Security Policy Spoofing Attack Obfuscation XML Injection XML Signature - Key Retrieval XSA (Cross Site Attack) XML Signature – XSLT Code Execution Xpath Injection
  • 45. ATACANDO SERVICIOS WEB Diferente? Attacks primarily violating the security objective "Availability" BPEL Instantiation Flooding BPEL Indirect Flooding BPEL State Deviation BPEL Correlation Invalidation BPEL State Invalidation Coercive Parsing Oversized XML DOS (Oversized XML attack) XML Extra Long Names (XML MegaTags / XML Jumbo Tag Names) XML Namespace Prefix Attack XML Oversized Attribute Content XML Oversized Attribute Count Reference Redirect Signature Redirect Encryption Redirect Recursive Cryptography (Oversized Cryptography / Cryptography DOS / XML Complexity Attack in Soap Header) Chained Cryptographic Keys aka Public Key DOS Nested Encrypted Blocks
  • 46. ATACANDO SERVICIOS WEB Diferente? Soap Array Attack SOAP Parameter DOS (Parameter Tampering) WS-Addressing spoofing WS-Addressing spoofing - Generic WS-Addressing spoofing - BPEL Rollback WS-Addressing spoofing - Middleware Hijacking XML Document Size Attack (Oversize payload attack / Jumbo payload Attack) Oversized SOAP Header Oversized SOAP Body Oversized SOAP Envelope XML Encryption - Transformation DOS XML Encryption - XSLT DOS XML Encryption - Xpath DOS XML External Entity DOS XML Entity Expansion XML Generic Entity Expansion XML Recursive Entity Expansion XML Remote Entity Expansion XML C14N Entity Expansion
  • 47. ATACANDO SERVICIOS WEB Diferente? XML Entity Reference Attack XML Flooding Distributed XML Flooding Single XML Flooding XML Signature - Key Retrieval DOS XML Signature – Transformation DOS XML Signature - C14N DOS XML Signature - XSLT DOS XML Signature - Xpath DOS Webgoat: Web Service SAX Injection (parser) - Browser
  • 48. ATACANDO SERVICIOS WEB Hablando de números de tarjeta de crédito: Generalmente sale en los ejemplos por algo? Es sensible dicha información? Han comprado en Saga Falabella? Han pagado con tarjeta? Han visto que en los recibos de caja aparecen los 16 digitos completos!? La seguridad… Le importa a Saga Falabella? A los bancos? A Mastercard? http://fiery-owl.blogspot.com/2012/11/ahora-quien-podra-defenderme.html Hackspy: "NADA ES TAN IMPORTANTE, NI TAN URGENTE QUE NO PUEDA SER HECHO CON SEGURIDAD" Anónimo
  • 50. Gracias! corregir, aportar, etc: oscarmrdc@gmail.com