SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Ingeniería inversa.
Seguridad en juegos de
Nintendo DS
Benito Palacios Sánchez
Seguridad en Redes de Comunicación
Universidad de Granada
Objetivo
● Introducción a la ingeniería inversa
● ¿Qué es?
● ¿Para qué sirve?
● ¿Cómo?
● Implementaciones de seguridad en juegos
● Integridad + confidencialidad en archivos
● Seguridad en comunicaciones
Modificarlos
Servidor falso
¿¿¿Ingeniería inversa???
Ingeniería directa
Código fuente Compilador
Ingeniería inversa
0010111010110100111
1010010110111000011
1101001010101100000
1111110000101010111
1010010101000111110
1010100011100001111
Binario
0010111010110100111
1010010110111000011
1101001010101100000
1111110000101010111
1010010101000111110
1010100011100001111
Binario
??? Funcionamiento
¿¿Ingeniería inversa??
Programa Tinke interpretando una imagen
¿Ingeniería inversa?
¿Para qué?
● Curiosidad / Diversión / Aprendizaje
● Análisis de seguridad
● Análisis de malware
● Black-hat
¿Ingeniería inversa?
Análisis de seguridad
Generación de contraseña de Whatsapp en iOS
Ingeniería inversa
Herramientas usadas
IDA Pro 6.1 + DeSmuME
Ni no kuni
El mago de las tinieblas
Pokémon
Edición Blanca
Juegos objetivos
Integridad en archivos
Partidas de guardado
Datos binarios de una partida
● 64 kB
Ni no kuni
● Logros ● No multijugador
Integridad en archivos
Partidas de guardado
Advertencia al iniciar el juego Intento de modificar la partida
Ni no kuni
Integridad en archivos
Partidas de guardado
Ni no kuni
Comprueba constante de 8 bytes al final del archivo
0212E8A4 LDR R0, =0xFFF8 ; Ptr de constante final
0212E8A8 ADD R1, SP, #0x30+const_0 ; Donde se guardara la constante
0212E8AC MOV R2, #8 ; Tamaño de la constante
0212E8B0 STR R3, [SP,#0x30+var_20]
0212E8B4 BL lee_partida
0212E8B8 CMP R0, #0 ; Si ha habido error salir
0212E8BC BEQ salida ; |
0212E8C0 LDR R2, [SP,#0x30+const_0] ; Lee los primeros 4B de la const
0212E8C4 LDR R3, [SP,#0x30+const_4] ; Lee los siguientes 4B de la const
0212E8C8 LDR R1, =0x7D9A32EC ; Los compara con los valores del juego
0212E8CC LDR R0, =0x84A53F0B ; |
0212E8D0 CMP R3, R1 ; |
0212E8D4 CMPEQ R2, R0 ; |
Comprueba constante de 2 bytes al inicio del archivo
Integridad en archivos
Partidas de guardado
Ni no kuni
MAC con secreto “nnkn”
0212EADC LDR R1, =0x2141D28 ; Obtiene dirección de contraseña (1)
0212EAE0 MOV R5, R0
0212EAE4 LDR R0, [R1] ; | (1)
0212EAE8 ADD R4, SP, #0x20+var_20 ; Dirección donde guardar el nuevo resumen (2)
0212EAEC LDR R12, [R0,#-0x1D4] ; Obtiene la contraseña
0212EAF0 ADD R3, R5, #0xC000 ; Obtiene dirección de escritura de contraseña
0212EAF4 LDR R2, =0xFFE2 ; Número de bytes calcular el SHA1
0212EAF8 MOV R0, R4 ; | (2)
0212EAFC ADD R1, R5, #2 ; Comienzo para calcular el SHA1
0212EB00 STR R12, [R3,#0x5EC] ; Escribe la contraseña
0212EB04 BL calcula_sha1
0212EB08 ADD R1, R5, #0x3E4 ; Obtiene dirección del resumen original (3)
0212EB0C MOV R0, R4 ; Dirección del nuevo resumen
0212EB10 ADD R3, R5, #0xC000 ; Obtiene dirección de escritura de contraseña
0212EB14 MOV R4, #0 ; Borra contraseña (4)
0212EB18 ADD R1, R1, #0xFC00 ; | (3)
0212EB1C MOV R2, #0x14 ; Número de bytes a comparar (los del resumen)
0212EB20 STR R4, [R3,#0x5EC] ; | (4)
0212EB24 BL compare
0212EB28 CMP R0, #0 ; Comprueba si el resultado es que son iguales
0212EB2C MOVEQ R4, #1 ; | ... en ese caso devuelve true (1)
0212EB30 MOV R0, R4 ; | ... si no devuelve false (0)
Integridad en archivos
Archivos con código
Pokémon Blanco
● Archivos protegidos con algún algoritmo
● Sólo se comprueba si hay un bit del firmware activo
● En DeSmuME deshabilitado por defecto
//firmware makes system think it's booted from card
//-- EXTREMELY IMPORTANT!!! This is actually checked by some things. (which things?)
//Thanks to cReDiAr
_MMU_write08<ARMCPU_ARM7>(0x02FFFC40,0x1);
Línea 2305 del archivo NDSSystem.cpp
Integridad en archivos
Archivos con código
Pokémon Blanco
Analizando la rutina en ensamblador...
HMAC
Cifrado en archivos
Ni no kuni
● Archivos con características de personajes
● Cifrados con operación NOT
NOT / XOR 0xFF
Cifrado en archivos
Ni no kuni
Archivos descargado con nuevas misiones
72 2B 41 8B 4C FB 9F 27 B2 1D 05 AF FB 2B 80 9F
RC4
Clave (siempre la misma)
Archivo descifrado
¡Código CRC32!
Comunicación Wi-Fi
Comunicación cifrada HTTPS
Procedimientos para obtener paquetes en plano
Comunicación Wi-Fi
Comunicación cifrada HTTPS
Procedimientos para obtener paquetes en plano
1) Punto de interrupción al inicio y fin de rutina RC4
+
Procedimientos para obtener paquetes en plano
Comunicación Wi-Fi
1) Punto de interrupción al inicio y fin de rutina RC4
2) Cambiar dirección hosts: “https://...” => “http://...”
Procedimientos para obtener paquetes en plano
Comunicación Wi-Fi
2) Cambiar dirección hosts: “https://...” => “http://...”
Procedimientos para obtener paquetes en plano
Comunicación Wi-Fi
Servidor de descargas “dls1.nintendowifi.net” puerto cerrado 80
Túnel SSL (servidor proxy)
Servidor
DNS
Servidor
DLC
Petición
DNS
Servidor
proxy
HTTP
HTTPS
Comunicación Wi-Fi
Mensajes intercambiados
action=login
gsbrcd=
sdkver=005003
userid=7881986029631
passwd=297
bssid=00f01a2b3c4d
apinfo=02:0000000-00
gamecd=B2KJ
makercd=HF
unitcd=0
macadr=0016568331f9
lang=05
birth=070c
devtime=140427122205
devname=PaRaDoX
Comunicación Wi-Fi
Mensajes intercambiados
MD5 de challenge AC
48 espacios seguidos
token de AC
challenge generado
challenge actual
MD5 de challenge AC
MD5 de la siguiente cadena:
Comunicación Wi-Fi
Mensajes intercambiados
¡Se listan todos los DLC disponibles!
Comunicación de acción list
Comunicación Wi-Fi
Comprobación de certificado
Autoridad de Certificación
No haya expirado
No hay errores al leer el certificado
Firma correcta
No comprueba el host
Parte de la CA de Nintendo
1 x Nintendo
3 x CyberTrust
2 x GlobalSign
2 x VeriSign
2 x Thawte
Conclusiones
Ingeniería inversa => Análisis de seguridad
Técnicas de cifrado e integridad para evitar
modificaciones
Aspectos de seguridad en comunicación
Wi-Fi
● Reversing iOS apps for fun and profit
● Whatsapp – iOS password generation
● Save Nintendo WiFi
● DWC Network Server Emulator
● Simple HTTPS server in Python + Create CA and Certs
Referencias
Benito Palacios Sánchez
Seguridad en Redes de Comunicación
Universidad de Granada
Ingeniería inversa.
Seguridad en juegos de
Nintendo DS

Más contenido relacionado

Destacado

Destacado (20)

La playa de las catedrales
La playa de las catedralesLa playa de las catedrales
La playa de las catedrales
 
UNDERSTANDING ADI PART 4 AS PUBLISHED
UNDERSTANDING ADI PART 4 AS PUBLISHEDUNDERSTANDING ADI PART 4 AS PUBLISHED
UNDERSTANDING ADI PART 4 AS PUBLISHED
 
Education &amp; professional development resources
Education &amp; professional development resourcesEducation &amp; professional development resources
Education &amp; professional development resources
 
Comunicado del Periódico Oficial de la Federación.
Comunicado del Periódico Oficial de la Federación.Comunicado del Periódico Oficial de la Federación.
Comunicado del Periódico Oficial de la Federación.
 
Cintas magnéticas
Cintas magnéticasCintas magnéticas
Cintas magnéticas
 
Open gl abi
Open gl abiOpen gl abi
Open gl abi
 
Key Assessment 2
Key Assessment 2Key Assessment 2
Key Assessment 2
 
Formato planificación normal
Formato planificación normalFormato planificación normal
Formato planificación normal
 
Ensayo listo
Ensayo listoEnsayo listo
Ensayo listo
 
Investigación Torres Arriola
Investigación Torres ArriolaInvestigación Torres Arriola
Investigación Torres Arriola
 
Energías limpias y renovables de la informática.
Energías limpias y renovables de la informática.Energías limpias y renovables de la informática.
Energías limpias y renovables de la informática.
 
FASHION TRADE - HUANCAYO
FASHION TRADE - HUANCAYO FASHION TRADE - HUANCAYO
FASHION TRADE - HUANCAYO
 
brochuregreatwallnepal
brochuregreatwallnepalbrochuregreatwallnepal
brochuregreatwallnepal
 
Presentación 1 resistencia
Presentación 1 resistenciaPresentación 1 resistencia
Presentación 1 resistencia
 
Amistad
AmistadAmistad
Amistad
 
Página web educativa. escolar.com
Página web educativa. escolar.comPágina web educativa. escolar.com
Página web educativa. escolar.com
 
guion
guion guion
guion
 
Baby boomers expectations of residential aged care
Baby boomers expectations of residential aged care   Baby boomers expectations of residential aged care
Baby boomers expectations of residential aged care
 
La imagen digital
La imagen digitalLa imagen digital
La imagen digital
 
Koivuniemi_Juuso
Koivuniemi_JuusoKoivuniemi_Juuso
Koivuniemi_Juuso
 

Similar a Seguridad en juegos de la Nintendo DS

El Ordenador Y Sus Componentes
El Ordenador Y Sus ComponentesEl Ordenador Y Sus Componentes
El Ordenador Y Sus Componentesimarti1
 
Ip, mascaras de subred, puerta de enlace, dns
Ip, mascaras de subred, puerta de enlace, dnsIp, mascaras de subred, puerta de enlace, dns
Ip, mascaras de subred, puerta de enlace, dnsErick Ortiz Cadena
 
Tema 1 introducción a los sistemas de información
Tema 1   introducción a los sistemas de informaciónTema 1   introducción a los sistemas de información
Tema 1 introducción a los sistemas de informaciónSamuel
 
Laboratorio 02 redes
Laboratorio 02 redesLaboratorio 02 redes
Laboratorio 02 redesstriken00
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalisasesinoevil
 
Curso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaCurso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaJack Daniel Cáceres Meza
 
U.D.4. Datos E InformacióN. Hardware Y Software
U.D.4.  Datos E InformacióN. Hardware Y SoftwareU.D.4.  Datos E InformacióN. Hardware Y Software
U.D.4. Datos E InformacióN. Hardware Y Softwarebach1tin
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPDaniel Torres
 
Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5VivianaParraga3
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Introducción a la informática
Introducción a la informática Introducción a la informática
Introducción a la informática daaanyta
 

Similar a Seguridad en juegos de la Nintendo DS (20)

El Ordenador Y Sus Componentes
El Ordenador Y Sus ComponentesEl Ordenador Y Sus Componentes
El Ordenador Y Sus Componentes
 
Ip, mascaras de subred, puerta de enlace, dns
Ip, mascaras de subred, puerta de enlace, dnsIp, mascaras de subred, puerta de enlace, dns
Ip, mascaras de subred, puerta de enlace, dns
 
Tema 1 introducción a los sistemas de información
Tema 1   introducción a los sistemas de informaciónTema 1   introducción a los sistemas de información
Tema 1 introducción a los sistemas de información
 
Laboratorio 02 redes
Laboratorio 02 redesLaboratorio 02 redes
Laboratorio 02 redes
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalis
 
Curso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaCurso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnología
 
Tarjeta de red
Tarjeta de redTarjeta de red
Tarjeta de red
 
Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)
 
U.D.4. Datos E InformacióN. Hardware Y Software
U.D.4.  Datos E InformacióN. Hardware Y SoftwareU.D.4.  Datos E InformacióN. Hardware Y Software
U.D.4. Datos E InformacióN. Hardware Y Software
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
 
Práctica VOIP
Práctica VOIPPráctica VOIP
Práctica VOIP
 
Actividades Tema 1
Actividades Tema 1Actividades Tema 1
Actividades Tema 1
 
Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
Crackeando redes wep
Crackeando redes wepCrackeando redes wep
Crackeando redes wep
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Introducción a la informática
Introducción a la informática Introducción a la informática
Introducción a la informática
 
Juan
JuanJuan
Juan
 
Netduino
NetduinoNetduino
Netduino
 

Más de Benito Palacios Sánchez

La magia del ROM Hacking: Fan traducciones
La magia del ROM Hacking: Fan traduccionesLa magia del ROM Hacking: Fan traducciones
La magia del ROM Hacking: Fan traduccionesBenito Palacios Sánchez
 
JASYP2018 - Destripando juegos: protecciones anti ROM Hacking
JASYP2018 - Destripando juegos: protecciones anti ROM HackingJASYP2018 - Destripando juegos: protecciones anti ROM Hacking
JASYP2018 - Destripando juegos: protecciones anti ROM HackingBenito Palacios Sánchez
 
Mecanismos de protección de datos en videojuegos
Mecanismos de protección de datos en videojuegosMecanismos de protección de datos en videojuegos
Mecanismos de protección de datos en videojuegosBenito Palacios Sánchez
 

Más de Benito Palacios Sánchez (7)

La magia del ROM Hacking: Fan traducciones
La magia del ROM Hacking: Fan traduccionesLa magia del ROM Hacking: Fan traducciones
La magia del ROM Hacking: Fan traducciones
 
JASYP2018 - Destripando juegos: protecciones anti ROM Hacking
JASYP2018 - Destripando juegos: protecciones anti ROM HackingJASYP2018 - Destripando juegos: protecciones anti ROM Hacking
JASYP2018 - Destripando juegos: protecciones anti ROM Hacking
 
[IEEEsbUGR] Introducción al ROM Hacking
[IEEEsbUGR] Introducción al ROM Hacking[IEEEsbUGR] Introducción al ROM Hacking
[IEEEsbUGR] Introducción al ROM Hacking
 
Introducción al ROM Hacking - Parte 2
 Introducción al ROM Hacking - Parte 2 Introducción al ROM Hacking - Parte 2
Introducción al ROM Hacking - Parte 2
 
Introducción al ROM Hacking - Parte 1
Introducción al ROM Hacking - Parte 1Introducción al ROM Hacking - Parte 1
Introducción al ROM Hacking - Parte 1
 
Ready for IEEEXtreme 9.0?
Ready for IEEEXtreme 9.0?Ready for IEEEXtreme 9.0?
Ready for IEEEXtreme 9.0?
 
Mecanismos de protección de datos en videojuegos
Mecanismos de protección de datos en videojuegosMecanismos de protección de datos en videojuegos
Mecanismos de protección de datos en videojuegos
 

Seguridad en juegos de la Nintendo DS

  • 1. Ingeniería inversa. Seguridad en juegos de Nintendo DS Benito Palacios Sánchez Seguridad en Redes de Comunicación Universidad de Granada
  • 2. Objetivo ● Introducción a la ingeniería inversa ● ¿Qué es? ● ¿Para qué sirve? ● ¿Cómo? ● Implementaciones de seguridad en juegos ● Integridad + confidencialidad en archivos ● Seguridad en comunicaciones Modificarlos Servidor falso
  • 3. ¿¿¿Ingeniería inversa??? Ingeniería directa Código fuente Compilador Ingeniería inversa 0010111010110100111 1010010110111000011 1101001010101100000 1111110000101010111 1010010101000111110 1010100011100001111 Binario 0010111010110100111 1010010110111000011 1101001010101100000 1111110000101010111 1010010101000111110 1010100011100001111 Binario ??? Funcionamiento
  • 4. ¿¿Ingeniería inversa?? Programa Tinke interpretando una imagen
  • 5. ¿Ingeniería inversa? ¿Para qué? ● Curiosidad / Diversión / Aprendizaje ● Análisis de seguridad ● Análisis de malware ● Black-hat
  • 6. ¿Ingeniería inversa? Análisis de seguridad Generación de contraseña de Whatsapp en iOS
  • 8. Ni no kuni El mago de las tinieblas Pokémon Edición Blanca Juegos objetivos
  • 9. Integridad en archivos Partidas de guardado Datos binarios de una partida ● 64 kB Ni no kuni ● Logros ● No multijugador
  • 10. Integridad en archivos Partidas de guardado Advertencia al iniciar el juego Intento de modificar la partida Ni no kuni
  • 11. Integridad en archivos Partidas de guardado Ni no kuni Comprueba constante de 8 bytes al final del archivo 0212E8A4 LDR R0, =0xFFF8 ; Ptr de constante final 0212E8A8 ADD R1, SP, #0x30+const_0 ; Donde se guardara la constante 0212E8AC MOV R2, #8 ; Tamaño de la constante 0212E8B0 STR R3, [SP,#0x30+var_20] 0212E8B4 BL lee_partida 0212E8B8 CMP R0, #0 ; Si ha habido error salir 0212E8BC BEQ salida ; | 0212E8C0 LDR R2, [SP,#0x30+const_0] ; Lee los primeros 4B de la const 0212E8C4 LDR R3, [SP,#0x30+const_4] ; Lee los siguientes 4B de la const 0212E8C8 LDR R1, =0x7D9A32EC ; Los compara con los valores del juego 0212E8CC LDR R0, =0x84A53F0B ; | 0212E8D0 CMP R3, R1 ; | 0212E8D4 CMPEQ R2, R0 ; | Comprueba constante de 2 bytes al inicio del archivo
  • 12. Integridad en archivos Partidas de guardado Ni no kuni MAC con secreto “nnkn” 0212EADC LDR R1, =0x2141D28 ; Obtiene dirección de contraseña (1) 0212EAE0 MOV R5, R0 0212EAE4 LDR R0, [R1] ; | (1) 0212EAE8 ADD R4, SP, #0x20+var_20 ; Dirección donde guardar el nuevo resumen (2) 0212EAEC LDR R12, [R0,#-0x1D4] ; Obtiene la contraseña 0212EAF0 ADD R3, R5, #0xC000 ; Obtiene dirección de escritura de contraseña 0212EAF4 LDR R2, =0xFFE2 ; Número de bytes calcular el SHA1 0212EAF8 MOV R0, R4 ; | (2) 0212EAFC ADD R1, R5, #2 ; Comienzo para calcular el SHA1 0212EB00 STR R12, [R3,#0x5EC] ; Escribe la contraseña 0212EB04 BL calcula_sha1 0212EB08 ADD R1, R5, #0x3E4 ; Obtiene dirección del resumen original (3) 0212EB0C MOV R0, R4 ; Dirección del nuevo resumen 0212EB10 ADD R3, R5, #0xC000 ; Obtiene dirección de escritura de contraseña 0212EB14 MOV R4, #0 ; Borra contraseña (4) 0212EB18 ADD R1, R1, #0xFC00 ; | (3) 0212EB1C MOV R2, #0x14 ; Número de bytes a comparar (los del resumen) 0212EB20 STR R4, [R3,#0x5EC] ; | (4) 0212EB24 BL compare 0212EB28 CMP R0, #0 ; Comprueba si el resultado es que son iguales 0212EB2C MOVEQ R4, #1 ; | ... en ese caso devuelve true (1) 0212EB30 MOV R0, R4 ; | ... si no devuelve false (0)
  • 13. Integridad en archivos Archivos con código Pokémon Blanco ● Archivos protegidos con algún algoritmo ● Sólo se comprueba si hay un bit del firmware activo ● En DeSmuME deshabilitado por defecto //firmware makes system think it's booted from card //-- EXTREMELY IMPORTANT!!! This is actually checked by some things. (which things?) //Thanks to cReDiAr _MMU_write08<ARMCPU_ARM7>(0x02FFFC40,0x1); Línea 2305 del archivo NDSSystem.cpp
  • 14. Integridad en archivos Archivos con código Pokémon Blanco Analizando la rutina en ensamblador... HMAC
  • 15. Cifrado en archivos Ni no kuni ● Archivos con características de personajes ● Cifrados con operación NOT NOT / XOR 0xFF
  • 16. Cifrado en archivos Ni no kuni Archivos descargado con nuevas misiones 72 2B 41 8B 4C FB 9F 27 B2 1D 05 AF FB 2B 80 9F RC4 Clave (siempre la misma) Archivo descifrado ¡Código CRC32!
  • 17. Comunicación Wi-Fi Comunicación cifrada HTTPS Procedimientos para obtener paquetes en plano
  • 18. Comunicación Wi-Fi Comunicación cifrada HTTPS Procedimientos para obtener paquetes en plano 1) Punto de interrupción al inicio y fin de rutina RC4 +
  • 19. Procedimientos para obtener paquetes en plano Comunicación Wi-Fi 1) Punto de interrupción al inicio y fin de rutina RC4
  • 20. 2) Cambiar dirección hosts: “https://...” => “http://...” Procedimientos para obtener paquetes en plano Comunicación Wi-Fi
  • 21. 2) Cambiar dirección hosts: “https://...” => “http://...” Procedimientos para obtener paquetes en plano Comunicación Wi-Fi Servidor de descargas “dls1.nintendowifi.net” puerto cerrado 80 Túnel SSL (servidor proxy) Servidor DNS Servidor DLC Petición DNS Servidor proxy HTTP HTTPS
  • 23. Comunicación Wi-Fi Mensajes intercambiados MD5 de challenge AC 48 espacios seguidos token de AC challenge generado challenge actual MD5 de challenge AC MD5 de la siguiente cadena:
  • 24. Comunicación Wi-Fi Mensajes intercambiados ¡Se listan todos los DLC disponibles! Comunicación de acción list
  • 25. Comunicación Wi-Fi Comprobación de certificado Autoridad de Certificación No haya expirado No hay errores al leer el certificado Firma correcta No comprueba el host Parte de la CA de Nintendo 1 x Nintendo 3 x CyberTrust 2 x GlobalSign 2 x VeriSign 2 x Thawte
  • 26. Conclusiones Ingeniería inversa => Análisis de seguridad Técnicas de cifrado e integridad para evitar modificaciones Aspectos de seguridad en comunicación Wi-Fi
  • 27. ● Reversing iOS apps for fun and profit ● Whatsapp – iOS password generation ● Save Nintendo WiFi ● DWC Network Server Emulator ● Simple HTTPS server in Python + Create CA and Certs Referencias
  • 28. Benito Palacios Sánchez Seguridad en Redes de Comunicación Universidad de Granada Ingeniería inversa. Seguridad en juegos de Nintendo DS