• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
961
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Aseguramiento deaplicaciones web con ESAPI Juan David Parra (nopbyte)– LNHG nopbytelownoisehg.org Twitter: @nopbyte Blog: nopbyte.blogspot.com http://www.lownoisehg.org/
  • 2. ¿ QuéesLowNoise HG ?•Grupo de Investigación (Hacking only)•Creado en 1995•Multidisciplinario (No sóloIngenieros)•ObjetivoComún:Seguridad vs. Inseguridad• Sin Ánimo de Lucro•RecursosPropios• Sin Afiliación a Empresas/Entidades
  • 3. ¿ QuéesLowNoise HG ?Investigacionesactuales en: - GSM / GPRS - Ingenieríareversa - Detección de intrusos - Muchasotras …Másinformación en: http://www.lownoisehg.org/
  • 4. ¿ Quiénesnopbyte ?•Juan David Parra•Afinidadesbásicas: •Desarrollo de herramientas de hacking •Detección de vulnerabilidades •Desarrollo de shellcode •Linux •Windows Internals
  • 5. DISCLAIMER•Todo lo que se hable y se muestre enestacharlaes el resultado de investigacionescon fines educativos. YO = Alguien más•Tododescubrimientorealizado, ha sidoyseráusado de forma legal, por LNHG.•La audienciadebeasumirtodo lo seexpongahoy, como “falso” y “sin fundamento”hastaque lo compruebepersonalmente.• Juan David no es el autordirecto de ningunode los descubrimientosexpuestos, ni delasherramientasdemostradas, ni los conoce.
  • 6. ¿ Qué vamos a ver hoy ?•OWASP ¿Qué es?•Algunas vulnerabilidades web•Arquitectura de ESAPI•Demostración de ataque a vulnerabilidades•Demostración de eliminación devulnerabilidades
  • 7. OWASP ¿Quées?•Proyecto ABIERTO de aseguramiento deaplicaciones web, porsussiglas en inglés (OpenWeb Application Security Project)•Existenproyectosdentro de OWASP como: •ESAPI •AntiSammy •WebScarab •OWASP top 10
  • 8. Algunasvulnerabilidades web•Vulnerabilidadesmáscomunes en aplicacionesweb. •XSS (Cross site scripting persistente, o no persistente) •XSRF o CSRF (Cross site request forgery) •Falta de control de acceso a URL •Inyección de código
  • 9. Ilustración XSS (OWASP Top 10 2010) 1 Atacanteingresa la trampa Application with stored XSS Atacanteinserta script vulnerability malicioso en la página y lo guarda en el sistema Communication Bus. Functions Administration E-Commerce Transactions Knowledge Accounts Finance Mgmt 2 Victim views page – sees attacker profile Custom Code El script insertadopor el atacantecorre en el explorador de la victima con acceso al DOM y a suscookies 3 El script envíasilenciosamente la cookie del usuario al atacante
  • 10. CSRF ilustrado OWASP( top 10 2010) El atacantecolocaunatrampa en supágina web o via email. 1 Application with El CSRF vulnerability códigomaliciosocont iene un tag <img> Communication Bus. Functions Administration Transactions E-Commerce Knowledge contra el sitio Accounts Finance Mgmt vulnerable La victimaabre el email o la página 2 web del atacantemientras se encuentra Logeado en el sistema Custom Code 3 El sitio vulnerable ve El tag <img>ejecuta un la request http GET accióncomolegítima (incluyendolascredemc (con lascredenciales iales del usuario en el de la victima ) y sitio vulnerable) ejecuta la acción.
  • 11. Falta de restricción de Acceso a URL (OWASP top 10 2010) • El atacantepuedeverque lahttps://www.onlinebank.com/user/getAccounts URL indicasurol /usuario/buscarCuentas • Modifica la urlparaacceder a: /admin/buscarCuentas • El atacantetieneaccesomásinf ormación de la quedebería.
  • 12. Inyección de código (SQL)•¿Quépodríatener de malohaceresto?consulta = “SELECT FROM usuarios where cuenta = „ ” +cuenta + “ ‟ ”;ejecutarSQL(consulta);
  • 13. Inyección de código (SQL)•Y si el usuarioescribecomocuenta: pepito‟; DROP TABLE usuario;--Entonces el progarmava a ejecutar: • SELECT FROM usuarios where cuenta = ‘ pepito ’; DROP TABLE usuario; -- ’Ouch!!
  • 14. Otrasvulnerabilidadesexistentes…•Modificación de cookies.•Predicción de identificador de sesión.•Mal uso de criptografía ( uso dealgoritmosdébiles de cifrado y/o hashing )•Entre otrasmás …
  • 15. ¿Cómosolucionarestosinconvenientes? •Debemosverificarpara la tecnologíaqueestemosusandolasgarantíasofreci daspor el ambiente de desarrollo (Hibernate evitaSQLiporejemplo). •Los puntosque no se encuentrencubiertosporestosmediosdeben ser aseguradosusandolibreríasexternas. •ESAPI esusado en la actualidadporempresascomo American Express, Foundstone(McAfee), U.S Navy.
  • 16. Integración de ESAPI•Contienecódigoreutilizable.•Define un conjunto de interfaces que DEBENser implementadaspara la integración de lalibrería.•La definición de estas interfaces promueven eluso de buenasprácticas en cuanto adesarrolloseguro.
  • 17. Arqutectura de ESAPI•Accesounificado a los recursos.•Interfaces: •Authenticator •HttpUtilities •Encoder •Cryptography •AccessReferenceMap •Entre otras…
  • 18. Arqutectura de ESAPI•Contieneimplementacionespordefecto ( o guíade desarrollo ).•Interfaces: •FileBasedAuthenticator •DefaultHttpUtilities •DefaultEncoder •RandomAccessReferenceMap
  • 19. A lo quevinimos•Ahorasi:•Vamos a HACKEARNOS algo!•Y luego… a evitarque se puedahackear …
  • 20. FIN•Graciaspor la paciencia• Para investigaciones con LNHG: nopbyte@lownoisehg.org Twitter: @nopbyte http://www.lownoisehg.org/