Alejandro Ramos - Know your ******: 4dv4nc3d P@55w0rd$ (r4c|<1ng [RootedCON 2011]

  • 4,726 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,726
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
168
Comments
0
Likes
2

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. Know your ******4dv4nc3d P@55w0rd$ (r4c|<1ng Alejandro Ramos SecurityByDefault.com
  • 2. Yo. Ego - presentación Manager del TigerTeam de SIA Profesor en el MOSTIC de la Universidad Europea de Madrid Editor de SecurityByDefault.com Aunque lo parezca. No soy gamer =] Blah Blah… ¡Ah! mi twitter: @aramosf
  • 3. ¿Password cracking en 2011? Estudio de políticas de contraseñas «Nuevas» técnicas:  Usos distribuidos  GPGPU  La nube, servidores en Internet Una contraseña suele ser válida para varios sitios  «un anillo para gobernarlos a todos» Para qué ASLR, DEP, IPS, Antivirus, proxies… si la contraseña es el nombre de la compañía Because There Is No Patch To Human Stupidity
  • 4. Aplicaciones que comprueban contraseñas Alejandro2011 http://www.passwordmeter.com/ Alejandro2011https://www.microsoft.com/security/pc-security/password-checker.aspx
  • 5. Políticas de contraseñas Long. Min Dígitos Caráct.Esp. Ej válidos 8 No No 1234567ab 6 No No qwerty 6 No No qwerty 6 No No asdfgh 8 No No qwertyui 6 No No qwerty 6 No No qwerty1234
  • 6. Consejos de Seguridad Si, si, pone «caradehuevo»
  • 7. ¿Qué esta ocurriendo?
  • 8. ¡STOP! Ya todos sabemos… Las contraseñas se deben almacenar de forma segura en nuestras aplicaciones web El método más común es utilizar algoritmo de hash Ejemplo MD5, MD5, SHA1, SHA256Registro en Contraseña 4d186321c1a7f0f354b297e8 md5(hola) 914ab240 web «hola» Acceso: 4d186321c1a7f0f35Contraseña: md5(hola) 4b297e8914ab240 «hola»
  • 9. Dorking filetype: sql log txt Cadenas a buscar:  @hotmail.com @gmail +password +username  Hashes sin salt  e10adc3949ba59abbe56e057f20f883e (md5 123456)  7c4a8d09ca3762af61e59520943dc26494f8941b (sha1 123456)  Volcados de software de gestión de BBDD  "phpMyAdmin SQL Dump"  "Richsoft 2010 Data backup"  "MySQL dump"  "PHPwind bakfile"  "PostgreSQL database dump"  "SHOPEX SQL MultiVolumn"  "Dumped by N3tShell.SQL"  "MySQL Administrator dump 1.4"  Trozos de Bases de datos:  "INSERT INTO `phpbb_users"
  • 10. Ejemplo
  • 11. Incidentes - PHPBB Febrero 2009 Contraseña Num 123456 2650 Obtenidas mediante SQL password 1244 Injection phpbb 708 255.421 usuarios qwerty 562 84,389 contraseñas 12345 418 97% crackeadas 12345678 371 letmein 343 111111 313 1234 273 123456789 253
  • 12. Incidentes - RockYou Diciembre 2009 Contraseña Num 123456 290729 Obtenidas mediante SQL 12345 79076 Injection 123456789 76786 32.603.387 usuarios password 59462 14.344.391 contraseñas iloveyou 49952 Contraseñas en texto plano princess 33291 1234567 21725 Diccionario de gran utilidad rockyou 20901 12345678 20553 abc123 16648
  • 13. Ojo con las estadísticas….
  • 14. Incidentes – Singles.org Red social de citas para Contraseña Num religiosos (?) 123456 221 jesus 63 Acceso al perfil del usuario con password 58 su ID de 6 dígitos 12345679 46 En el perfil se muestra la christ 36 contraseña. love 29 16.250 usuarios princess 27 12.234 contraseñas jesus1 25 sushine 24 1234567 23
  • 15. Incidentes – Internet is for.. Pr0n! Origen y sitio desconocido Contraseña Num 1234 28 10.000 usuarios 123456 25 8.089 contraseñas válidas password 20 pussy 19 12345 18 6969 15 mustang 14 love 14 michael 13 dick 13
  • 16. Incidentes – Gawker Sin detalles del ataque Contraseña Num 123456 4162 Lifehacker / Gizmodo password 3332 748.557 usuarios / hashes 12345678 1444 DES, salt (8 caracteres max) lifehack 861 Muchas pass son HEX (spam) qwerty 765 abc123 529 674,690 encontrados (91%) 12345 503 monkey 471 111111 439 12345 410
  • 17. Gawker – NO-Latinhttp://seclists.org/bugtraq/2010/Feb/5
  • 18. Linkedin
  • 19. Scripts…#!/usr/bin/perluse strict; • http://secby.me/00checkgmailuse Mail::POP3Client; • http://secby.me/01checkpaypaluse IO::Socket::SSL; • http://secby.me/02checkfbmy ($mail,$pass); • http://secby.me/03checkmuopen(FILE,$ARGV[0]); • http://secby.me/04fuckyeahwhile(<FILE>) {chomp();($mail,$pass)=split/:/;next unless $mail =~ /gmail.com/;my $socket = IO::Socket::SSL->new( PeerAddr => pop.gmail.com, PeerPort => 995, Proto => tcp) || die "No socket!"; my $pop = Mail::POP3Client->new(); $pop->User("$mail"); $pop->Pass("$pass"); $pop->Socket($socket); $pop->Connect(); if ($pop->Count() > 0) { print "$mail:$pass:OK!n"; } else { print "$mail:$pass:NOOKn"; }}
  • 20. Incidentes – rootkit Portal de RCE Contraseña Num 123456 1023 Ingeniería social con el password 384 incidente HBGary rootkit 329 81.450 usuarios 111111 190 58,675 contraseñas distintas 12345678 181 54,372 encontradas (93%) qwerty 174 123456789 170 4,303 Pendientes 123123 99 qwertyui 91 12345 89 hijodeputa 1
  • 21. Ejemplos de contraseñas encontradas Rockyou: y los hackers:  phpBB y el amor:  fuckyouhackers  SANDRA TE AMO  trytohackme  Tru Love  some1hackedmypassword  teamojuanpablo  hackingisfunbutbecareful!  lovedogs  hacker!@#$%^&*(  ilovetits Rootkit y el sexo  Gawker y ...:  Transexual27  asslover  pornking  notgay  Ilovebrittanie  gayboy  iownyourass  assfuck1
  • 22. ¿Cómo?
  • 23. Fuerza Bruta Probando todas las combinaciones posibles:  aaaaa…ZZZZ  Markov (http://openwall.info/wiki/john/markov) Uso de Tablas Rainbow para algoritmos sin salt  Mejoran rendimiento en discos duros SSD ($$!) Lista de 500hash MD5 mixalpha_all_space 1-6:  Rainbow Tables: ~6horas  GTX460 IGHASHGPU: 23min Un solo hash MD5:  Rainbow Tables: 2,5min  GTX460 IGHASHGPU: 16min
  • 24. Herramientas (GPU) OclHashcat  http://www.hashcat.net IGHASHGPU  http://www.golubev.com/hashgpu.htm BarsWF  http://3.14.by/en/md5 Whitepixel  http://whitepixel.zorinaq.com/
  • 25. Fuerza Bruta (eh, pero con clase): Máscaras Crear ataques en base a reglas. Ejemplos:  «Los 5 primeros carácteres tiene que ser letras minúsculas y luego 2 dígitos»:  ?l?l?l?l?l ?d?d  «La primera letra máyuscula y luego 6 letras minúsculas»:  ?u?l?l ?l?l?l  «5 caracteres alfanúmericos»  -1 ?l?u?d ?1?1?1 ?1?1?1?l = abcdefghijklmnopqrstuvwxyz?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ?d = 0123456789?s = !”#$%&’()*+,-./:;<=>?@[]^_`{|}~?h = ISO-8859 characters from (0xc0 – 0xff)
  • 26. Oclhashcat
  • 27. Diccionarios Clásicos: openwall, etc Generación:  Wikipedia  Freedb.org  IMDB  …  Crawling (CeWL: http://www.digininja.org/projects/cewl.php) Diccionarios de sitios hackeados anteriormente. Diccionarios de nombres de usuario  Facebook  Usuarios de dumps viejos
  • 28. Ejemplo… IMDB Títulos de películas:$ wget ftp://ftp.fu-berlin.de/pub/misc/movies/database/movies.list.gz$ zcat movies.list.gz | sed -e s|(.*||g > movies.dict$ sort –R movies.dict |head -1 movies.dictMagic in the Sky$ zcat movies.list.gz | sed -e s|(.*||g -es/<(.)([^ ]*)/1/g -e s| ||g |sort –u>moviesacron.dict$ sort –R movies.dict |head -1YWNitMP
  • 29. Diccionarios: Reglas Permutan palabras de un diccionario: Ej «ninja»  Ninja2010, ninja!, NiNjA, $$ninja$$, ninja8==D, ninjaaa! Herramientas: oclhashcat+, hashcat y JtR Reglas creadas por Korelogic:  JtR: http://contest.korelogic.com/rules.html  Ocl/hashcat: https://contest.korelogic.com/rules-hashcat.htmljohn.conf:[List.Rules:RootedRulesAppendrooted]cAz"[rR][oO][oO][tT][eE][dD]«[List.Rules:RootedRulesPrependrooted]A0"[rR][oO][oO][tT][eE][dD]"
  • 30. Ejemplo JtR / Oclhashcat+
  • 31. Diccionarios: fingerprint Dado un diccionario de contraseñas válidas, generar otras combinaciones: $ echo cosa|./hashcat-utils-0.3/expander.exe| sort -u a ac aco acos c co cos cosa o os osa osac s sa sac saco
  • 32. Fingerprint
  • 33. Hardware
  • 34. ¿ AMD o NVIDIA ?  Nvidia:  CUDA está mejor soportado  AMD:  Menos aplicaciones  Drivers problemáticos  Mucho más rápido2500  Más económicas 10000 9000 80002000 70001500 6000 50001000 4000 MD5 3000 500 2000 SHA1 0 1000 0
  • 35. GPGPU – Velocidades (MD5)Basado en: http://golubev.com/gpuest.htm
  • 36. En resumen MD5 SHA1 PrecioGeforce 8600 GT 92 28 -Geforce 9600 GT 253 76 -Geforce GT 220 159 48 52,90 €Geforce GT 240 313 95 68,90 €Geforce GTS 450 668 201 73,90 €GeForce GTX 460 1008 303 127,90 € MD5 SHA1 PrecioNVIDIA Tesla C2050 1392 437 2.279,00 € Radeon HD 4350 115 34 34,99 €GeForce GTX 570 1899 596 314,00 € Radeon HD 4670 602 176 71,00 €GeForce GTX 580 2137 670 519,00 € Radeon HD 5450 192 52 76,90 € Radeon HD 5550 649 176 66,90 € Radeon HD 5770 2509 680 109,90 € Radeon HD 6850 2745 744 157,00 € Radeon HD 6870 3720 1008 199,00 € Radeon HD 5870 5018 1360 295,00 € Radeon HD 5970 8561 2320 569,00 € Radeon HD 6950 4560 1173 284,00 € Radeon HD 6970 5472 1408 326,90 € Radeon HD 6990 9328 2400 600 €
  • 37. En productos comercialeshttp://www.elcomsoft.com/aopr.html
  • 38. Hardware - d3ad0ne
  • 39. Hardware - d3ad0ne
  • 40. Dummy DVI 75 Ω C1-C5 (analog red / analog ground) ó C2-C5 ó C3-C5
  • 41. Dummy VGA ~50-150 Ω C3-C8 C2-C7 C1-C6
  • 42. BarsWF
  • 43. IGHASHGPU
  • 44. Clusters  Fabricantes: Cubix  16 slots pci express  28.500$ (ups!)
  • 45. PS3 Condor Cluster 1760 consolas
  • 46. Distribuido
  • 47. Amazon Ofrece Instancia con 2 Nvidia TESLA a 2$ la hora = 410M/s Velocidad similar a 1 Geforce GT 240 (70$)  8 instancias durante una semana = 4 ATI 5790  4 ATI =36.000M/s  8 Instancias = 1.640M/s
  • 48. Gracias.Alejandro Ramos / @aramosf SecurityByDefault.com SecurityByDefault.com