SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Taller de reversing en
sistemas Windows
aplicado a CTFs
Rooted-Con 2019
Who Am I
@voidm4p
voidm4p@protonmail.com https://voidm4p.me
• Mariano Palomo
• Graduado en Ingeniería Informática por la UGR
• Malware Analyst en Entelgy InnoTec Security
• Con interés en reversing, análisis de malware y no tan
análisis...
Laboratorio de reversing/análisis de malware
Host
Guest VM
Host-Only
BURP
Transparent
Proxy
iptables
dnsmasq
iptables -t nat -A PREROUTING -i vmnet1 -p tcp -m tcp -m multiport ! --dports 53,8000 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i vmnet1 -p udp -m udp -m multiport ! --dports 53,8000 -j REDIRECT --to-port 8080
iptables -A FORWARD -i vmnet1 -j ACCEPT
iptables -A FORWARD -i enp3s0 -j ACCEPT
bogus-priv
dhcp-option=option:dns-server,172.16.125.1
dhcp-option=option:router,172.16.125.1
dhcp-range=172.16.125.50,172.16.125.150,12h
domain-needed
interface=vmnet1
no-poll
server=8.8.4.4
server=8.8.8.8
Hardening
• Instrucción CPUID y clon de BIOS: fichero .vmx
• Direcciones MAC
• Registros, tamaño disco duro, número de
procesadores, etc.
cpuid.1.ecx="0---:----:----:----:----:----:----:----"
SMBIOS.reflectHost = TRUE
Hardening
https://github.com/a0rtega/pafish
https://github.com/LordNoteworthy/al-khaser
Herramientas
• Reversing • Editores Hexadecimales
Herramientas
• PE Tools • Debuggers VBScript y
JScript
Herramientas
• Monitorización SSOO • MS Office
ATENEA
• Plataforma de desafíos de seguridad informática
• Compuesta por diferentes retos
• Criptografía y Esteganografía
• Exploiting
• Forense
• Networking
• Reversing https://atenea.ccn-cert.cni.es
ATENEA ESCUELA
• Plataforma básica de desafíos de seguridad informática
• Fomentar el aprendizaje de los usuarios menos entendidos en el
campo de la seguridad.
https://atenea.ccn-cert.cni.es/escuela/home
Reversing: ¿por donde empezar?
• Arquitectura de computadores
• Ensamblador sintaxis Intel x86
• Formato Portable Executable (PE)
• Desensamblador/Decompilador
• Código ensamblador
• Depurador
• Programación: C/C++, Delphi, .NET, Python, …
• Microsoft Developer Network (MSDN)
• Unpacking
Retos ATENEA
Crackme! If you can…
• El objetivo principal del crackme es obtener determinada clave
codificada embebida dentro del binario.
• Dicha clave podrá visualizarse en claro cuando se ejecute el mismo
de la manera adecuada.
8fd4bfa088881776a16b1155e7639bbe
Crackme! If you can…
$ file Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe
Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe: PE32 executable
(console) Intel 80386, for MS Windows
• DETECT IT EASY (DIE)
• Compilador: Visual C/C++
• No parece estar empaquetado
Crackme! If you can…
• Análisis estático para entender el flujo del programa
• Partimos del Entry Point
• Este no es el “Main” que ha creado el programador, hay código
que ha insertado el compilador.
Crackme! If you can…
• Pseudocódigo C de la
función main generado
por el decompilador
• param_1 > 2: hay que
pasarle al menos dos
parámetros al programa
• FUN_0040100 tiene que
devolver != 0
Crackme! If you can…
• FUN_0040100
• Comprobación de procesos en ejecución con blacklist
https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-createtoolhelp32snapshot
https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-process32first - https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/nf-tlhelp32-process32next
https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/ns-tlhelp32-tagprocessentry32
Crackme! If you can…
• Comprobando el nombre del equipo
Crackme! If you can…
• Si el nombre no es el esperado…
Crackme! If you can…
• Descifrado de una cadena
• Comparada con el segundo parámetro pasado al programa
Crackme! If you can…
• Clave utilizada en descifrado
Matrioska
• Averigua la flag y supera este reto de especial dificultad.
• PISTA: Piensa en el verdadero cifrado...
• La contraseña del zip es infected
56cec8a0d69e0e458ffdc6855ea97834
Matrioska - T.exe
$ 7z e matrioska-56cec8a0d69e0e458ffdc6855ea97834.zip
$ file T.exe
T.exe: MS-DOS executable, MZ for MS-DOS
$ hexdump -C T.exe | more
00000000 4d 5a 40 00 01 00 00 00 02 00 00 00 ff ff 00 00
00000010 b8 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00
00000020 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 57 69
00000030 6e 33 33 20 2e 45 58 45 2e 0d 0a 24 40 00 00 00
00000040 50 45 00 00 4c 01 04 00 b6 7f 64 5b 00 00 00 00
00000050 00 00 00 00 e0 00 8e 83 0b 01 02 19 00 9c 58 00
Matrioska - T.exe
• Binario empaquetado con MPRESS
Matrioska - T.exe
Matrioska - T.exe
• Binario creado con Delphi
Matrioska - T.exe
• Array con los botones de la GUI
• offset con el código que maneja
la pulsación de cada tecla
• Poniendo un breakpoint en cada
uno y pulsando las teclas
podemos averiguar cuál
corresponde con cada uno…
Matrioska - T.exe
• 1A
• 2E
• 33
• 4C
• 5OK
• 6CC
• 7B
• 8D
• 9F
• 101
• 112
• 124
• 135
• 146
• 157
• 168
• 179
Matrioska - T.exe
• TForm1_FormCreate
• Función que inicializa la
interfaz
• Contador de clicks
Matrioska - T.exe
• A_counter  v11  v2+980
• E_counter  v10  v2+984
• 3_counter  v9  v2+992
• C_counter  v8  v2+996
• Otros  v2+1060
• Otros2  v2+1064
Matrioska - T.exe
• Llama la atención una cadena
con cabezera MZ
• >>> chr(0x4d)+chr(0x5a)
• 'MZ'
• A continuación una escritura
en fichero “t.tmp”
Matrioska - T.exe
• Hay varias secciones de código
iguales a esa
• ¿Qué orden siguen? 
• xrefs de cada variable
Matrioska - T.exe
• Se podría extraer cada parte y concatenarla en un fichero, pero…
Hemos venido a jugar!!
• Localizamos dónde es llamada cada función en la que tenemos esas
cadenas
Parte 1
Parte 2
Parte 3
Parte 4
Parte 5
Parte 6
Parte 7
Parte 8
A
OK
OK
C
Matrioska - T.exe
• Botón A
Matrioska - T.exe
• Botón OK (Parte 1) • Botón OK (Parte 2)
Matrioska - T.exe
• Botón C • Se renombra t.tmp y se ejecuta
Matrioska - a.exe
• Compilado con Visual C/C++
• No empaquetado, aunque existe una sección con nombre UPX
Matrioska - a.exe
• Localizamos el Main del
programa tras el código del
compilador
• Oculta la ventana
• Operaciones que retrasan la
ejecución…
…
Matrioska - a.exe
• Hook en DbgUiRemoteBreakin para saltar a ExitProcess  Anti-attach
Antes
Después
Matrioska - a.exe
• Comprobación de permisos
• Debe ejecutarse como hijo de un
proceso con nombre cmd.exe
Matrioska - a.exe
• Comprobación de versión de Windows
• Variable asignada en la función del nuevo hilo
Matrioska - a.exe
• sub_401990
• Keylogger de 12
caracteres
Matrioska - a.exe
• Si se introduce el
valor esperado
• Se escribe en una
clave de registro la
segunda parte (6
caracteres)
• Se iguala a 1
byte_452BC4
Matrioska - a.exe
• Comprobación del valor introducido
Matrioska - a.exe
• Comprobación Anti-máquina virtual
Matrioska - a.exe
• Comprobación Anti-debug: https://www.symantec.com/connect/articles/windows-anti-debug-reference
Matrioska - a.exe
• Escritura de un fichero
con nombre “p”
Matrioska - a.exe
• Lectura de recurso “666”
• Descifrado y escrito en 1.ps1
Matrioska - a.exe
• Si alguna condición no es la que esperaba, se borra
Matrioska - p
• Fichero codificado en
base64
• Después de
decodificar, tiene
cabecera TIF
• No parece una
imagen TIF válida
Matrioska - 1.ps1
• Script powershell
ofuscado
• Sustituimos iex por
write
Matrioska - 1.ps1
• Obtenemos otro
script ofuscado
• Repetimos el
mismo proceso
Matrioska - 1.ps1
• Obtenemos otro
script ofuscado
• Repetimos el
mismo proceso
Matrioska - 1.ps1
• Comprobación anti-debug
• Comprueba que existan la clave del registro y fichero “p”
Matrioska - 1.ps1
• Lee la clave de registro y le aplica un XOR con 1 a cada carácter
Matrioska - 1.ps1
• Comprobación de
ese valor en la
función
“hackerman”
Matrioska - 1.ps1
• Aplicamos XOR sobre el valor para calcular el inicial
Matrioska - 1.ps1
• Se escribe el valor tras el XOR en
un fichero “dork”
• Se calcula el carácter resultado
de restar 4056 a cada valor de un
array
• Se escribe en un fichero
“a.xsl”
• Se ejecuta mediante wmic
(técnica de bypass)
• Se borra
Matrioska - a.xls
• Fichero XML con código JScript.
• Técnica dotNetToJscript
Matrioska - a.xls
• _0x2cf9: Un
array con
valores
codificados en
base64
• Funciones
varias…
Matrioska - a.xls
• Debuggearlo o mostrarlo
por pantalla: tú elijes!
Matrioska - a.xls
• Objeto
serializado
• No es
funcional,
pero basta
para
analizar su
código
Matrioska - serialized_obj
• La fecha del sistema debe
ser 1/1/2019
• La URL devuelve 500  El
flujo continúa en el catch
Matrioska - serialized_obj
• p: ciphertext
• dork: w10123shark01
• Se borran “p” y “dork”
• Anti-debug basado en
tiempo
• Descifrado con AES de “p”
usando con la clave de dork
Matrioska - serialized_obj
• La fecha del sistema debe
ser 1/1/2019
• La URL devuelve 500  El
flujo continúa en el catch
Matrioska - w
• El verdadero cifrado…
http://www.cyber-forensics.ch/how-to-find-truecrypt-containers/
Matrioska - w
• ¿Cuál es la pass? John…
• $ python truecrypt2john.py w_decoded > true_hashes.txt
• john --wordlist=rockyou.txt true_hashes.txt
https://raw.githubusercontent.com/magnumripper/JohnTheRipper/2a18678301cef281a168ea6d84980449d5c8e4da/run/truecrypt2john.py
Matrioska - w
• ¿Cuál es la pass? Hashcat…
$ dd if=w_decoded of=w_decoded_hidden bs=1 skip=65536 count=512
$ hashcat --help | grep "True" -A 14
62XY | TrueCrypt | Full-Disk Encryption (FDE)
X | 1 = PBKDF2-HMAC-RIPEMD160 | Full-Disk Encryption (FDE)
X | 2 = PBKDF2-HMAC-SHA512 | Full-Disk Encryption (FDE)
X | 3 = PBKDF2-HMAC-Whirlpool | Full-Disk Encryption (FDE)
X | 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure AES | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure Serpent | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure AES | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure Serpent | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded AES-Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded Serpent-AES | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded Twofish-Serpent | Full-Disk Encryption (FDE)
Y | 3 = XTS 1536 bit all | Full-Disk Encryption (FDE)
$ hashcat -m 6211 w_decoded -w 3 rockyou.txt --force
$ hashcat -m 6211 w_decoded_hidden -w 3 rockyou.txt --force
Matrioska - w
• ¿Flag?
Matrioska - Flag
• $ file Flag
• Flag: openssl enc'd data with salted password
Matrioska - Flag
import sys
import subprocess
ciphers = ["AES-128-CBC", "AES-128-CBC-HMAC-SHA1", "AES-128-CBC-HMAC-SHA256", "AES-128-CFB", "AES-128-CFB1", "AES-128-CFB8", "AES-128-CTR", "AES-128-ECB", "AES-128-OFB", "AES-128-
XTS", "AES-192-CBC", "AES-192-CFB", "AES-192-CFB1", "AES-192-CFB8", "AES-192-CTR", "AES-192-ECB", "AES-192-OFB", "AES-256-CBC", "AES-256-CBC-HMAC-SHA1", "AES-256-CBC-HMAC-SHA256",
"AES-256-CFB", "AES-256-CFB1", "AES-256-CFB8", "AES-256-CTR", "AES-256-ECB", "AES-256-OFB", "AES-256-XTS", "BF-CBC", "BF-CFB", "BF-ECB", "BF-OFB", "CAMELLIA-128-CBC", "CAMELLIA-128-
CFB", "CAMELLIA-128-CFB1", "CAMELLIA-128-CFB8", "CAMELLIA-128-ECB", "CAMELLIA-128-OFB", "CAMELLIA-192-CBC", "CAMELLIA-192-CFB", "CAMELLIA-192-CFB1", "CAMELLIA-192-CFB8",
"CAMELLIA-192-ECB", "CAMELLIA-192-OFB", "CAMELLIA-256-CBC", "CAMELLIA-256-CFB", "CAMELLIA-256-CFB1", "CAMELLIA-256-CFB8", "CAMELLIA-256-ECB", "CAMELLIA-256-OFB", "CAST5-CBC",
"CAST5-CFB", "CAST5-ECB", "CAST5-OFB", "DES-CBC", "DES-CFB", "DES-CFB1", "DES-CFB8", "DES-ECB", "DES-EDE", "DES-EDE-CBC", "DES-EDE-CFB", "DES-EDE-OFB", "DES-EDE3", "DES-EDE3-
CBC", "DES-EDE3-CFB", "DES-EDE3-CFB1", "DES-EDE3-CFB8", "DES-EDE3-OFB", "DES-OFB", "DESX-CBC", "RC2-40-CBC", "RC2-64-CBC", "RC2-CBC", "RC2-CFB", "RC2-ECB", "RC2-OFB", "RC4", "RC4-
40", "RC4-HMAC-MD5", "SEED-CBC", "SEED-CFB", "SEED-ECB", "SEED-OFB"]
digests = ["DSA", "DSA-SHA", "MD4", "MD5", "RIPEMD160", "SHA", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "whirlpool"]
for length in range(4, 7):
print "Trying password length: %s" % str(length)
for cip in ciphers:
for dig in digests:
bashCommand = "bruteforce-salted-openssl -c %s -d %s -l %s -m %s -s "%s" -t 8 %s" % (cip, dig, str(length), str(length),
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.#_", sys.argv[1])
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
if "candidate" in output:
print "%s - %s" % (cip, dig)
print output
Matrioska - Flag
import sys
import subprocess
for cipher,v in rockyiu.iteritems():
for digest,v2 in v.iteritems():
for x in v2:
bashCommand = 'openssl %s -d -md %s -in %s -out ./decrypt/Flag-%s-
%s-%s.txt -pass pass:%s' % (cipher.lower(), digest.lower(), sys.argv[1],
cipher.lower(), digest.lower(), x, v2)
process = subprocess.Popen(bashCommand.split(),
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
print output
print error
Matrioska - Flag
import string
import sys
printable_chars = set(bytes(string.printable, 'ascii'))
with open(sys.argv[1], 'rb') as f:
printable = all(char in printable_chars for char in f.read())
if printable:
print(sys.argv[1])
https://stackoverflow.com/questions/42064158/checking-if-a-byte-is-ascii-printable
Matrioska - Flag
$ python3 checkStrings.py Flag.txt
Flag.txt
FIN
@voidm4p
voidm4p@protonmail.com
Muchas gracias

Más contenido relacionado

Similar a Reversing Windows CTF

Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0wcuestas
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...RootedCON
 
Pentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonPentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonWebsec México, S.C.
 
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]RootedCON
 
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)Iván Portillo
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Alejandro Ramos
 
Protocolos en wireshark
Protocolos en wiresharkProtocolos en wireshark
Protocolos en wiresharkJAV_999
 
Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la GuerraLuis Cortes Zavala
 
Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapWebsec México, S.C.
 
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamarEvasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamarINCIDE
 
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]Fernando Perera - Empaquetado para Regalo [rootedvlc2019]
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]RootedCON
 
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.
 
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]RootedCON
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstackMarc Pàmpols
 

Similar a Reversing Windows CTF (20)

Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Pentesting 101 por Paulino Calderon
Pentesting 101 por Paulino CalderonPentesting 101 por Paulino Calderon
Pentesting 101 por Paulino Calderon
 
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]
 
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0
 
Hacking ético con herramientas Python
Hacking ético con herramientas PythonHacking ético con herramientas Python
Hacking ético con herramientas Python
 
Protocolos en wireshark
Protocolos en wiresharkProtocolos en wireshark
Protocolos en wireshark
 
Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la Guerra
 
Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con Nmap
 
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamarEvasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
 
Seguridad de las Redes
Seguridad de las RedesSeguridad de las Redes
Seguridad de las Redes
 
Aircrack ng
Aircrack ngAircrack ng
Aircrack ng
 
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]Fernando Perera - Empaquetado para Regalo [rootedvlc2019]
Fernando Perera - Empaquetado para Regalo [rootedvlc2019]
 
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
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstack
 
Bsides Latam 2019
Bsides Latam 2019Bsides Latam 2019
Bsides Latam 2019
 
Snort 2006
Snort 2006Snort 2006
Snort 2006
 

Más de RootedCON

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRootedCON
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...RootedCON
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRootedCON
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_RootedCON
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...RootedCON
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...RootedCON
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...RootedCON
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRootedCON
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRootedCON
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...RootedCON
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRootedCON
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...RootedCON
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRootedCON
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRootedCON
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRootedCON
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...RootedCON
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...RootedCON
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRootedCON
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRootedCON
 
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acinRooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acinRootedCON
 

Más de RootedCON (20)

Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro VillaverdeRooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
Rooted2020 A clockwork pentester - Jose Carlos Moral & Alvaro Villaverde
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Rooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amadoRooted2020 hunting malware-using_process_behavior-roberto_amado
Rooted2020 hunting malware-using_process_behavior-roberto_amado
 
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
Rooted2020 compliance as-code_-_guillermo_obispo_-_jose_mariaperez_-_
 
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
Rooted2020 the day i_ruled_the_world_deceiving_software_developers_through_op...
 
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
Rooted2020 si la-empresa_ha_ocultado_el_ciberataque,_como_se_ha_enterado_el_r...
 
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
Rooted2020 wordpress-another_terror_story_-_manuel_garcia_-_jacinto_sergio_ca...
 
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguerRooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
Rooted2020 Atacando comunicaciones-de_voz_cifradas_-_jose_luis_verdeguer
 
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemyRooted2020 stefano maccaglia--_the_enemy_of_my_enemy
Rooted2020 stefano maccaglia--_the_enemy_of_my_enemy
 
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
Rooted2020 taller de-reversing_de_binarios_escritos_en_golang_-_mariano_palom...
 
Rooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molinaRooted2020 virtual pwned-network_-_manel_molina
Rooted2020 virtual pwned-network_-_manel_molina
 
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
Rooted2020 van a-mear_sangre_como_hacer_que_los_malos_lo_paguen_muy_caro_-_an...
 
Rooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopezRooted2020 todo a-siem_-_marta_lopez
Rooted2020 todo a-siem_-_marta_lopez
 
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valeroRooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
Rooted2020 roapt evil-mass_storage_-_tu-ya_aqui_-_david_reguera_-_abel_valero
 
Rooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jaraRooted2020 live coding--_jesus_jara
Rooted2020 live coding--_jesus_jara
 
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
Rooted2020 legalidad de-la_prueba_tecnologica_indiciaria_cuando_tu_papi_es_un...
 
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
Rooted2020 hackeando el-mundo_exterior_a_traves_de_bluetooth_low-energy_ble_-...
 
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yusteRooted2020 evading deep-learning_malware_detectors_-_javier_yuste
Rooted2020 evading deep-learning_malware_detectors_-_javier_yuste
 
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_moralesRooted2020 encontrando 0days-en_2020_-_antonio_morales
Rooted2020 encontrando 0days-en_2020_-_antonio_morales
 
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acinRooted2020 emotet is-dead_long_live_emotet_-_victor_acin
Rooted2020 emotet is-dead_long_live_emotet_-_victor_acin
 

Último

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Reversing Windows CTF

  • 1. Taller de reversing en sistemas Windows aplicado a CTFs Rooted-Con 2019
  • 2. Who Am I @voidm4p voidm4p@protonmail.com https://voidm4p.me • Mariano Palomo • Graduado en Ingeniería Informática por la UGR • Malware Analyst en Entelgy InnoTec Security • Con interés en reversing, análisis de malware y no tan análisis...
  • 3. Laboratorio de reversing/análisis de malware Host Guest VM Host-Only BURP Transparent Proxy iptables dnsmasq iptables -t nat -A PREROUTING -i vmnet1 -p tcp -m tcp -m multiport ! --dports 53,8000 -j REDIRECT --to-port 8080 iptables -t nat -A PREROUTING -i vmnet1 -p udp -m udp -m multiport ! --dports 53,8000 -j REDIRECT --to-port 8080 iptables -A FORWARD -i vmnet1 -j ACCEPT iptables -A FORWARD -i enp3s0 -j ACCEPT bogus-priv dhcp-option=option:dns-server,172.16.125.1 dhcp-option=option:router,172.16.125.1 dhcp-range=172.16.125.50,172.16.125.150,12h domain-needed interface=vmnet1 no-poll server=8.8.4.4 server=8.8.8.8
  • 4. Hardening • Instrucción CPUID y clon de BIOS: fichero .vmx • Direcciones MAC • Registros, tamaño disco duro, número de procesadores, etc. cpuid.1.ecx="0---:----:----:----:----:----:----:----" SMBIOS.reflectHost = TRUE
  • 6. Herramientas • Reversing • Editores Hexadecimales
  • 7. Herramientas • PE Tools • Debuggers VBScript y JScript
  • 9. ATENEA • Plataforma de desafíos de seguridad informática • Compuesta por diferentes retos • Criptografía y Esteganografía • Exploiting • Forense • Networking • Reversing https://atenea.ccn-cert.cni.es
  • 10. ATENEA ESCUELA • Plataforma básica de desafíos de seguridad informática • Fomentar el aprendizaje de los usuarios menos entendidos en el campo de la seguridad. https://atenea.ccn-cert.cni.es/escuela/home
  • 11. Reversing: ¿por donde empezar? • Arquitectura de computadores • Ensamblador sintaxis Intel x86 • Formato Portable Executable (PE) • Desensamblador/Decompilador • Código ensamblador • Depurador • Programación: C/C++, Delphi, .NET, Python, … • Microsoft Developer Network (MSDN) • Unpacking
  • 13. Crackme! If you can… • El objetivo principal del crackme es obtener determinada clave codificada embebida dentro del binario. • Dicha clave podrá visualizarse en claro cuando se ejecute el mismo de la manera adecuada. 8fd4bfa088881776a16b1155e7639bbe
  • 14. Crackme! If you can… $ file Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe: PE32 executable (console) Intel 80386, for MS Windows • DETECT IT EASY (DIE) • Compilador: Visual C/C++ • No parece estar empaquetado
  • 15. Crackme! If you can… • Análisis estático para entender el flujo del programa • Partimos del Entry Point • Este no es el “Main” que ha creado el programador, hay código que ha insertado el compilador.
  • 16. Crackme! If you can… • Pseudocódigo C de la función main generado por el decompilador • param_1 > 2: hay que pasarle al menos dos parámetros al programa • FUN_0040100 tiene que devolver != 0
  • 17. Crackme! If you can… • FUN_0040100 • Comprobación de procesos en ejecución con blacklist https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-createtoolhelp32snapshot https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-process32first - https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/nf-tlhelp32-process32next https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/ns-tlhelp32-tagprocessentry32
  • 18. Crackme! If you can… • Comprobando el nombre del equipo
  • 19. Crackme! If you can… • Si el nombre no es el esperado…
  • 20. Crackme! If you can… • Descifrado de una cadena • Comparada con el segundo parámetro pasado al programa
  • 21. Crackme! If you can… • Clave utilizada en descifrado
  • 22.
  • 23. Matrioska • Averigua la flag y supera este reto de especial dificultad. • PISTA: Piensa en el verdadero cifrado... • La contraseña del zip es infected 56cec8a0d69e0e458ffdc6855ea97834
  • 24. Matrioska - T.exe $ 7z e matrioska-56cec8a0d69e0e458ffdc6855ea97834.zip $ file T.exe T.exe: MS-DOS executable, MZ for MS-DOS $ hexdump -C T.exe | more 00000000 4d 5a 40 00 01 00 00 00 02 00 00 00 ff ff 00 00 00000010 b8 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00000020 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 57 69 00000030 6e 33 33 20 2e 45 58 45 2e 0d 0a 24 40 00 00 00 00000040 50 45 00 00 4c 01 04 00 b6 7f 64 5b 00 00 00 00 00000050 00 00 00 00 e0 00 8e 83 0b 01 02 19 00 9c 58 00
  • 25. Matrioska - T.exe • Binario empaquetado con MPRESS
  • 27.
  • 28. Matrioska - T.exe • Binario creado con Delphi
  • 29. Matrioska - T.exe • Array con los botones de la GUI • offset con el código que maneja la pulsación de cada tecla • Poniendo un breakpoint en cada uno y pulsando las teclas podemos averiguar cuál corresponde con cada uno…
  • 30. Matrioska - T.exe • 1A • 2E • 33 • 4C • 5OK • 6CC • 7B • 8D • 9F • 101 • 112 • 124 • 135 • 146 • 157 • 168 • 179
  • 31. Matrioska - T.exe • TForm1_FormCreate • Función que inicializa la interfaz • Contador de clicks
  • 32. Matrioska - T.exe • A_counter  v11  v2+980 • E_counter  v10  v2+984 • 3_counter  v9  v2+992 • C_counter  v8  v2+996 • Otros  v2+1060 • Otros2  v2+1064
  • 33. Matrioska - T.exe • Llama la atención una cadena con cabezera MZ • >>> chr(0x4d)+chr(0x5a) • 'MZ' • A continuación una escritura en fichero “t.tmp”
  • 34. Matrioska - T.exe • Hay varias secciones de código iguales a esa • ¿Qué orden siguen?  • xrefs de cada variable
  • 35. Matrioska - T.exe • Se podría extraer cada parte y concatenarla en un fichero, pero… Hemos venido a jugar!! • Localizamos dónde es llamada cada función en la que tenemos esas cadenas Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 Parte 6 Parte 7 Parte 8 A OK OK C
  • 37. Matrioska - T.exe • Botón OK (Parte 1) • Botón OK (Parte 2)
  • 38. Matrioska - T.exe • Botón C • Se renombra t.tmp y se ejecuta
  • 39. Matrioska - a.exe • Compilado con Visual C/C++ • No empaquetado, aunque existe una sección con nombre UPX
  • 40. Matrioska - a.exe • Localizamos el Main del programa tras el código del compilador • Oculta la ventana • Operaciones que retrasan la ejecución… …
  • 41. Matrioska - a.exe • Hook en DbgUiRemoteBreakin para saltar a ExitProcess  Anti-attach Antes Después
  • 42. Matrioska - a.exe • Comprobación de permisos • Debe ejecutarse como hijo de un proceso con nombre cmd.exe
  • 43. Matrioska - a.exe • Comprobación de versión de Windows • Variable asignada en la función del nuevo hilo
  • 44. Matrioska - a.exe • sub_401990 • Keylogger de 12 caracteres
  • 45. Matrioska - a.exe • Si se introduce el valor esperado • Se escribe en una clave de registro la segunda parte (6 caracteres) • Se iguala a 1 byte_452BC4
  • 46. Matrioska - a.exe • Comprobación del valor introducido
  • 47.
  • 48. Matrioska - a.exe • Comprobación Anti-máquina virtual
  • 49. Matrioska - a.exe • Comprobación Anti-debug: https://www.symantec.com/connect/articles/windows-anti-debug-reference
  • 50. Matrioska - a.exe • Escritura de un fichero con nombre “p”
  • 51. Matrioska - a.exe • Lectura de recurso “666” • Descifrado y escrito en 1.ps1
  • 52. Matrioska - a.exe • Si alguna condición no es la que esperaba, se borra
  • 53. Matrioska - p • Fichero codificado en base64 • Después de decodificar, tiene cabecera TIF • No parece una imagen TIF válida
  • 54. Matrioska - 1.ps1 • Script powershell ofuscado • Sustituimos iex por write
  • 55. Matrioska - 1.ps1 • Obtenemos otro script ofuscado • Repetimos el mismo proceso
  • 56. Matrioska - 1.ps1 • Obtenemos otro script ofuscado • Repetimos el mismo proceso
  • 57. Matrioska - 1.ps1 • Comprobación anti-debug • Comprueba que existan la clave del registro y fichero “p”
  • 58. Matrioska - 1.ps1 • Lee la clave de registro y le aplica un XOR con 1 a cada carácter
  • 59. Matrioska - 1.ps1 • Comprobación de ese valor en la función “hackerman”
  • 60. Matrioska - 1.ps1 • Aplicamos XOR sobre el valor para calcular el inicial
  • 61. Matrioska - 1.ps1 • Se escribe el valor tras el XOR en un fichero “dork” • Se calcula el carácter resultado de restar 4056 a cada valor de un array • Se escribe en un fichero “a.xsl” • Se ejecuta mediante wmic (técnica de bypass) • Se borra
  • 62. Matrioska - a.xls • Fichero XML con código JScript. • Técnica dotNetToJscript
  • 63. Matrioska - a.xls • _0x2cf9: Un array con valores codificados en base64 • Funciones varias…
  • 64. Matrioska - a.xls • Debuggearlo o mostrarlo por pantalla: tú elijes!
  • 65. Matrioska - a.xls • Objeto serializado • No es funcional, pero basta para analizar su código
  • 66. Matrioska - serialized_obj • La fecha del sistema debe ser 1/1/2019 • La URL devuelve 500  El flujo continúa en el catch
  • 67. Matrioska - serialized_obj • p: ciphertext • dork: w10123shark01 • Se borran “p” y “dork” • Anti-debug basado en tiempo • Descifrado con AES de “p” usando con la clave de dork
  • 68. Matrioska - serialized_obj • La fecha del sistema debe ser 1/1/2019 • La URL devuelve 500  El flujo continúa en el catch
  • 69. Matrioska - w • El verdadero cifrado… http://www.cyber-forensics.ch/how-to-find-truecrypt-containers/
  • 70. Matrioska - w • ¿Cuál es la pass? John… • $ python truecrypt2john.py w_decoded > true_hashes.txt • john --wordlist=rockyou.txt true_hashes.txt https://raw.githubusercontent.com/magnumripper/JohnTheRipper/2a18678301cef281a168ea6d84980449d5c8e4da/run/truecrypt2john.py
  • 71. Matrioska - w • ¿Cuál es la pass? Hashcat… $ dd if=w_decoded of=w_decoded_hidden bs=1 skip=65536 count=512 $ hashcat --help | grep "True" -A 14 62XY | TrueCrypt | Full-Disk Encryption (FDE) X | 1 = PBKDF2-HMAC-RIPEMD160 | Full-Disk Encryption (FDE) X | 2 = PBKDF2-HMAC-SHA512 | Full-Disk Encryption (FDE) X | 3 = PBKDF2-HMAC-Whirlpool | Full-Disk Encryption (FDE) X | 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode | Full-Disk Encryption (FDE) Y | 1 = XTS 512 bit pure AES | Full-Disk Encryption (FDE) Y | 1 = XTS 512 bit pure Serpent | Full-Disk Encryption (FDE) Y | 1 = XTS 512 bit pure Twofish | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit pure AES | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit pure Serpent | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit pure Twofish | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit cascaded AES-Twofish | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit cascaded Serpent-AES | Full-Disk Encryption (FDE) Y | 2 = XTS 1024 bit cascaded Twofish-Serpent | Full-Disk Encryption (FDE) Y | 3 = XTS 1536 bit all | Full-Disk Encryption (FDE) $ hashcat -m 6211 w_decoded -w 3 rockyou.txt --force $ hashcat -m 6211 w_decoded_hidden -w 3 rockyou.txt --force
  • 72. Matrioska - w • ¿Flag?
  • 73. Matrioska - Flag • $ file Flag • Flag: openssl enc'd data with salted password
  • 74. Matrioska - Flag import sys import subprocess ciphers = ["AES-128-CBC", "AES-128-CBC-HMAC-SHA1", "AES-128-CBC-HMAC-SHA256", "AES-128-CFB", "AES-128-CFB1", "AES-128-CFB8", "AES-128-CTR", "AES-128-ECB", "AES-128-OFB", "AES-128- XTS", "AES-192-CBC", "AES-192-CFB", "AES-192-CFB1", "AES-192-CFB8", "AES-192-CTR", "AES-192-ECB", "AES-192-OFB", "AES-256-CBC", "AES-256-CBC-HMAC-SHA1", "AES-256-CBC-HMAC-SHA256", "AES-256-CFB", "AES-256-CFB1", "AES-256-CFB8", "AES-256-CTR", "AES-256-ECB", "AES-256-OFB", "AES-256-XTS", "BF-CBC", "BF-CFB", "BF-ECB", "BF-OFB", "CAMELLIA-128-CBC", "CAMELLIA-128- CFB", "CAMELLIA-128-CFB1", "CAMELLIA-128-CFB8", "CAMELLIA-128-ECB", "CAMELLIA-128-OFB", "CAMELLIA-192-CBC", "CAMELLIA-192-CFB", "CAMELLIA-192-CFB1", "CAMELLIA-192-CFB8", "CAMELLIA-192-ECB", "CAMELLIA-192-OFB", "CAMELLIA-256-CBC", "CAMELLIA-256-CFB", "CAMELLIA-256-CFB1", "CAMELLIA-256-CFB8", "CAMELLIA-256-ECB", "CAMELLIA-256-OFB", "CAST5-CBC", "CAST5-CFB", "CAST5-ECB", "CAST5-OFB", "DES-CBC", "DES-CFB", "DES-CFB1", "DES-CFB8", "DES-ECB", "DES-EDE", "DES-EDE-CBC", "DES-EDE-CFB", "DES-EDE-OFB", "DES-EDE3", "DES-EDE3- CBC", "DES-EDE3-CFB", "DES-EDE3-CFB1", "DES-EDE3-CFB8", "DES-EDE3-OFB", "DES-OFB", "DESX-CBC", "RC2-40-CBC", "RC2-64-CBC", "RC2-CBC", "RC2-CFB", "RC2-ECB", "RC2-OFB", "RC4", "RC4- 40", "RC4-HMAC-MD5", "SEED-CBC", "SEED-CFB", "SEED-ECB", "SEED-OFB"] digests = ["DSA", "DSA-SHA", "MD4", "MD5", "RIPEMD160", "SHA", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "whirlpool"] for length in range(4, 7): print "Trying password length: %s" % str(length) for cip in ciphers: for dig in digests: bashCommand = "bruteforce-salted-openssl -c %s -d %s -l %s -m %s -s "%s" -t 8 %s" % (cip, dig, str(length), str(length), "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.#_", sys.argv[1]) process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() if "candidate" in output: print "%s - %s" % (cip, dig) print output
  • 75. Matrioska - Flag import sys import subprocess for cipher,v in rockyiu.iteritems(): for digest,v2 in v.iteritems(): for x in v2: bashCommand = 'openssl %s -d -md %s -in %s -out ./decrypt/Flag-%s- %s-%s.txt -pass pass:%s' % (cipher.lower(), digest.lower(), sys.argv[1], cipher.lower(), digest.lower(), x, v2) process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() print output print error
  • 76. Matrioska - Flag import string import sys printable_chars = set(bytes(string.printable, 'ascii')) with open(sys.argv[1], 'rb') as f: printable = all(char in printable_chars for char in f.read()) if printable: print(sys.argv[1]) https://stackoverflow.com/questions/42064158/checking-if-a-byte-is-ascii-printable
  • 77. Matrioska - Flag $ python3 checkStrings.py Flag.txt Flag.txt