SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
Password Cracking
correct horse battery staple
Hello!I am Javier Junquera
Investigador en ciberseguridad, y profesor
asociado en la Universidad de Alcalá
You can find me at javier.junquera@uah.es
@junquera
2
Cybersecurity Research
Group UAH
I am Kevin Van Liebergen
Becario de investigación en cátedra
ISDEFE
You can find me at @KevinLiebergen
3
Hello!
Contraseñas
Almacenamiento de contraseñas
➔ Codificar no es cifrar
◆ Reversible sin dificultad
➔ Cifrar no es hashear
◆ Reversible
➔ Hashear es hashear, pero no lo es todo
Codificaciones ¿Son seguras?
❖ Tipos
➢ Base64
➢ Base32
➢ ASCII
No existe clave,
únicamente es conversión
Codificaciones. Usos
● Parámetro HTTP en los formularios
● Datos binarios en URL
$ printf “ciberseg” | base64
Y2liZXJzZWc=
$ printf “Y2liZXJzZWc=” | base64 -d
ciberseg
Almacenamiento de contraseñas
➔ Las contraseñas se deben almacenar protegidas
◆ En claro: No están protegidas
◆ En base64: No están protegidas
◆ En base32: Tampoco
Es una función matemática que comprime la
información de forma rápida para que sea identificable.
Hashing: ¿Qué es un hash?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
H(0000010111110010)
=
0110
Checksum
0000
0101
1111
+ 0010
10110
H(0000010111110010)
=
0110
Checksum
0000
0101
1111
+ 0010
10110
Es una función matemática que comprime la
información de forma rápida para que sea identificable.
Hashing: ¿Qué es un hash?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
Es una función matemática que comprime la
información de forma rápida para que sea identificable.
¿Qué es un hash criptográfico?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
❖ Dos datos distintos dan
siempre dos hashes
diferentes
Hash criptográfico
1. H(A) = H(A)
2. H(A) != H(B)
3. | H(A) - H(A + ϵ) | > δ
4. H-1
(H(A)) = ∅
Hashes criptográficos
❖ MD5
❖ SHA1
❖ SHA256
❖ SHA-3 (Keccak)
Hashes criptográficos
$ printf 'jajaja' | openssl dgst -md5
(stdin)= 655faa8ba799a3a1ae309c2b40d142fc
$ printf 'jajaja' | openssl dgst -sha1
(stdin)= 4598cfd1cfe70d29e5c9d77b51002f272790ba66
$ printf 'jajaja' | openssl dgst -sha256
(stdin)= 0a887c3cb3de97b3968be5c7fb81ed9e452928db71d66620b7766bf7c5413878
$ printf 'jajaja' | openssl dgst -sha3-512
(stdin)=
c88fbe79ca2e809915a6ab2e8fd8461c15180ac28cd7b4dab0fbca9f8812169089305890a6e468
bcde9f08e4cc3eaa00775ab9c9ec28c8cfb54d4de9493676fd
Hashes
➔ Las contraseñas se deben almacenar protegidas
➔ ¿Están protegidas con MD5, SHA1, SHA256… ?
◆ No lo suficiente
Hashes
Pongamos que tenemos la siguiente contraseña:
Passw0rd!
➔ a-z → 26 caracteres
➔ A-Z → 26 caracteres
➔ Caracteres especiales → 32 caracteres
➔ Total: 84 caracteres; Tamaño: 9;
➔ Coste medio: (849
)/2 ~ 104.107.874.265.464.832
Hashes
➔ Coste medio: (849
)/2 ~
104.107.874.265.464.832
➔ Si tenemos 240GH/s
◆ 240.000.000H/s
◆ 13 años en obtenerlo
¡PERO!
1. password → Mayus/Minus → 28
=256
2. Password → 1337 → 24
x 256 = 4096
3. Passw0rd → Append/Prepend →
2 x 32 x 4096 = 262144
4. Passw0rd!
262.144 / 240.000.000 ~ 0,001 segundos
Hashes
➔ Collection#1 → 21.000.000
➔ En GPU
◆ 21.000.000/240.000.000
● 0,0875 s
➔ En una CPU
◆ 21.000.000/200.000
● 87,5 s
➔ En cada entrada i del diccionario
MD5(diccionario[i]) ==
MD5(Passw0rd!)
➔ Hay diccionarios de hashes
(RainbowTables)
diccionario[i] ==
MD5(Passw0rd!)
Rainbow Tables
➔ Primer paso para protegerlas más:
◆ +SALT (no valen RainbowTables)
◆ Passw0rd! + Número del 1 al 1024 →
● MD5(Passw0rd! + Número del 1 al 1024) +
Número del 1 al 1024
➔ Coste con diccionario: Tamaño del diccionario
Hashes
Hashes
➔ Primer paso para protegerlas más:
◆ +PEPPER
◆ Passw0rd! + Número del 1 al 1024 →
● MD5(Passw0rd! + Número del 1 al 1024)
➔ Coste con diccionario: Tamaño del diccionario * 1024
Hashes
➔ Las contraseñas se deben almacenar protegidas
➔ ¿Están protegidas con MD5, SHA1, SHA256… ? + (
SALT | PEPPER )
◆ No lo suficiente → ¡Paralelizable!
Hashing
Mensaje original
Bloque 2Bloque 1 Bloque 3
Hash 2Hash 1 Hash 3
Hash
Mensaje original
Bloque 2Bloque 1 Bloque 3
Hash 2
Hash 1
Hash
Paralelizable Completamente paralelizable
Hashes
➔ Las contraseñas se deben almacenar protegidas
◆ Hashes seguros
● PBKDF2
● BCRYPT
● ARGON2
Hashes
➔ PBKDF2
◆ Sistema de generación de claves
◆ Incluye salt, y se indica factor de esfuerzo
Hashes
➔ PBKDF2
Protegemos Passw0rd! con SALT 0xdeadbeef, y
esfuerzo 1.000:
◆ K0
= HASH(“Passw0rd!xdexadxbexef”)
◆ K1
= HASH(K0
+ “xdexadxbexef”)
◆ …
◆ K1000
= HASH(K999
+ “xdexadxbexef”)
Hashes
➔ Argon2
◆ Especial contra GPUs
◆ Uso intensivo de memoria
◆ Aleatorización de pasos dependiente de la
password
➔ Modo i → Contra side-channels
➔ Modo d → Contra GPU
➔ Modo id → Mixto
PHC 2015
➔ Hay ciertos hashes
especialmente críticos
◆ NTLM
Hashes
Hashes
➔ Hay ciertos hashes
especialmente
críticos
◆ JWT
Hashes
➔ Hay ciertos hashes
especialmente críticos
◆ Handshake WPA2
● HMAC (código MIC)
● ~PBKDF2 (códigos
PTK y PMK)
Enfoque
1. Ataque por diccionario
2. Ataque por patrones
3. Ataque por heurística
4. Ataque por fuerza bruta
5. Rubber hose cryptanalysis
Puesta a punto
$ git clone
https://gitlab.com/ciberseg_uah/public
/password-cracking.git
$ cd password-cracking
$ git submodule init
$ git submodule update --recursive
Puesta a punto
$ sudo apt-get -y install 
git build-essential libssl-dev 
zlib1g-dev yasm pkg-config 
libgmp-dev libpcap-dev libbz2-dev 
ocl-icd-opencl-dev opencl-headers 
pocl-opencl-icd
Puesta a punto
$ cd JohnTheRipper/src/
$ ./configure
$ make -s clean && make -sj16
Diccionarios
➔ Públicos
◆ SecLists (rockyou, openwall)
➔ “Ocultos”
◆ Pwndb
➔ Reglas
◆ Best64, d3ad0ne, T0X1C, dive → Jumbo
➔ Rainbow Tables
Diccionarios
➔ Diccionario público (ejemplo 1)
$ tar xvfz 
SecLists/Passwords/Leaked-Databases/ 
rockyou.txt.tar.gz
$ JohnTheRipper/run/john 
--wordlist=rockyou.txt ARCHIVO
Diccionarios
➔ Diccionario público (ejemplo 1)
$ JohnTheRipper/run/john 
--show ARCHIVO
Diccionarios
➔ Diccionario + Reglas (ejemplo 2)
$ printf 'Passw0rd!' | md5sum | cut
-d' ' -f1 > password.txt
$ echo ‘password’ > dict1.txt
$ JohnTheRipper/run/john
--wordlist=dict1.txt --rules=best64
--stdout > dict2.txt
Diccionarios
➔ Diccionario + Reglas (ejemplo 2)
$ JohnTheRipper/run/john
--wordlist=dict2.txt --rules=best64
--stdout > dict3.txt
$ JohnTheRipper/run/john
--format=raw-md5 --wordlist=dict3.txt
--rules=jumbo password.txt
Estadísticas
➔ Media 7-9 caracteres
➔ Mayúscula suele ser la primera. Número al final
➔ Mujeres más nombres personales
➔ Hombres más hobbies
➔ $ ! #
➔ 1,2. Si son más de dos números suele ser progresión.
Patrones
➔ Ingeniería social
➔ Datos de evidencias forenses
➔ CUPP
➔ Combinaciones secuenciales (1234, qwerty)
comunes
Patrones
➔ Pwndb
◆ Visitar http://pwndb2am4tzkvold.onion/
◆ Buscar un usuario con patrón
➔ En el repo tenéis una API para pwndb
Patrones
➔ Diccionario de usuario
◆ Herramienta cupp:
https://github.com/Mebus/cupp
◆ También lo tenéis en el repo
Patrones
➔ Crear máscara + Diccionario (ejemplo 3)
$ JohnTheRipper/run/john
--wordlist=dict.txt --mask=’1234?w’
--stdout
$ JohnTheRipper/run/john
--wordlist=dict.txt
--mask=’?d?d?d?d?w’ --stdout
Heurísticas
➔ Modelos de Markov en John
$ printf 'jajaja' | sha256sum | cut
-d' ' -f1 > password.txt
$ JohnTheRipper/run/john
--format=raw-sha256 --markov
password.txt
Fuerza bruta
$ printf 'jajaja' | sha1sum | cut -d' ' -f1 > password.txt
$ JohnTheRipper/run/john --list=inc-modes
digits upper lower lowerspace uppernum
lowernum alpha alnum custom alnumspace
lanman lm_ascii ascii latin1 utf8
Fuerza bruta
$ JohnTheRipper/run/john --inc=alpha password.txt
$ JohnTheRipper/run/john --inc=alnum password.txt
$ JohnTheRipper/run/john --inc=utf8 password.txt
Aplicaciones
➔ *2john
◆ Además de todas las herramientas de generación
de diccionarios y ruptura de contraseñas, tenemos
las herramientas de tratamiento de archivos
Aplicaciones
➔ *2john
$ chmod +x JohnTheRipper/run/*2john*
$ JohnTheRipper/run/keepass2john
KEEPASS.database
database:$keepass$*2*60000*0*f8f8072b4
e5b2bb61498393294538d3ed33d7c1093c04cb
07540ece1eb3da4b8*fdcaa85383c...
Aplicaciones
1. Romper KeepassX
2. Romper ZIP
3. Romper PDF
Optimización por GPU
Optimización por GPU
JohnTheRipper/run/john 
--fork=8 --format=KeePass-opencl 
--wordlist=rockyou.txt 
keepass-hash.txt
Aplicaciones
1. Romper KeepassX
a. Rockyou
2. Romper ZIP
3. Romper PDF
1. Romper KeepassX
a. Rockyou
2. Romper ZIP
a. Rockyou + Patrón
3. Romper PDF
Aplicaciones
Aplicaciones
1. Romper KeepassX
a. Rockyou
2. Romper ZIP
a. Rockyou + Patrón
3. Romper PDF
a. alnum ([a-z][0-9]) < 10 caracteres
Soluciones en la nube
➔ Crackstation
➔ OnlineHashCrack
➔ AWS
Recomendaciones
➔ Longitud: Mínimo 10 caracteres
➔ ¡No repetirlas!
➔ Juego de caracteres
◆ ¿Necesitas recordarla?
● Mejor frase larga
◆ Si no, usa un gestor de contraseñas
➔ Segundo factor de autenticación
Recomendaciones
➔ Comprobar seguridad de
contraseña
◆ No está en un volcado o
diccionario
➔ Sobre el cambio periódico
de contraseñas… No :)
◆ Subscripción a servicios
de detección de leaks
▹ ProTego is focused in provide a toolkit for health care
organisations to better assess and reduce cybersecurity
risk
▸ https://protego-project.eu/
▸ @protego_project
Acknowledgment
Research and innovation programme under grant agreement No. 826284.
Bibliografía
➔ The Ultimate Guide to Passwords in 2019: Length, Complexity & More!
➔ iphelix/pack: PACK (Password Analysis and Cracking Kit)
➔ Mebus/cupp: Common User Passwords Profiler (CUPP)
➔ Password Hashing: Scrypt, Bcrypt and ARGON2 - Michele Preziuso
➔ Rubber-Hose Cryptanalysis
➔ how does NTLM authentication work | What is Active Directory? Microsoft
Active Directory Fundamentals with Video Tutorials
➔ I know your P4$$w0rd (and if i don´t, I will guess it) (J. Sánchez y P. Caro,
Telefónica)
63
Thanks!Any questions?
You can find us at
javier.junquera@uah.es
kevin.van@edu.uah.es

Más contenido relacionado

La actualidad más candente

Logging, Metrics, and APM: The Operations Trifecta
Logging, Metrics, and APM: The Operations TrifectaLogging, Metrics, and APM: The Operations Trifecta
Logging, Metrics, and APM: The Operations TrifectaElasticsearch
 
Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıKurtuluş Karasu
 
Sistema de informacion, organización y estrategia cap 3
Sistema de informacion, organización y estrategia   cap 3Sistema de informacion, organización y estrategia   cap 3
Sistema de informacion, organización y estrategia cap 3Darling Beatriz Izaguirre
 
Sistema de Información, Organización y Estrategias
Sistema de Información, Organización y EstrategiasSistema de Información, Organización y Estrategias
Sistema de Información, Organización y EstrategiasLesly Villalta
 
Proyecto Seguridad en Redes
Proyecto Seguridad en RedesProyecto Seguridad en Redes
Proyecto Seguridad en RedesBrian Piragauta
 
Ventajas competitivas y sistemas de informacion
Ventajas competitivas y sistemas de informacionVentajas competitivas y sistemas de informacion
Ventajas competitivas y sistemas de informacionJuan Manuel Master
 
IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처InGuen Hwang
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuLinux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuAhmet Gürel
 
Red Team Methodology - A Naked Look
Red Team Methodology - A Naked LookRed Team Methodology - A Naked Look
Red Team Methodology - A Naked LookJason Lang
 
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKE
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKEThere's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKE
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKEJeff Beley
 
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi Toplama
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi ToplamaBeyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi Toplama
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi ToplamaPRISMA CSI
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1BGA Cyber Security
 
Infraestructura de TI y Tecnologías Emergentes
Infraestructura de TI y Tecnologías EmergentesInfraestructura de TI y Tecnologías Emergentes
Infraestructura de TI y Tecnologías Emergentespalaciosxavier
 
Mapa mental (seguridad informatica)
Mapa mental (seguridad informatica)Mapa mental (seguridad informatica)
Mapa mental (seguridad informatica)Uber
 
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiMetasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiFatih Ozavci
 
CyberOps Associate Modul 27 Working with Network Security Data
CyberOps Associate Modul 27 Working with Network Security DataCyberOps Associate Modul 27 Working with Network Security Data
CyberOps Associate Modul 27 Working with Network Security DataPanji Ramadhan Hadjarati
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?ArangoDB Database
 

La actualidad más candente (20)

Logging, Metrics, and APM: The Operations Trifecta
Logging, Metrics, and APM: The Operations TrifectaLogging, Metrics, and APM: The Operations Trifecta
Logging, Metrics, and APM: The Operations Trifecta
 
Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığı
 
Sistema de informacion, organización y estrategia cap 3
Sistema de informacion, organización y estrategia   cap 3Sistema de informacion, organización y estrategia   cap 3
Sistema de informacion, organización y estrategia cap 3
 
Sistema de Información, Organización y Estrategias
Sistema de Información, Organización y EstrategiasSistema de Información, Organización y Estrategias
Sistema de Información, Organización y Estrategias
 
Snort IDS
Snort IDSSnort IDS
Snort IDS
 
Proyecto Seguridad en Redes
Proyecto Seguridad en RedesProyecto Seguridad en Redes
Proyecto Seguridad en Redes
 
Ventajas competitivas y sistemas de informacion
Ventajas competitivas y sistemas de informacionVentajas competitivas y sistemas de informacion
Ventajas competitivas y sistemas de informacion
 
IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuLinux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
 
Red Team Methodology - A Naked Look
Red Team Methodology - A Naked LookRed Team Methodology - A Naked Look
Red Team Methodology - A Naked Look
 
NMap
NMapNMap
NMap
 
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKE
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKEThere's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKE
There's always money in the banana stand: A BLUE TEAMER’S GUIDE TO COBALT STRIKE
 
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi Toplama
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi ToplamaBeyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi Toplama
Beyaz Şapkalı Hacker CEH Eğitimi - Aktif Bilgi Toplama
 
Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1Log Yönetimi ve Saldırı Analizi Eğitimi -1
Log Yönetimi ve Saldırı Analizi Eğitimi -1
 
Infraestructura de TI y Tecnologías Emergentes
Infraestructura de TI y Tecnologías EmergentesInfraestructura de TI y Tecnologías Emergentes
Infraestructura de TI y Tecnologías Emergentes
 
Mapa mental (seguridad informatica)
Mapa mental (seguridad informatica)Mapa mental (seguridad informatica)
Mapa mental (seguridad informatica)
 
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim RehberiMetasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
Metasploit Framework - Giris Seviyesi Guvenlik Denetim Rehberi
 
CyberOps Associate Modul 27 Working with Network Security Data
CyberOps Associate Modul 27 Working with Network Security DataCyberOps Associate Modul 27 Working with Network Security Data
CyberOps Associate Modul 27 Working with Network Security Data
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 

Similar a Password cracking

PHPVigo #17 - lightning password hash
PHPVigo #17 - lightning password hashPHPVigo #17 - lightning password hash
PHPVigo #17 - lightning password hashRolando Caldas
 
Taller Esteganografia FLISoL Celaya 2011
Taller Esteganografia FLISoL Celaya 2011Taller Esteganografia FLISoL Celaya 2011
Taller Esteganografia FLISoL Celaya 2011hecky NeobitsOrg
 
Optimizando Sitios webs con Memcached
Optimizando Sitios webs con MemcachedOptimizando Sitios webs con Memcached
Optimizando Sitios webs con Memcachedrodasc
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución LinuxMauro Parra-Miranda
 
CPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoCPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoWebsec México, S.C.
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
 
José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]RootedCON
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Alejandro Ramos
 
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...RootedCON
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHPRodrigo Miranda
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0wcuestas
 
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusNoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusINCIDE
 
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]RootedCON
 
Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019Labs CSL
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la DebianLeonardo Cezar
 

Similar a Password cracking (20)

PHPVigo #17 - lightning password hash
PHPVigo #17 - lightning password hashPHPVigo #17 - lightning password hash
PHPVigo #17 - lightning password hash
 
Taller Esteganografia FLISoL Celaya 2011
Taller Esteganografia FLISoL Celaya 2011Taller Esteganografia FLISoL Celaya 2011
Taller Esteganografia FLISoL Celaya 2011
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
Optimizando Sitios webs con Memcached
Optimizando Sitios webs con MemcachedOptimizando Sitios webs con Memcached
Optimizando Sitios webs con Memcached
 
Php
PhpPhp
Php
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución Linux
 
CPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoCPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto Salgado
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]José Ramón Palanco - NoSQL Security [RootedCON 2011]
José Ramón Palanco - NoSQL Security [RootedCON 2011]
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
 
Python Securidad and Criptografia
Python Securidad and CriptografiaPython Securidad and Criptografia
Python Securidad and Criptografia
 
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHP
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusNoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirus
 
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
 
Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019
 
PostgreSQL À la Debian
PostgreSQL À la DebianPostgreSQL À la Debian
PostgreSQL À la Debian
 

Más de Javier Junquera

Don’t go breaking my heart: hacking medical devices (RootedCON 2023)
Don’t go breaking my heart:  hacking medical devices (RootedCON 2023)Don’t go breaking my heart:  hacking medical devices (RootedCON 2023)
Don’t go breaking my heart: hacking medical devices (RootedCON 2023)Javier Junquera
 
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)Javier Junquera
 
De PARCHE a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...
De PARCHE  a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...De PARCHE  a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...
De PARCHE a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...Javier Junquera
 
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a Supernova
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a SupernovaEl caso Solorigate: la exposición de SolarWinds, de SUNBURST a Supernova
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a SupernovaJavier Junquera
 
The day I ruled the world (RootedCON 2020)
The day I ruled the world (RootedCON 2020)The day I ruled the world (RootedCON 2020)
The day I ruled the world (RootedCON 2020)Javier Junquera
 
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...Javier Junquera
 
Tecnologías avanzadas de descubrimiento y análisis de la Dark Net
Tecnologías avanzadas de descubrimiento y análisis de la Dark NetTecnologías avanzadas de descubrimiento y análisis de la Dark Net
Tecnologías avanzadas de descubrimiento y análisis de la Dark NetJavier Junquera
 

Más de Javier Junquera (7)

Don’t go breaking my heart: hacking medical devices (RootedCON 2023)
Don’t go breaking my heart:  hacking medical devices (RootedCON 2023)Don’t go breaking my heart:  hacking medical devices (RootedCON 2023)
Don’t go breaking my heart: hacking medical devices (RootedCON 2023)
 
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)
 
De PARCHE a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...
De PARCHE  a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...De PARCHE  a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...
De PARCHE a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...
 
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a Supernova
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a SupernovaEl caso Solorigate: la exposición de SolarWinds, de SUNBURST a Supernova
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a Supernova
 
The day I ruled the world (RootedCON 2020)
The day I ruled the world (RootedCON 2020)The day I ruled the world (RootedCON 2020)
The day I ruled the world (RootedCON 2020)
 
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...
 
Tecnologías avanzadas de descubrimiento y análisis de la Dark Net
Tecnologías avanzadas de descubrimiento y análisis de la Dark NetTecnologías avanzadas de descubrimiento y análisis de la Dark Net
Tecnologías avanzadas de descubrimiento y análisis de la Dark Net
 

Último

Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 

Último (20)

Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 

Password cracking

  • 2. Hello!I am Javier Junquera Investigador en ciberseguridad, y profesor asociado en la Universidad de Alcalá You can find me at javier.junquera@uah.es @junquera 2 Cybersecurity Research Group UAH
  • 3. I am Kevin Van Liebergen Becario de investigación en cátedra ISDEFE You can find me at @KevinLiebergen 3 Hello!
  • 5. Almacenamiento de contraseñas ➔ Codificar no es cifrar ◆ Reversible sin dificultad ➔ Cifrar no es hashear ◆ Reversible ➔ Hashear es hashear, pero no lo es todo
  • 6. Codificaciones ¿Son seguras? ❖ Tipos ➢ Base64 ➢ Base32 ➢ ASCII No existe clave, únicamente es conversión
  • 7. Codificaciones. Usos ● Parámetro HTTP en los formularios ● Datos binarios en URL $ printf “ciberseg” | base64 Y2liZXJzZWc= $ printf “Y2liZXJzZWc=” | base64 -d ciberseg
  • 8. Almacenamiento de contraseñas ➔ Las contraseñas se deben almacenar protegidas ◆ En claro: No están protegidas ◆ En base64: No están protegidas ◆ En base32: Tampoco
  • 9. Es una función matemática que comprime la información de forma rápida para que sea identificable. Hashing: ¿Qué es un hash? ❖ Siempre del mismo tamaño ❖ No es reversible ❖ Los mismos datos dan siempre el mismo hash
  • 12. Es una función matemática que comprime la información de forma rápida para que sea identificable. Hashing: ¿Qué es un hash? ❖ Siempre del mismo tamaño ❖ No es reversible ❖ Los mismos datos dan siempre el mismo hash
  • 13. Es una función matemática que comprime la información de forma rápida para que sea identificable. ¿Qué es un hash criptográfico? ❖ Siempre del mismo tamaño ❖ No es reversible ❖ Los mismos datos dan siempre el mismo hash ❖ Dos datos distintos dan siempre dos hashes diferentes
  • 14. Hash criptográfico 1. H(A) = H(A) 2. H(A) != H(B) 3. | H(A) - H(A + ϵ) | > δ 4. H-1 (H(A)) = ∅
  • 15. Hashes criptográficos ❖ MD5 ❖ SHA1 ❖ SHA256 ❖ SHA-3 (Keccak)
  • 16. Hashes criptográficos $ printf 'jajaja' | openssl dgst -md5 (stdin)= 655faa8ba799a3a1ae309c2b40d142fc $ printf 'jajaja' | openssl dgst -sha1 (stdin)= 4598cfd1cfe70d29e5c9d77b51002f272790ba66 $ printf 'jajaja' | openssl dgst -sha256 (stdin)= 0a887c3cb3de97b3968be5c7fb81ed9e452928db71d66620b7766bf7c5413878 $ printf 'jajaja' | openssl dgst -sha3-512 (stdin)= c88fbe79ca2e809915a6ab2e8fd8461c15180ac28cd7b4dab0fbca9f8812169089305890a6e468 bcde9f08e4cc3eaa00775ab9c9ec28c8cfb54d4de9493676fd
  • 17. Hashes ➔ Las contraseñas se deben almacenar protegidas ➔ ¿Están protegidas con MD5, SHA1, SHA256… ? ◆ No lo suficiente
  • 18. Hashes Pongamos que tenemos la siguiente contraseña: Passw0rd! ➔ a-z → 26 caracteres ➔ A-Z → 26 caracteres ➔ Caracteres especiales → 32 caracteres ➔ Total: 84 caracteres; Tamaño: 9; ➔ Coste medio: (849 )/2 ~ 104.107.874.265.464.832
  • 19. Hashes ➔ Coste medio: (849 )/2 ~ 104.107.874.265.464.832 ➔ Si tenemos 240GH/s ◆ 240.000.000H/s ◆ 13 años en obtenerlo ¡PERO! 1. password → Mayus/Minus → 28 =256 2. Password → 1337 → 24 x 256 = 4096 3. Passw0rd → Append/Prepend → 2 x 32 x 4096 = 262144 4. Passw0rd! 262.144 / 240.000.000 ~ 0,001 segundos
  • 20. Hashes ➔ Collection#1 → 21.000.000 ➔ En GPU ◆ 21.000.000/240.000.000 ● 0,0875 s ➔ En una CPU ◆ 21.000.000/200.000 ● 87,5 s ➔ En cada entrada i del diccionario MD5(diccionario[i]) == MD5(Passw0rd!) ➔ Hay diccionarios de hashes (RainbowTables) diccionario[i] == MD5(Passw0rd!)
  • 22. ➔ Primer paso para protegerlas más: ◆ +SALT (no valen RainbowTables) ◆ Passw0rd! + Número del 1 al 1024 → ● MD5(Passw0rd! + Número del 1 al 1024) + Número del 1 al 1024 ➔ Coste con diccionario: Tamaño del diccionario Hashes
  • 23. Hashes ➔ Primer paso para protegerlas más: ◆ +PEPPER ◆ Passw0rd! + Número del 1 al 1024 → ● MD5(Passw0rd! + Número del 1 al 1024) ➔ Coste con diccionario: Tamaño del diccionario * 1024
  • 24. Hashes ➔ Las contraseñas se deben almacenar protegidas ➔ ¿Están protegidas con MD5, SHA1, SHA256… ? + ( SALT | PEPPER ) ◆ No lo suficiente → ¡Paralelizable!
  • 25. Hashing Mensaje original Bloque 2Bloque 1 Bloque 3 Hash 2Hash 1 Hash 3 Hash Mensaje original Bloque 2Bloque 1 Bloque 3 Hash 2 Hash 1 Hash Paralelizable Completamente paralelizable
  • 26. Hashes ➔ Las contraseñas se deben almacenar protegidas ◆ Hashes seguros ● PBKDF2 ● BCRYPT ● ARGON2
  • 27. Hashes ➔ PBKDF2 ◆ Sistema de generación de claves ◆ Incluye salt, y se indica factor de esfuerzo
  • 28. Hashes ➔ PBKDF2 Protegemos Passw0rd! con SALT 0xdeadbeef, y esfuerzo 1.000: ◆ K0 = HASH(“Passw0rd!xdexadxbexef”) ◆ K1 = HASH(K0 + “xdexadxbexef”) ◆ … ◆ K1000 = HASH(K999 + “xdexadxbexef”)
  • 29. Hashes ➔ Argon2 ◆ Especial contra GPUs ◆ Uso intensivo de memoria ◆ Aleatorización de pasos dependiente de la password ➔ Modo i → Contra side-channels ➔ Modo d → Contra GPU ➔ Modo id → Mixto PHC 2015
  • 30. ➔ Hay ciertos hashes especialmente críticos ◆ NTLM Hashes
  • 31. Hashes ➔ Hay ciertos hashes especialmente críticos ◆ JWT
  • 32. Hashes ➔ Hay ciertos hashes especialmente críticos ◆ Handshake WPA2 ● HMAC (código MIC) ● ~PBKDF2 (códigos PTK y PMK)
  • 33. Enfoque 1. Ataque por diccionario 2. Ataque por patrones 3. Ataque por heurística 4. Ataque por fuerza bruta 5. Rubber hose cryptanalysis
  • 34. Puesta a punto $ git clone https://gitlab.com/ciberseg_uah/public /password-cracking.git $ cd password-cracking $ git submodule init $ git submodule update --recursive
  • 35. Puesta a punto $ sudo apt-get -y install git build-essential libssl-dev zlib1g-dev yasm pkg-config libgmp-dev libpcap-dev libbz2-dev ocl-icd-opencl-dev opencl-headers pocl-opencl-icd
  • 36. Puesta a punto $ cd JohnTheRipper/src/ $ ./configure $ make -s clean && make -sj16
  • 37. Diccionarios ➔ Públicos ◆ SecLists (rockyou, openwall) ➔ “Ocultos” ◆ Pwndb ➔ Reglas ◆ Best64, d3ad0ne, T0X1C, dive → Jumbo ➔ Rainbow Tables
  • 38. Diccionarios ➔ Diccionario público (ejemplo 1) $ tar xvfz SecLists/Passwords/Leaked-Databases/ rockyou.txt.tar.gz $ JohnTheRipper/run/john --wordlist=rockyou.txt ARCHIVO
  • 39. Diccionarios ➔ Diccionario público (ejemplo 1) $ JohnTheRipper/run/john --show ARCHIVO
  • 40. Diccionarios ➔ Diccionario + Reglas (ejemplo 2) $ printf 'Passw0rd!' | md5sum | cut -d' ' -f1 > password.txt $ echo ‘password’ > dict1.txt $ JohnTheRipper/run/john --wordlist=dict1.txt --rules=best64 --stdout > dict2.txt
  • 41. Diccionarios ➔ Diccionario + Reglas (ejemplo 2) $ JohnTheRipper/run/john --wordlist=dict2.txt --rules=best64 --stdout > dict3.txt $ JohnTheRipper/run/john --format=raw-md5 --wordlist=dict3.txt --rules=jumbo password.txt
  • 42. Estadísticas ➔ Media 7-9 caracteres ➔ Mayúscula suele ser la primera. Número al final ➔ Mujeres más nombres personales ➔ Hombres más hobbies ➔ $ ! # ➔ 1,2. Si son más de dos números suele ser progresión.
  • 43. Patrones ➔ Ingeniería social ➔ Datos de evidencias forenses ➔ CUPP ➔ Combinaciones secuenciales (1234, qwerty) comunes
  • 44. Patrones ➔ Pwndb ◆ Visitar http://pwndb2am4tzkvold.onion/ ◆ Buscar un usuario con patrón ➔ En el repo tenéis una API para pwndb
  • 45. Patrones ➔ Diccionario de usuario ◆ Herramienta cupp: https://github.com/Mebus/cupp ◆ También lo tenéis en el repo
  • 46. Patrones ➔ Crear máscara + Diccionario (ejemplo 3) $ JohnTheRipper/run/john --wordlist=dict.txt --mask=’1234?w’ --stdout $ JohnTheRipper/run/john --wordlist=dict.txt --mask=’?d?d?d?d?w’ --stdout
  • 47. Heurísticas ➔ Modelos de Markov en John $ printf 'jajaja' | sha256sum | cut -d' ' -f1 > password.txt $ JohnTheRipper/run/john --format=raw-sha256 --markov password.txt
  • 48. Fuerza bruta $ printf 'jajaja' | sha1sum | cut -d' ' -f1 > password.txt $ JohnTheRipper/run/john --list=inc-modes digits upper lower lowerspace uppernum lowernum alpha alnum custom alnumspace lanman lm_ascii ascii latin1 utf8
  • 49. Fuerza bruta $ JohnTheRipper/run/john --inc=alpha password.txt $ JohnTheRipper/run/john --inc=alnum password.txt $ JohnTheRipper/run/john --inc=utf8 password.txt
  • 50. Aplicaciones ➔ *2john ◆ Además de todas las herramientas de generación de diccionarios y ruptura de contraseñas, tenemos las herramientas de tratamiento de archivos
  • 51. Aplicaciones ➔ *2john $ chmod +x JohnTheRipper/run/*2john* $ JohnTheRipper/run/keepass2john KEEPASS.database database:$keepass$*2*60000*0*f8f8072b4 e5b2bb61498393294538d3ed33d7c1093c04cb 07540ece1eb3da4b8*fdcaa85383c...
  • 52. Aplicaciones 1. Romper KeepassX 2. Romper ZIP 3. Romper PDF
  • 54. Optimización por GPU JohnTheRipper/run/john --fork=8 --format=KeePass-opencl --wordlist=rockyou.txt keepass-hash.txt
  • 55. Aplicaciones 1. Romper KeepassX a. Rockyou 2. Romper ZIP 3. Romper PDF
  • 56. 1. Romper KeepassX a. Rockyou 2. Romper ZIP a. Rockyou + Patrón 3. Romper PDF Aplicaciones
  • 57. Aplicaciones 1. Romper KeepassX a. Rockyou 2. Romper ZIP a. Rockyou + Patrón 3. Romper PDF a. alnum ([a-z][0-9]) < 10 caracteres
  • 58. Soluciones en la nube ➔ Crackstation ➔ OnlineHashCrack ➔ AWS
  • 59. Recomendaciones ➔ Longitud: Mínimo 10 caracteres ➔ ¡No repetirlas! ➔ Juego de caracteres ◆ ¿Necesitas recordarla? ● Mejor frase larga ◆ Si no, usa un gestor de contraseñas ➔ Segundo factor de autenticación
  • 60. Recomendaciones ➔ Comprobar seguridad de contraseña ◆ No está en un volcado o diccionario ➔ Sobre el cambio periódico de contraseñas… No :) ◆ Subscripción a servicios de detección de leaks
  • 61. ▹ ProTego is focused in provide a toolkit for health care organisations to better assess and reduce cybersecurity risk ▸ https://protego-project.eu/ ▸ @protego_project Acknowledgment Research and innovation programme under grant agreement No. 826284.
  • 62. Bibliografía ➔ The Ultimate Guide to Passwords in 2019: Length, Complexity & More! ➔ iphelix/pack: PACK (Password Analysis and Cracking Kit) ➔ Mebus/cupp: Common User Passwords Profiler (CUPP) ➔ Password Hashing: Scrypt, Bcrypt and ARGON2 - Michele Preziuso ➔ Rubber-Hose Cryptanalysis ➔ how does NTLM authentication work | What is Active Directory? Microsoft Active Directory Fundamentals with Video Tutorials ➔ I know your P4$$w0rd (and if i don´t, I will guess it) (J. Sánchez y P. Caro, Telefónica)
  • 63. 63 Thanks!Any questions? You can find us at javier.junquera@uah.es kevin.van@edu.uah.es