contenido 1 - libros y vídeos didácticos de informática

32
1 Contenido Capítulo 1 Introducción y definiciones 1. La seguridad informática, ¿para qué?, ¿para quién? . . . . . . . . . . . . . . . . . . . 23 1.1 Hacking, piratería, seguridad informática... ¿Qué hay detrás de estas palabras? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2 La importancia de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.1 Para particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.2 Para empresas y centros académicos . . . . . . . . . . . . . . . . . . . . . 26 1.2.3 Para un país o una nación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2. El hacking que pretende ser ético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1 Trabajo en cooperación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2 Un espíritu habilidoso y apasionado por encima de todo . . . . . . . . . . 29 2.3 El hacker se está convirtiendo en un experto muy buscado . . . . . . . . 29 2.4 En la piel del atacante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5 Asesoramiento y apoyo para la seguridad . . . . . . . . . . . . . . . . . . . . . . . 31 3. Conocer al enemigo para defenderse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1 A cada atacante su sombrero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.1 Los hackers black hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 Los hackers grey hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.3 Los hackers white hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.4 Los "script kiddies" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.5 Los hackers universitarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Y a cada auditoría su caja de secretos . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Los test black box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.2 Los test grey box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.3 Los test white box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Capítulo 2 Metodología de un ataque 1. Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2. Ante todo discreción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3. Seleccionar a la víctima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.1 Utilizar buenas herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2 Identificar los dominios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Upload: others

Post on 29-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contenido 1 - Libros y vídeos didácticos de informática

1Contenido

Capítulo 1

Introducción y definiciones

1. La seguridad informática, ¿para qué?, ¿para quién? . . . . . . . . . . . . . . . . . . . 231.1 Hacking, piratería, seguridad informática...

¿Qué hay detrás de estas palabras? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.2 La importancia de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.2.1 Para particulares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.2.2 Para empresas y centros académicos . . . . . . . . . . . . . . . . . . . . . 261.2.3 Para un país o una nación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2. El hacking que pretende ser ético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.1 Trabajo en cooperación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2 Un espíritu habilidoso y apasionado por encima de todo . . . . . . . . . . 292.3 El hacker se está convirtiendo en un experto muy buscado . . . . . . . . 292.4 En la piel del atacante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.5 Asesoramiento y apoyo para la seguridad . . . . . . . . . . . . . . . . . . . . . . . 31

3. Conocer al enemigo para defenderse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.1 A cada atacante su sombrero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.1.1 Los hackers black hat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.1.2 Los hackers grey hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.1.3 Los hackers white hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.4 Los "script kiddies" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.1.5 Los hackers universitarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2 Y a cada auditoría su caja de secretos . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.1 Los test black box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.2 Los test grey box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2.3 Los test white box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Capítulo 2

Metodología de un ataque

1. Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2. Ante todo discreción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3. Seleccionar a la víctima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.1 Utilizar buenas herramientas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2 Identificar los dominios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 2: Contenido 1 - Libros y vídeos didácticos de informática

2Hacking Ético

Seguridad informática

3.3 Google, ese amigo tan curioso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4 Descubrir la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4. El ataque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1 Aprovecharse del fallo humano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Abrir las puertas de la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3 El ataque por la Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4 La fuerza al servicio del ataque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5. Introducirse en el sistema y garantizar el acceso . . . . . . . . . . . . . . . . . . . . . . 525.1 Permanecer discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2 Garantizar el acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.3 Ampliar su alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6. Revisión de la intrusión y la protección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.1 Una política de seguridad exigente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.1.1 Contraseñas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.1.2 Formación del personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.1.3 A cada empleado su perfil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.2 Encriptar la información esencial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.3 Securizar los servidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.3.1 Realizar actualizaciones de seguridad. . . . . . . . . . . . . . . . . . . . . 586.3.2 Enjaular servicios (chroot, jail) . . . . . . . . . . . . . . . . . . . . . . . . . . 596.3.3 Seguridad del núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.3.4 Evitar escaneos y ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.3.5 Solo guardar lo esencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.3.6 Vigilancia de actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.4 Los tests de intrusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Capítulo 3

Elementos de ingeniería social

1. Aspectos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631.2 Sistemas de información. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

1.2.1 Detalles de los sistemas de información . . . . . . . . . . . . . . . . . . . 651.2.2 Fallos de un sistema de información. . . . . . . . . . . . . . . . . . . . . . 66

Page 3: Contenido 1 - Libros y vídeos didácticos de informática

3Contenido

1.3 Presentación de la ingeniería social . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661.3.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661.3.2 Características y perímetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

1.4 Problemática de la protección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

2. Formas de acción de la ingeniería social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712.1 Los principios del ataque por ingeniería social . . . . . . . . . . . . . . . . . . . 712.2 Proceso genérico de la ingeniería social . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.2.1 Estudio previo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732.2.2 Preparación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762.2.3 Explotación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

2.3 Competencias y herramientas del ingeniero social. . . . . . . . . . . . . . . . 782.3.1 Comedias, estratagemas, subterfugios y engaños . . . . . . . . . . . 792.3.2 Lectura del objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

3. Conocimiento de las organizaciones atacadas . . . . . . . . . . . . . . . . . . . . . . . . 803.1 Tipologías generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.2 Tipologías de valores y de creencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.3 Modelos de madurez y certificaciones de calidad . . . . . . . . . . . . . . . . . 843.4 Explotación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4. Fallos humanos - bases y modelos teóricos . . . . . . . . . . . . . . . . . . . . . . . . . . 854.1 Bases biológicas y la funcionalidad del cerebro . . . . . . . . . . . . . . . . . . . 864.2 Sesgos cognitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.3 Métodos hipnóticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.4 Coherencia y búsqueda del "patrón" . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.5 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.6 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.6.1 Caso particular del teléfono . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.6.2 Camuflaje final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5. Influencia y manipulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.1 Métodos de influencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.1.1 Influencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.1.2 Tentación, seducción e intimidación . . . . . . . . . . . . . . . . . . . . . 915.1.3 Manipulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.2 Los grandes resortes de la manipulación . . . . . . . . . . . . . . . . . . . . . . . . 925.2.1 La coherencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.2 La reciprocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Page 4: Contenido 1 - Libros y vídeos didácticos de informática

4Hacking Ético

Seguridad informática

5.2.3 Prueba social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.2.4 Autoridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.2.5 Simpatía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.2.6 Escasez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6. Las técnicas de manipulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.1 Las técnicas mayores de manipulación . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.1.1 Los cebos y señuelos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.1.2 El pie en la puerta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.1.3 La puerta en las narices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.2 Las técnicas menores de manipulación . . . . . . . . . . . . . . . . . . . . . . . . . 996.2.1 Calentar la oreja, cortesía, simpatía . . . . . . . . . . . . . . . . . . . . . 1006.2.2 Contacto, toque, mirada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2.3 Las trampas de la coherencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2.4 Etiquetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.2.5 Declaración de libertad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.2.6 Algunas pequeñas técnicas a conocer . . . . . . . . . . . . . . . . . . . . 102

6.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.1 Cruzar técnicas mayores y menores . . . . . . . . . . . . . . . . . . . . . 1036.3.2 Cruzar técnicas y resortes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.3 Guión de camuflaje final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

7. Saber "actualizar" o "parchear" los fallos humanos . . . . . . . . . . . . . . . . . . . 1037.1 Voluntad política . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047.2 Metodología. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7.2.1 Profesionalismo, calidad, procedimientos, madurez . . . . . . . . 1057.2.2 Medida: pruebas, auditoría, experiencias de detección . . . . . . 1057.2.3 Optimización y cambio de paradigma . . . . . . . . . . . . . . . . . . . 106

7.3 Acciones concretas a emprender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067.3.1 Documentar una política de clasificación de la información . 1067.3.2 Controlar los "Input/Output"

(entrada/salida de información) . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.3 Instruir al personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.4 Promover la recuperación de la información . . . . . . . . . . . . . . 108

7.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.4.1 Manipular a los decisores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.4.2 Bloc-de-notas de respuesta al teléfono . . . . . . . . . . . . . . . . . . . 1097.4.3 Recuperación de información . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Page 5: Contenido 1 - Libros y vídeos didácticos de informática

5Contenido

8. Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Capítulo 4

Los fallos físicos

1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

2. Lockpicking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

3. Acceso físico directo al ordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123.1 Acceso a un ordenador apagado cuya BIOS está protegida . . . . . . . . 1123.2 Acceso a un ordenador apagado cuya BIOS no está protegida . . . . . 116

3.2.1 Utilización de Offline NT Password y Registry Editor v110511 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

3.2.2 Utilización de Trinity Rescue Kit . . . . . . . . . . . . . . . . . . . . . . . 1203.2.3 Obtener la base de datos SAM con Kali Linux

(distribución que sucede a Backtrack5) . . . . . . . . . . . . . . . . . . 1223.2.4 Windows Password Recovery Bootdisk . . . . . . . . . . . . . . . . . . 1273.2.5 Los distintos tipos de algoritmos de encriptación . . . . . . . . . . 1283.2.6 Los hash de tipo LM y NTLM. . . . . . . . . . . . . . . . . . . . . . . . . . 1293.2.7 Utilizar John the Ripper para encontrar las contraseñas . . . . 1313.2.8 Hashcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343.2.9 Utilizar la potencia de la tarjeta gráfica . . . . . . . . . . . . . . . . . . 1363.2.10 Método de tablas arco iris (rainbow tables). . . . . . . . . . . . . . . 1383.2.11 Generar sus propias tablas rainbow . . . . . . . . . . . . . . . . . . . . . 1403.2.12 Utilizar OPHCRACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1413.2.13 Utilización del programa Cain & Abel . . . . . . . . . . . . . . . . . . . 1443.2.14 Utilización del script Findmyhash . . . . . . . . . . . . . . . . . . . . . . 1483.2.15 Bypass de la autentificación de Windows y Linux . . . . . . . . . 1503.2.16 Autenticación Firewire-Inception-Bypass . . . . . . . . . . . . . . . . 1523.2.17 Utilidades de recuperación de contraseñas . . . . . . . . . . . . . . . 1533.2.18 Ejemplos de elevación de privilegios mediante exploits

en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1573.2.19 Fallos de Windows Vista, Windows 7 y Windows 8.1 . . . . . . 1583.2.20 Windows-privesc-check-Búsqueda de fallos en Windows . . . 161

3.3 Acceso a un equipo iniciado en modo sesión de usuario actual . . . . . 1633.3.1 Las memorias USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.3.2 U3PWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Page 6: Contenido 1 - Libros y vídeos didácticos de informática

6Hacking Ético

Seguridad informática

3.3.3 La llave Ducky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653.3.4 Keyloggers hardware y software . . . . . . . . . . . . . . . . . . . . . . . . 1673.3.5 Contramedidas para los keyloggers. . . . . . . . . . . . . . . . . . . . . . 1713.3.6 Obtención de imágenes de memoria. . . . . . . . . . . . . . . . . . . . . 1743.3.7 Métodos de recuperación de la memoria RAM . . . . . . . . . . . . 1763.3.8 Crear una memoria USB de arranque para vaciar la memoria. . 1803.3.9 Extracción de memoria usando la conexión

FireWire - Método Carsten Maartmann-Moe (Inception) . . . 1853.3.10 Volcado de memoria en Linux. . . . . . . . . . . . . . . . . . . . . . . . . . 1863.3.11 Análisis de las imágenes de memoria . . . . . . . . . . . . . . . . . . . . 189

3.4 Conclusión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Capítulo 5

Toma de huellas o captura de información

1. Los ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2031.1 Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2031.2 Introducción a los diferentes tipos de ataques . . . . . . . . . . . . . . . . . . 2031.3 El ataque de tipo destructivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2041.4 El ataque sobre los medios de comunicación. . . . . . . . . . . . . . . . . . . . 2041.5 Los ataques con objetivos mercantiles. . . . . . . . . . . . . . . . . . . . . . . . . 2051.6 Los ataques de tipo APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051.7 Las diferentes fases de un ataque y un test de intrusión . . . . . . . . . . 206

2. El análisis de riesgos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

3. El test de intrusión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2083.1 Los actores del hacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2083.2 Tipos y estrategias de auditoría . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

3.2.1 Los tipos de auditorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093.2.2 Las estrategias de auditorias . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

4. Metodología de recolección de información, también llamada "toma de huellas". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Page 7: Contenido 1 - Libros y vídeos didácticos de informática

7Contenido

5. El servicio Whois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2105.1 La gestión de direcciones IP en el mundo . . . . . . . . . . . . . . . . . . . . . . 2115.2 Búsqueda de información en la Web . . . . . . . . . . . . . . . . . . . . . . . . . . 2135.3 Los básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2135.4 Los sitios web especializados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2145.5 Las redes sociales y profesionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2165.6 Los agregadores de información especializados . . . . . . . . . . . . . . . . . 2185.7 Los add-ons de navegador especializados . . . . . . . . . . . . . . . . . . . . . . 2205.8 Un navegador dedicado a la búsqueda OSINT: Oryon . . . . . . . . . . . 2215.9 Aplicación específica: Net Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

6. Motores de búsqueda de dispositivos conectados . . . . . . . . . . . . . . . . . . . . 2236.1 Shodan: la referencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2236.2 ThingFul: un motor de búsqueda para los IoT (Internet of things). 2306.3 Censys: todo sobre los aparatos conectados en IPv4 en Internet . . . 2326.4 Zoomeye: la alternativa China . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

7. Búsqueda de información con Google Hack . . . . . . . . . . . . . . . . . . . . . . . . 2357.1 El Big Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2357.2 Las técnicas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2357.3 Google: su historia y las claves de su éxito . . . . . . . . . . . . . . . . . . . . . 2367.4 Google ineludible en la Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2367.5 Definición de Google Hacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2367.6 Funcionamiento del motor de búsqueda. . . . . . . . . . . . . . . . . . . . . . . 2377.7 Las referencias Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2387.8 Google Hack: los operadores básicos de Google . . . . . . . . . . . . . . . . . 2387.9 Los operadores avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2397.10 Los operadores específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2407.11 Los Google Dorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2407.12 Una interfaz gráfica para Google Hack y Bing Hack . . . . . . . . . . . . . 246

8. Aplicaciones gráficas dedicadas a la búsqueda de información . . . . . . . . . 2488.1 Maltego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488.2 Foca Free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498.3 The Harvester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2518.4 Uberharvest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

9. Enumeración de DNS, comandos y scripts . . . . . . . . . . . . . . . . . . . . . . . . . 2539.1 Nslookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2539.2 Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Page 8: Contenido 1 - Libros y vídeos didácticos de informática

8Hacking Ético

Seguridad informática

9.3 Dig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559.4 Dnsenum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2569.5 Dnsbf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

9.5.1 Fierce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2589.6 Bluto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

10. Los escáneres de puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25910.1 Nmap - Network Mapper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

10.1.1 Uso de nmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26110.1.2 Servicios y protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26210.1.3 Escaneo en Idle Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26510.1.4 Escaneos avanzados - Utilización de los scripts nmap (.nse) . 267

10.2 El escáner en masa Masscan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26910.3 El escáner web Httprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27010.4 Dmitry (Deepmagic Information Gathering Tool). . . . . . . . . . . . . . . 270

11. Frameworks y recogida de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27111.1 Metasploit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27111.2 Recon-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27111.3 SpiderFoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

12. Los escáneres de vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27412.1 Nessus - Escáner de red. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27412.2 OpenVAS - Escáner de red open source . . . . . . . . . . . . . . . . . . . . . . . . 28212.3 AutoScan Network - Escáner de vulnerabilidades de red . . . . . . . . . . 28612.4 Nikto - Escáner de vulnerabilidades web. . . . . . . . . . . . . . . . . . . . . . . 288

13. El Protocolo SNMP - Simple Network Management Protocol . . . . . . . . . . 29013.1 Las peticiones SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29113.2 Las respuestas SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29113.3 Las alertas (SNMP traps, notificaciones). . . . . . . . . . . . . . . . . . . . . . . 29113.4 El MIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29113.5 Las herramientas SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29213.6 SNMP y la seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29213.7 La herramienta snmpwalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29313.8 La herramienta snmpcheck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29413.9 Algunas reglas de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

14. El reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

15. Para concluir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Page 9: Contenido 1 - Libros y vídeos didácticos de informática

9Contenido

Capítulo 6

Seguridad de comunicaciones inalámbricas

1. Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

2. Los objetos conectados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

3. Las transmisiones de radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

4. La radio software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

5. El hardware disponible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3025.1 La llave RTL-SDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3025.2 El HackRF One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3035.3 El bladeRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3045.4 El PandwaRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3055.5 El USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

6. Los protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3076.1 El ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3076.2 El Zwave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3116.3 El Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

7. La suite GNU-RADIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3157.1 Las bases de gnuradio-companion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3177.2 Módulo Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3247.3 Módulo escrito en CPP (C plus plus). . . . . . . . . . . . . . . . . . . . . . . . . . 331

8. Ejemplos de aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3358.1 Comunicación NRF24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3368.2 Comunicación ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

9. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

Capítulo 7

Los fallos de red

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

2. Recordatorio de redes TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3512.1 El modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3512.2 Direccionamiento IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3522.3 Noción de pasarela, máscara y subred . . . . . . . . . . . . . . . . . . . . . . . . . 3532.4 TCP y UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

Page 10: Contenido 1 - Libros y vídeos didácticos de informática

10Hacking Ético

Seguridad informática

2.5 Los servicios y los puertos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3552.6 Las direcciones IP públicas y privadas . . . . . . . . . . . . . . . . . . . . . . . . . 356

3. Herramientas prácticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3573.1 Información sobre sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3573.2 Información acerca de una dirección pública

o un nombre de dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3603.3 Escáner de puertos TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

3.3.1 Escáner de nuestro propio equipo . . . . . . . . . . . . . . . . . . . . . . . 3613.3.2 Escanear una subred. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3613.3.3 Escanear una red sin comunicar directamente con el objetivo . 3633.3.4 Escaner en red sin escanear los puertos . . . . . . . . . . . . . . . . . . 3643.3.5 Escanear una red via TCP SYN scan (Half Open scan) . . . . . . 3663.3.6 Escanear una red vía TCP XMAS y Maimon scan. . . . . . . . . . 3763.3.7 Escanear una red vía TCP FIN scan . . . . . . . . . . . . . . . . . . . . . 3783.3.8 Escanear una red utilizando TCP NULL scan . . . . . . . . . . . . . 3793.3.9 Escaneo de red empleando TCP IDLE scan . . . . . . . . . . . . . . . 3793.3.10 Escanear una red empleando UDP scan . . . . . . . . . . . . . . . . . . 3823.3.11 Escanear una red empleando TCP-ACK scan. . . . . . . . . . . . . . 384

3.4 Gestión de sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3853.4.1 ¿Cómo tomar el control de un host remoto? . . . . . . . . . . . . . . 3853.4.2 Transferencia de archivos entre dos equipos . . . . . . . . . . . . . . 3873.4.3 Tomar el control de un equipo en una red privada . . . . . . . . . 387

3.5 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3883.6 Túnel SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

3.6.1 Rodear un firewall para acceder a un host remoto . . . . . . . . . 3903.6.2 Autorizar un acceso momentáneo desde el exterior . . . . . . . . 392

4. DoS y DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3934.1 Establecimiento de una sesión TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . 3934.2 Principios del ataque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

5. Sniffing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3955.1 Capturar datos con Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3965.2 Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

Page 11: Contenido 1 - Libros y vídeos didácticos de informática

11Contenido

6. Man In The Middle (MITM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4006.1 Teoría. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4006.2 Práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

6.2.1 Instalación de Ettercap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4026.2.2 Configuración de Ettercap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4036.2.3 Plug-ins con Ettercap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4066.2.4 Creación de un filtro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4076.2.5 Cain & Abel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

6.3 Contramedidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

7. Robo de sesión TCP (HIJACKING) y Spoofing de IP . . . . . . . . . . . . . . . . . 4117.1 El fallo: ACK/SEQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4117.2 Consecuencias del ataque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4127.3 Puesta en práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4127.4 Automatizar el ataque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4157.5 Spoofing de dirección IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

8. Fallos Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4198.1 Crackear una red con cifrado WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

8.1.1 Capturar paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4198.1.2 Generar tráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4208.1.3 Encontrar la clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

8.2 Crackear una red WPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4228.3 Rogue AP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

8.3.1 Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4248.3.2 Despliegue de un Rogue AP con Karmetasploit. . . . . . . . . . . . 424

9. IP over DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4269.1 Principio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4269.2 Explotación con la herramienta iodine . . . . . . . . . . . . . . . . . . . . . . . . 4279.3 Contramedidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

10. La telefonía IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42810.1 Escucha de la conversación con VoIPong . . . . . . . . . . . . . . . . . . . . . . 42810.2 Usurpación de la línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43010.3 Otros ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

11. IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43211.1 Los programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43211.2 El hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43211.3 Factor humano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

Page 12: Contenido 1 - Libros y vídeos didácticos de informática

12Hacking Ético

Seguridad informática

11.4 THC-IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43311.5 Escanear los hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

11.5.1 En una red local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43411.5.2 En Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

11.6 Flooder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43411.7 Man in the Middle Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

12. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

Capítulo 8

Los fallos Web

1. Recordatorio sobre las tecnologías Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4391.1 Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4391.2 La red Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4391.3 ¿Qué es un sitio web? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4401.4 Consulta de una página web, anatomía

de los intercambios cliente/servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 4401.5 ¿Cómo se construyen las páginas web?. . . . . . . . . . . . . . . . . . . . . . . . 445

2. Aspectos generales en la seguridad de sitios web. . . . . . . . . . . . . . . . . . . . . 447

3. Pequeño análisis de un sitio web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4483.1 Mapa de las partes visibles de un sitio web. . . . . . . . . . . . . . . . . . . . . 448

3.1.1 ¿Es el sitio web estático o dinámico? . . . . . . . . . . . . . . . . . . . . 4493.1.2 ¿Cuáles son las variables usadas? . . . . . . . . . . . . . . . . . . . . . . . 4503.1.3 ¿Qué formularios y qué campos las utilizan? . . . . . . . . . . . . . 4513.1.4 ¿Recibimos cookies? ¿Qué datos contienen? . . . . . . . . . . . . . . 4513.1.5 ¿Las páginas tienen contenido multimedia? . . . . . . . . . . . . . . 4533.1.6 ¿El sitio realiza consultas a base de datos? . . . . . . . . . . . . . . . . 4533.1.7 ¿Podemos acceder a algunas carpetas? . . . . . . . . . . . . . . . . . . . 4543.1.8 ¿El sitio web usa JavaScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . 4553.1.9 ¿Qué servidor se está utilizando y cuál es su versión?. . . . . . . 4563.1.10 Herramientas para nuestra ayuda. . . . . . . . . . . . . . . . . . . . . . . 457

3.2 Descubrir la cara oculta de un servidor web . . . . . . . . . . . . . . . . . . . . 4593.2.1 Utilización de Burp Suite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4593.2.2 Utilización de Wfuzz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

3.3 Analizar la información obtenida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

Page 13: Contenido 1 - Libros y vídeos didácticos de informática

13Contenido

4. Pasar al ataque de un sitio web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4744.1 Enviar datos no esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

4.1.1 Principios y herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4744.1.2 Utilización de la URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4764.1.3 Utilización de formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4794.1.4 Utilización de la cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4834.1.5 Utilización de cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

4.2 Robo de sesión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4864.3 El almacén de archivos perjudiciales . . . . . . . . . . . . . . . . . . . . . . . . . . 489

5. SQL Injection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4925.1 Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4925.2 Introducción a las bases de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4925.3 Principio de las inyecciones SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5045.4 Técnica de Blind SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5145.5 Herramientas eficaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536

6. Pasar un CAPTCHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5386.1 Presentación de distintos CAPTCHA . . . . . . . . . . . . . . . . . . . . . . . . . 5386.2 Saltarse CAPTCHAs básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5396.3 Saltarse los CAPTCHAs de imágenes . . . . . . . . . . . . . . . . . . . . . . . . . 542

7. Las nuevas amenazas en la web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548

8. Contramedidas y consejos de seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5498.1 Filtrar todos los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5498.2 Fortalecer la identificación del cliente . . . . . . . . . . . . . . . . . . . . . . . . . 5528.3 Configurar sabiamente el servidor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 552

9. Utilizar los frameworks para el desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . 553

10. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

Capítulo 9

Los fallos de sistema operativo

1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

2. Contraseñas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5582.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5582.2 Averiguar una contraseña en Microsoft Windows . . . . . . . . . . . . . . . 5582.3 Complejidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559

Page 14: Contenido 1 - Libros y vídeos didácticos de informática

14Hacking Ético

Seguridad informática

2.4 Almacenamiento de contraseñas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5602.4.1 Detalles acerca del almacenamiento de contraseñas . . . . . . . . 5602.4.2 Visualizar las improntas LM y NTLMv1-2 . . . . . . . . . . . . . . . 562

2.5 Caso práctico: encontrar las contraseñas de Microsoft Windows . . . 5642.5.1 Obtención de las contraseñas con Ophcrack liveCD. . . . . . . . 5642.5.2 Recuperación de condensado con Responder. . . . . . . . . . . . . . 5652.5.3 Recuperación de condensado de una máquina local

con SMBEXEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5672.5.4 Recuperación de condensado de una máquina local

y elevación de privilegios con Mimikatz . . . . . . . . . . . . . . . . . 5692.5.5 Recuperación de las contraseñas de un controlador

de dominio Windows 2012 R2 . . . . . . . . . . . . . . . . . . . . . . . . . 5762.6 Caso práctico: encontrar las contraseñas de GNU/Linux . . . . . . . . . 5802.7 Caso práctico: encontrar las contraseñas de Mac OS X . . . . . . . . . . . 5812.8 Cambiar su contraseña por línea de comandos. . . . . . . . . . . . . . . . . . 582

2.8.1 En Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5822.8.2 En GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5832.8.3 En Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583

3. Usuarios, grupos y permisos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 5843.1 Gestión de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

3.1.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5843.1.2 En GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5843.1.3 En Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5853.1.4 En Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

3.2 Gestión de grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5883.2.1 En GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5883.2.2 En Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5883.2.3 En Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

3.3 Asignación de permisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5883.3.1 En GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5893.3.2 En Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5903.3.3 En Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

4. Elevación de privilegios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5924.1 En UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592

4.1.1 Activación del suid y del sgid . . . . . . . . . . . . . . . . . . . . . . . . . . 5934.1.2 Cómo encontrar los scripts suid root

de un sistema GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594

Page 15: Contenido 1 - Libros y vídeos didácticos de informática

15Contenido

4.2 En Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5944.3 El Programador de tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599

5. Los procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5995.1 Espiar procesos en Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6015.2 El hooking y la inyección de procesos . . . . . . . . . . . . . . . . . . . . . . . . . 601

5.2.1 Ejemplo de hooking de eventos de teclado en Windows . . . . 6025.2.2 Ejemplo de hooking de paquetes de red mediante

Netfilter en GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6065.2.3 Ejemplo de inyección de código en otro proceso

en Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6085.3 Las condiciones de concurrencia (race conditions) . . . . . . . . . . . . . . . 609

6. El arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6106.1 Abuso de los modos de arranque degradados . . . . . . . . . . . . . . . . . . . 6106.2 Los ataques de preboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610

7. Hibernación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

8. Las RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6118.1 Principio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6118.2 Acceso remoto al registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612

9. SeLinux y AppArmor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612

10. La virtualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61210.1 Aislamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61210.2 La carga de la raíz o chrooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61310.3 Kernel en el espacio de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61410.4 La máquina virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61410.5 La paravirtualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61510.6 Ejemplo de solución de paravirtualización: Proxmox VE. . . . . . . . . . 61510.7 Detección y ataque de una máquina virtual . . . . . . . . . . . . . . . . . . . . 616

11. Logs, actualizaciones y copias de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . 61711.1 Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61711.2 Actualizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

11.2.1 Implantación de actualizaciones automáticas en GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

11.2.2 Implantación de actualizaciones automáticas en Microsoft Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

11.2.3 Implantación de actualizaciones automáticas en Mac OS X . 61811.3 Copias de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

Page 16: Contenido 1 - Libros y vídeos didácticos de informática

16Hacking Ético

Seguridad informática

12. Big Data y confidentialidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

13. Balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621

Capítulo 10

Los fallos de aplicación

1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623

2. Nociones de ensamblador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6232.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6232.2 Primeros pasos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624

2.2.1 Aprendamos a contar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6242.2.2 Binario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6242.2.3 Hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625

2.3 ¿Cómo probar nuestros programas? . . . . . . . . . . . . . . . . . . . . . . . . . . 6272.3.1 Plantilla de un programa en ensamblador . . . . . . . . . . . . . . . . 6272.3.2 Nuestro primer programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

2.4 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6292.4.1 Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6292.4.2 Instrucción IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6302.4.3 Bucle FOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6312.4.4 Bucle WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6322.4.5 Bucle DO WHILE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6322.4.6 Directiva %define. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6342.4.7 Directivas de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6342.4.8 Entrada/Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

2.5 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6352.6 Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6372.7 Heap y pila. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638

2.7.1 Heap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6382.7.2 Pila. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6392.7.3 Llamada y retorno de función: nociones fundamentales. . . . . 640

Page 17: Contenido 1 - Libros y vídeos didácticos de informática

17Contenido

3. Fundamentos de shellcodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6423.1 Ejemplo 1: shellcode.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6423.2 Ejemplo 2: execve() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6433.3 Ejemplo 3: Port Binding Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645

4. Buffer overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6474.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6474.2 Conceptos básicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6484.3 Stack overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6494.4 Heap overflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6564.5 return into libc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

5. Fallos en Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6645.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6645.2 Primer paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

5.2.1 En modo consola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6655.2.2 Depuración. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6665.2.3 El problema de un shellcode grande . . . . . . . . . . . . . . . . . . . . . 6705.2.4 Ejecución de una función no prevista. . . . . . . . . . . . . . . . . . . . 6735.2.5 Otros métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675

5.3 El método de call [reg] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6755.4 El método pop ret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6765.5 El método push return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6765.6 El método jmp [reg] + [offset] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6775.7 El método blind return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6775.8 ¿Qué podemos hacer con un pequeño shellcode?. . . . . . . . . . . . . . . . 677

5.8.1 Principio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6775.8.2 En la práctica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678

5.9 El SEH (Structured Exception Handling) . . . . . . . . . . . . . . . . . . . . . . 6785.9.1 Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6785.9.2 SEH, protecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6805.9.3 XOR y SafeSEH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681

5.10 Saltarse las protecciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6825.10.1 Stack cookie, protección /GS . . . . . . . . . . . . . . . . . . . . . . . . . . 6825.10.2 Ejemplo: sobrepasar la cookie . . . . . . . . . . . . . . . . . . . . . . . . . . 6865.10.3 SafeSEH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689

Page 18: Contenido 1 - Libros y vídeos didácticos de informática

18Hacking Ético

Seguridad informática

6. Caso real: Ability Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6906.1 Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6906.2 Exploit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

7. Caso real: MediaCoder-0.7.5.4796 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6987.1 Cuelgue del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6987.2 Comprobación de los valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7037.3 Finalización del exploit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703

8. Caso concreto: BlazeDVD 5.1 Professional . . . . . . . . . . . . . . . . . . . . . . . . . 706

9. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709

10. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710

Capítulo 11

Análisis forense

1. Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7111.1 El cerebro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7121.2 La memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7131.3 Los archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715

2. Los métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7162.1 Preparación y entorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7162.2 Búsqueda y análisis de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

3. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7193.1 Herramientas de análisis de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719

3.1.1 Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7193.1.2 tcpdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7203.1.3 Scapy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720

3.2 Herramientas de análisis de memoria . . . . . . . . . . . . . . . . . . . . . . . . . 7213.2.1 Volatility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721

3.3 Herramientas de análisis binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7223.3.1 Hexdump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7223.3.2 Readelf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7223.3.3 Gdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723

3.4 Herramientas de análisis de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 7233.4.1 The coroner’s toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7233.4.2 Logstash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724

Page 19: Contenido 1 - Libros y vídeos didácticos de informática

19Contenido

4. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724

Capítulo 12

La seguridad de los routers

1. La funcionalidad de un router. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7251.1 Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7251.2 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7251.3 Telefonía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7261.4 Televisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7261.5 Servidor multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726

2. Los diferentes routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7272.1 Orange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7272.2 ONO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728

3. La configuración de los routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7283.1 El modo módem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7283.2 El modo router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7293.3 Las funciones telefónicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730

4. La configuración por defecto, un peligro . . . . . . . . . . . . . . . . . . . . . . . . . . . 7314.1 La interfaz de administración web . . . . . . . . . . . . . . . . . . . . . . . . . . . 7314.2 El Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7324.3 Los servicios: SSH, Telnet, Samba, TR069 . . . . . . . . . . . . . . . . . . . . . 732

5. Instalación de un firmware alternativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7345.1 ¿Para qué? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7345.2 Conexión al puerto consola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734

6. La seguridad de los firmware oficiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7406.1 Los fallos en estos últimos años. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7406.2 Y ¿En la actualidad? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741

Page 20: Contenido 1 - Libros y vídeos didácticos de informática

20Hacking Ético

Seguridad informática

Capítulo 13

Los fallos de hardware

1. Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743

2. La caja de herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7442.1 Las herramientas básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744

2.1.1 Juego de destornilladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7442.1.2 El multímetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7452.1.3 Placa de pruebas (protoboard) . . . . . . . . . . . . . . . . . . . . . . . . . . 7452.1.4 Los cables Dupont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7462.1.5 Soldador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7462.1.6 Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7472.1.7 Materiales de recuperación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747

2.2 Usuario regular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7482.2.1 Adaptador USB RS232 TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7482.2.2 Analizador lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7482.2.3 Interfaz JTAG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7492.2.4 El bus pirate de la casa Dangerous Prototypes . . . . . . . . . . . . . 7492.2.5 SDR de bajo coste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750

2.3 Usuario avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.1 Software de diseño de PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.2 Programador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.3 Equipo de electricista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753

2.4 Metodología de ingeniería inversa de hardware . . . . . . . . . . . . . . . . . 7532.4.1 Ataque empleando Sniffing I2C . . . . . . . . . . . . . . . . . . . . . . . . 7552.4.2 Ataque empleando Sniffing UART modem . . . . . . . . . . . . . . . 758

2.5 Estudio y trasteo con T2G y Arduino . . . . . . . . . . . . . . . . . . . . . . . . . 7582.5.1 Creación de un lector de tarjetas T2G . . . . . . . . . . . . . . . . . . . 7592.5.2 Emulador parcial de tarjeta T2G. . . . . . . . . . . . . . . . . . . . . . . . 767

Page 21: Contenido 1 - Libros y vídeos didácticos de informática

21Contenido

Capítulo 14

Black Market

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771

2. Deep Web, Dark Web, darknet, Black Market. . . . . . . . . . . . . . . . . . . . . . . 771

3. Black Market, entre lo visible y lo invisible . . . . . . . . . . . . . . . . . . . . . . . . . 772

4. Funcionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773

5. ¿Anonimato de las tiendas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775

6. Manual de uso de TOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7766.1 Instalación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7766.2 Configuración de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7776.3 Verifique su IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7786.4 Navegue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7796.5 Cambiar de IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7796.6 Actualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779

7. Las referencias del Black Market. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780

8. Traductor de Onion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784

9. Vocabulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784

10. Lista de tiendas y autoshops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786

Índice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787

Page 22: Contenido 1 - Libros y vídeos didácticos de informática

1Contenido

Prólogo

Capítulo 1Comprender qué es un malware

1. Presentación de los malwares por familias . . . . . . . . . . . . . . . . . . . . . 131.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Backdoor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Ransomware y locker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4 Stealer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.5 Miner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.6 Banking Trojan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.7 Rootkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2. Escenario de infección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Escenario 1: la ejecución de un archivo adjunto . . . . . . . . . . . . . 192.3 Escenario 2: el clic desafortunado . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Escenario 3: la apertura de un documento infectado . . . . . . . . . 212.5 Escenario 4: los ataques informáticos . . . . . . . . . . . . . . . . . . . . . 212.6 Escenario 5: los ataques físicos: infección por llave USB . . . . . . 222.7 Escenario 6: los ataques de tipo Supply Chain . . . . . . . . . . . . . . 22

3. Técnicas de comunicación con el C&C. . . . . . . . . . . . . . . . . . . . . . . . 233.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Actualización de la lista de nombres de dominio . . . . . . . . . . . . 233.3 Comunicación mediante HTTP/HTTPS/FTP/IRC . . . . . . . . . . 243.4 Comunicación mediante e-mail. . . . . . . . . . . . . . . . . . . . . . . . . . 24

Podrá descargar algunos elementos de este libro en la página web de Ediciones ENI: http://www.ediciones-eni.com.

Escriba la referencia ENI del libro EPT3MAL en la zona de búsqueda y valide. Haga clic en el título y después en el vínculo de descarga.

Page 23: Contenido 1 - Libros y vídeos didácticos de informática

2Análisis de amenazas e implementación de contramedidas

Seguridad informática y malwares

3.5 Comunicación mediante una red punto a punto . . . . . . . . . . . . 253.6 Comunicación mediante protocolos propietarios . . . . . . . . . . . 253.7 Comunicación mediante el protocolo DNS . . . . . . . . . . . . . . . . 253.8 Comunicación pasiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.9 Fast flux y DGA (Domain Generation Algorithms). . . . . . . . . . 26

4. Modo operativo en caso de amenazas a objetivos persistentes (APT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Fase 1: reconocimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3 Fase 2: intrusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4 Fase 3: persistencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.5 Fase 4: pivotar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.6 Fase 5: filtración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.7 Trazas dejadas por el atacante. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5. Recursos en Internet en relación con los malwares . . . . . . . . . . . . . . 315.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.2 Sitios web que permiten hacer análisis en línea . . . . . . . . . . . . . 325.3 Sitios web que explican análisis técnicos . . . . . . . . . . . . . . . . . . 345.4 Sitios que ofrecen la descarga de samples de malwares . . . . . . . 36

6. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Capítulo 2Malwares contra sistemas Microsoft Windows

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2. Recogida de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.2 Recogida de información y análisis del registro . . . . . . . . . . . . . 402.3 Recogida y análisis de los registros de eventos . . . . . . . . . . . . . . 422.4 Recogida y análisis de los archivos ejecutados

durante el arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5 Recogida y análisis del sistema de archivos . . . . . . . . . . . . . . . . 45

Page 24: Contenido 1 - Libros y vídeos didácticos de informática

3Contenido

2.6 Gestión de los archivos bloqueados por el sistema operativo . . 512.7 Framework de investigación «inforense». . . . . . . . . . . . . . . . . . . 522.8 Herramienta FastIR Collector . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3. Imagen de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.2 Realización de una imagen de memoria . . . . . . . . . . . . . . . . . . . 573.3 Análisis de una imagen de memoria . . . . . . . . . . . . . . . . . . . . . . 603.4 Análisis de la imagen de memoria de un proceso . . . . . . . . . . . . 67

4. Funcionalidades de los malwares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1 Técnicas para ser persistente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.2 Técnicas para ocultarse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.3 Malware sin archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.4 Esquivar el UAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5. Creación de un laboratorio de análisis. . . . . . . . . . . . . . . . . . . . . . . . . 765.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.2 VirtualBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3 La herramienta de gestión de muestras de malware Viper . . . . 83

6. Analista del vector de infección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.1 Información sobre un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6.1.1 Formato de archivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.1.2 Cadenas de caracteres presentes en un archivo . . . . . . . . 92

6.2 Análisis en el caso de un archivo PDF . . . . . . . . . . . . . . . . . . . . . 936.2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.2.2 Extraer el código JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 946.2.3 Desofuscar código JavaScript. . . . . . . . . . . . . . . . . . . . . . . 986.2.4 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

6.3 Análisis en el caso de un archivo de Adobe Flash . . . . . . . . . . . 1036.3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.2 Extraer y analizar el código ActionScript . . . . . . . . . . . . 103

6.4 Análisis en el caso de un archivo JAR . . . . . . . . . . . . . . . . . . . . 1046.4.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.4.2 Recuperar el código fuente de las clases . . . . . . . . . . . . . 105

Page 25: Contenido 1 - Libros y vídeos didácticos de informática

4Análisis de amenazas e implementación de contramedidas

Seguridad informática y malwares

6.5 Análisis en el caso de un archivo de Microsoft Office . . . . . . . 1076.5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.5.2 Herramientas que permiten analizar

archivos de Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.5.3 Caso de malware que utiliza macros: Dridex . . . . . . . . . 1086.5.4 Caso de malware que utiliza alguna vulnerabilidad. . . . 110

6.6 Uso de PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7. Análisis en el caso de un archivo binario. . . . . . . . . . . . . . . . . . . . . . 1137.1 Análisis de binarios desarrollados en AutoIt. . . . . . . . . . . . . . . 1137.2 Análisis de binarios desarrollados con el framework .NET . . . 1157.3 Análisis de binarios desarrollados en C o C++ . . . . . . . . . . . . 115

8. El formato PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168.2 Esquema del formato PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.2.1 Encabezado MZ-DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178.2.2 Segmento DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188.2.3 Encabezado PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188.2.4 Tabla de secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218.2.5 Tabla de imports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228.2.6 Tabla de exports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238.2.7 Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

8.3 Herramientas para analizar un PE . . . . . . . . . . . . . . . . . . . . . . . 1248.4 API de análisis de un PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

9. Seguir la ejecución de un archivo binario . . . . . . . . . . . . . . . . . . . . . 1319.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319.2 Actividad a nivel del registro . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329.3 Actividad a nivel del sistema de archivos . . . . . . . . . . . . . . . . . 1349.4 Actividad de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359.5 Actividad de red de tipo HTTP(S) . . . . . . . . . . . . . . . . . . . . . . . 144

Page 26: Contenido 1 - Libros y vídeos didácticos de informática

5Contenido

10. Uso de Cuckoo Sandbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14510.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14510.2 Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14510.3 Uso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14710.4 Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15510.5 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

11. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Capítulo 3Reverse engineering

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1591.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1591.2 Legislación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

2. ¿Qué es un proceso de Windows? . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.2 Process Environment Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.3 Thread Environment Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

3. Ensamblador x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.1 Registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.2 Instrucciones y operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1683.3 Gestión de la memoria por la pila . . . . . . . . . . . . . . . . . . . . . . . 1753.4 Gestión de la memoria por el montículo. . . . . . . . . . . . . . . . . . 1783.5 Optimización del compilador . . . . . . . . . . . . . . . . . . . . . . . . . . 178

4. Ensamblador x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1794.1 Registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1794.2 Parámetros de las funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

5. Análisis estático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.2 Ghidra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

5.2.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.2.2 Navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Page 27: Contenido 1 - Libros y vídeos didácticos de informática

6Análisis de amenazas e implementación de contramedidas

Seguridad informática y malwares

5.2.3 Cambios de nombre y comentarios. . . . . . . . . . . . . . . . . 1925.2.4 Extensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

5.3 Radare2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1965.3.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1965.3.2 Línea de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1965.3.3 Interfaz gráfica: Cutter . . . . . . . . . . . . . . . . . . . . . . . . . . 198

5.4 Técnicas de análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1985.4.1 Comenzar un análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1985.4.2 Saltos condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2005.4.3 Bucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

5.5 API Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025.5.2 API de acceso a los archivos . . . . . . . . . . . . . . . . . . . . . . . 2035.5.3 API de acceso al registro . . . . . . . . . . . . . . . . . . . . . . . . . . 2075.5.4 API de comunicación de red. . . . . . . . . . . . . . . . . . . . . . . 2135.5.5 API de gestión de servicios . . . . . . . . . . . . . . . . . . . . . . . . 2175.5.6 API de los objetos COM. . . . . . . . . . . . . . . . . . . . . . . . . . 2205.5.7 Ejemplos de uso de la API . . . . . . . . . . . . . . . . . . . . . . . . 2215.5.8 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

5.6 Límites del análisis estático . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

6. Análisis dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306.2 Immunity Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

6.2.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306.2.2 Control de flujo de ejecución. . . . . . . . . . . . . . . . . . . . . . 2356.2.3 Análisis de una librería . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396.2.4 Puntos de ruptura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2406.2.5 Visualización de los valores en memoria. . . . . . . . . . . . . 2426.2.6 Copia de la memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436.2.7 Soporte del lenguaje Python . . . . . . . . . . . . . . . . . . . . . . 2446.2.8 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Page 28: Contenido 1 - Libros y vídeos didácticos de informática

7Contenido

6.3 WinDbg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2456.3.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2456.3.2 Interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2466.3.3 Comandos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486.3.4 Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2536.3.5 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

6.4 Análisis del núcleo de Windows . . . . . . . . . . . . . . . . . . . . . . . . 2546.4.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2546.4.2 Implementación del entorno . . . . . . . . . . . . . . . . . . . . . . 2546.4.3 Protecciones del kernel de Windows . . . . . . . . . . . . . . . . 2556.4.4 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

6.5 Límites del análisis dinámico y conclusión . . . . . . . . . . . . . . . . 256

Capítulo 4Técnicas de ofuscación

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

2. Ofuscación de las cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . 2592.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2592.2 Caso de uso de ROT13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2592.3 Caso de uso de la función XOR con una clave estática . . . . . . 2622.4 Caso de uso de la función XOR con una clave dinámica . . . . . 2682.5 Caso de uso de funciones criptográficas . . . . . . . . . . . . . . . . . . 2702.6 Caso de uso de funciones personalizadas . . . . . . . . . . . . . . . . . 2772.7 Herramientas que permiten decodificar

las cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

3. Ofuscación del uso de la API de Windows . . . . . . . . . . . . . . . . . . . . 2883.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2883.2 Estudio del caso de Duqu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2893.3 Estudio del caso de EvilBunny . . . . . . . . . . . . . . . . . . . . . . . . . . 293

4. Packers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2954.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2954.2 Packers que utilizan la pila. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Page 29: Contenido 1 - Libros y vídeos didácticos de informática

8Análisis de amenazas e implementación de contramedidas

Seguridad informática y malwares

4.3 Packers que utilizan el montículo . . . . . . . . . . . . . . . . . . . . . . . 3114.4 Encoder Metasploit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3194.5 Herramientas para automatizar el unpacking . . . . . . . . . . . . . 321

5. Otras técnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3225.1 Anti-VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3225.2 Anti-reverse engineering y anti-debug . . . . . . . . . . . . . . . . . . . 324

6. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

Capítulo 5Malwares dirigidos a dispositivos Android

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

2. El sistema operativo Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3302.1 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3302.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3312.3 Particiones y sistema de archivos . . . . . . . . . . . . . . . . . . . . . . . 3352.4 Seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

2.4.1 Seguridad en el ámbito del sistema . . . . . . . . . . . . . . . . . 3392.4.2 Seguridad en el ámbito de Dalvik/ART . . . . . . . . . . . . . 3412.4.3 Efecto secundario de las funcionalidades de seguridad . 343

2.5 Aplicación Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3432.6 Malwares dirigidos a dispositivos Android . . . . . . . . . . . . . . . . 348

3. Vectores de infección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3503.1 Instalación a través del Google Store . . . . . . . . . . . . . . . . . . . . 3503.2 Instalación a través de stores alternativos . . . . . . . . . . . . . . . . 3513.3 Instalación manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3513.4 MDM : Mobile Device Management . . . . . . . . . . . . . . . . . . . . 3523.5 Acceso físico al dispositivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

4. Creación de un laboratorio de análisis . . . . . . . . . . . . . . . . . . . . . . . 3534.1 ¿Máquina virtual o dispositivo físico? . . . . . . . . . . . . . . . . . . . 3534.2 Adb (Android Debug Bridge) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3574.3 Acceso administrador (root) . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

Page 30: Contenido 1 - Libros y vídeos didácticos de informática

9Contenido

4.4 Captura de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3634.4.1 Captura de red pura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3634.4.2 Captura HTTP/HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . 363

5. Análisis estático y descompilación de una aplicación . . . . . . . . . . . 3665.1 Análisis de un archivo APK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3665.2 Código Java y descompilación: Bytecode Viewer . . . . . . . . . . . 3695.3 Anti-VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3725.4 Código nativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3745.5 Técnicas de ofuscación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

6. Análisis dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3816.1 Uso de Frida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3816.2 Uso de gdb para los archivos nativos. . . . . . . . . . . . . . . . . . . . . 383

7. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

Capítulo 6Malwares dirigidos a dispositivos iOS

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

2. El sistema operativo iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3862.1 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3862.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3862.3 Particiones y sistemas de archivos. . . . . . . . . . . . . . . . . . . . . . . 3902.4 Seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3912.5 Jailbreak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3932.6 Aplicaciones iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3942.7 Malwares dirigidos contra iOS . . . . . . . . . . . . . . . . . . . . . . . . . 397

3. Vectores de infección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3983.1 Acceso físico al dispositivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3983.2 Enlace hacia un archivo .ipa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3983.3 Stores alternativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3993.4 MDM malicioso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Page 31: Contenido 1 - Libros y vídeos didácticos de informática

10Análisis de amenazas e implementación de contramedidas

Seguridad informática y malwares

4. Creación de un laboratorio de análisis . . . . . . . . . . . . . . . . . . . . . . . 4004.1 Análisis de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4004.2 Jailbreak de un terminal y despliegue de una aplicación . . . . . 400

5. Análisis estático de una aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . 4035.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4035.2 Análisis con Ghidra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

6. Análisis dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4126.1 Utilización de Frida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4126.2 Utilización de lldb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

7. Técnica utilizada para los malwares en iOS . . . . . . . . . . . . . . . . . . . 4157.1 Inyección de librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4157.2 Inyección de JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4177.3 Keylogger en iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4187.4 Dispositivo liberado (por jailbreak) e inyección de código. . . . 419

8. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Capítulo 7Detección, confinamiento y erradicación

1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

2. Indicadores de compromiso de red . . . . . . . . . . . . . . . . . . . . . . . . . . 4232.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4232.2 Uso de los proxys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4242.3 Uso de un DNS pasivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4262.4 Uso de detectores de intrusión . . . . . . . . . . . . . . . . . . . . . . . . . 4272.5 Casos complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

3. Detección de archivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4303.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4303.2 Firmas (o Hash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4313.3 Firmas con YARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4333.4 Firmas con ssdeep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

Page 32: Contenido 1 - Libros y vídeos didácticos de informática

11Contenido

4. Detección y erradicación de malwares con ClamAV . . . . . . . . . . . . 4444.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4444.2 Instalación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4454.3 Uso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

5. Artefactos del sistema en Windows . . . . . . . . . . . . . . . . . . . . . . . . . 4545.1 Tipos de artefactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4545.2 Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455

6. Uso de OpenIOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4576.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4576.2 Uso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4586.3 Interfaz gráfica de edición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4596.4 Detección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

7. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469