Está en la página 1de 24

Seguridad informática - Ethical Hacking

Conocer el ataque para una mejor defensa [2ª edición]

Introducción y definiciones
1. La seguridad informática, ¿ para qué ? , ¿ para quién ?
17
1.1 Hacking, piratería, seguridad informática... ¿ Qué hay detrás de estas palabras ?
17
1.2 La importancia de la seguridad
19
1.2.1 Para particulares
20
1.2.2 Para empresas y centros académicos
21
1.2.3 Para un país o una nación
22

2. El hacking que pretende ser ético


23
2.1 Trabajo en cooperación
23
2.2 Un espíritu habilidoso y apasionado por encima de todo
24
2.3 El hacker se está convirtiendo en un experto muy buscado
25
2.4 En la piel del atacante
26
2.5 Asesoramiento y apoyo para la seguridad
27

3. Conocer al enemigo para defenderse


28
3.1 A cada atacante su sombrero
28
3.1.1 Los hackers black hat
28
3.1.2 Los hackers grey hat
29
3.1.3 Los hackers white hat
29

www.ediciones-eni.com © Ediciones ENI 1/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

3.1.4 Los "script kiddies"


30
3.1.5 Los hackers universitarios
31
3.2 Y a cada auditoría su caja de secretos
32
3.2.1 Los test black box
32
3.2.2 Los test grey box
33
3.2.3 Los test white box
33

Metodología de un ataque
1. Preámbulo
35
1.1 Ante todo discreción
35

2. Seleccionar a la víctima
37
2.1 Utilizar buenas herramientas
37
2.2 Identificar los dominios
39
2.3 Google, ese amigo tan curioso
40
2.4 Descubrir la red
43

3. El ataque
47
3.1 Aprovecharse del fallo humano
47
3.2 Abrir las puertas de la red
48
3.3 El ataque por la Web

www.ediciones-eni.com © Ediciones ENI 2/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

51
3.4 La fuerza al servicio del ataque
52

4. Introducirse en el sistema y garantizar el acceso


53
4.1 Permanecer discreto
53
4.2 Garantizar el acceso
55
4.3 Ampliar su alcance
56

5. Revisión de la intrusión y la protección


57
5.1 Una política de seguridad exigente
58
5.1.1 Contraseñas
58
5.1.2 Formación del personal
59
5.1.3 A cada empleado su perfil
60
5.2 Encriptar la información esencial
60
5.3 Asegurar los servidores
61
5.3.1 Realizar actualizaciones de seguridad
61
5.3.2 Enjaular servicios (chroot, jail)
62
5.3.3 Seguridad del núcleo
62
5.3.4 Evitar escaneos y ataques
63
5.3.5 Sólo guardar lo esencial
64
5.3.6 Vigilancia de actividades
64
5.4 Los tests de intrusión
65

www.ediciones-eni.com © Ediciones ENI 3/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

Social Engineering
1. Breve historia de una técnica tan antigua como el mundo
67
1.1 Historia y generalidades
67
1.2 El ser humano: la pieza frágil
69
1.3 La manipulación es una herramienta
69
1.4 Criterios de un ataque por manipulación
70

2. Ingeniería social: ¿ por qué ?


71
2.1 Las razones
71
2.2 El perfil del atacante
72
2.3 El perfil de la víctima
74
2.4 La información, un bien codiciado
75
2.4.1 Importancia de la información
75
2.4.2 La información y su transmisión
76
2.5 Formas de ataque
77
2.5.1 Aclaraciones
77
2.5.2 El más fácil
77
2.5.3 El más frontal
77
2.5.4 El más indirecto
78
2.5.5 El más complejo

www.ediciones-eni.com © Ediciones ENI 4/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

79
2.6 La tecnología como herramienta básica
79
2.6.1 Los medios utilizados
80
2.6.2 La investigación preliminar
82
2.6.3 El papel, el bolígrafo y el carisma
82
2.6.4 Carisma y faroles
84
2.6.5 Medios externos puestos en práctica
85
2.6.6 Anonimato
86
2.7 La psicología como punta de lanza
87
2.7.1 Aclaraciones
87
2.7.2 Ausencia de desconfianza
88
2.7.3 Ignorancia
89
2.7.4 Credulidad
91
2.7.5 Confianza
93
2.7.6 Altruismo
95
2.7.7 Necesidad de ayuda
96
2.7.8 Intimidación
98
2.8 Otros ejemplos
100

3. Solución de protección
104
3.1 Hacia una clasificación funcional
104
3.2 Detección al alcance de todos

www.ediciones-eni.com © Ediciones ENI 5/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

105
3.3 Buenas prácticas
106

4. Para ir más lejos


107

Los fallos físicos


1. Generalidades
109
1.1 Lockpicking
110

2. Acceso físico directo al ordenador


111
2.1 Acceso a un ordenador apagado cuya BIOS está protegida
111
2.2 Acceso a un ordenador apagado cuya BIOS no está protegida
114
2.2.1 Utilización de Offline NT Password & Registry Editor v110511
114
2.2.2 Utilización de Trinity Rescue Kit
119
2.2.3 Obtener la base de datos SAM con Backtrack
121
2.2.4 Windows Password Recovery Bootdisk
126
2.2.5 Los distintos tipos de algoritmos de encriptación
129
2.2.6 Los hash de tipo LM y NTLM
130
2.2.7 Utilizar John the Ripper para encontrar las contraseñas
131
2.2.8 Utilizar la potencia de la tarjeta gráfica
134
2.2.9 Utilización de tablas arco iris (rainbow tables)
137

www.ediciones-eni.com © Ediciones ENI 6/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

2.2.10 Generar sus propias tablas rainbow


139
2.2.11 Utilizar OPHCRACK
141
2.2.12 Utilización del programa Cain&Abel
144
2.2.13 Utilización del script Findmyhash
149
2.2.14 Bypass de la autentificación de Windows y Linux
151
2.2.15 Esquivar la autentificación de Windows - Método Adam Boileau
153
2.2.16 Adaptación de winlockpwn: Inception
159
2.2.17 Ejemplos de elevación de privilegios vía exploits en Linux
162
2.2.18 Fallo de Windows Vista y Windows 7
163
2.3 Acceso a un ordenador encendido en modo usuario normal
166
2.3.1 Recopilar información
166
2.3.2 Recogida de información automatizada
169
2.3.3 La memoria USB Microsoft COFEE
172
2.3.4 Las memorias USB U3
176
2.3.5 El programa Gonzor-SwitchBlade
178
2.3.6 Medidas contra memorias U3 trucadas
181
2.3.7 Keyloggers hardware y software
183
2.3.8 Contramedidas para los keyloggers
188
2.3.9 Los flujos ADS
193
2.3.10 Contramedidas a los flujos ADS
197
2.3.11 Obtención de imágenes de memoria
199

www.ediciones-eni.com © Ediciones ENI 7/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

2.3.12 Métodos de recuperación de la memoria RAM


201
2.3.13 Crear una memoria USB de arranque para vaciar la memoria
209
2.3.14 Extracción de memoria usando la conexión FireWire - Método Adam Boileau
215
2.3.15 Extracción de memoria usando la conexión FireWire - Método Carsten Maartmann-Moe
(Inception)
215
2.3.16 Análisis de las imágenes de memoria
217
2.4 Conclusión
234
2.5 índices de sitios web
235

Toma de huellas
1. El hacking ético
237
1.1 Definición
237
1.2 Perfiles de hacker
238
1.3 Tipos de auditoría
238
1.4 Estrategias de auditoría
239
1.5 Metodología de auditoría
240

2. Recopilación de información
240
2.1 Footprinting
240
2.1.1 Recolección de información mediante redes sociales
242
2.1.2 Herramientas Web
248

www.ediciones-eni.com © Ediciones ENI 8/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

2.1.3 Herramientas de listado


251
2.2 Fingerprinting
258
2.3 Descubrimiento de fallos potenciales (escáneres de vulnerabilidades)
276
2.3.1 Nessus
276
2.3.2 Openvas
278
2.3.3 AutoScan Network
280
2.3.4 Encontrar exploits
282
2.4 Informes
283
2.5 Páginas web en Internet
284

Los fallos de red


1. Introducción
287

2. Recordatorio de redes TCP/IP


287
2.1 Direccionamiento IP
287
2.2 Cliente/Servidor
288

3. Herramientas prácticas
289
3.1 Información sobre sockets
289
3.2 Escáner de puertos TCP
290
3.3 Netcat

www.ediciones-eni.com © Ediciones ENI 9/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

291
3.4 SSH
292
3.5 Túnel SSH
292

4. DoS y DDoS
293

5. Sniffing
293
5.1 Capturar datos con Wireshark
294
5.2 Filtros
295

6. Man In The Middle (MITM)


298
6.1 Teoría
298
6.2 Práctica
299
6.2.1 Plug-ins
304
6.2.2 Creación de un filtro
305
6.3 Contramedidas
308

7. Robo de sesión TCP (HIJACKING) y Spoofing de IP


308
7.1 El fallo: ACK/SEQ
309
7.2 Consecuencias del ataque
310
7.3 Puesta en práctica
310
7.4 Automatizar el ataque
313
7.5 Spoofing de dirección IP

www.ediciones-eni.com © Ediciones ENI 10/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

313

8. Fallos Wi-Fi
318
8.1 Crackear una red con cifrado WEP
319
8.2 Crackear WPA
322
8.3 Rogue AP
324
8.3.1 Introducción
324
8.3.2 Despliegue de un Rogue AP con Karmetasploit
324

9. IP over DNS
327
9.1 Principio
327
9.2 Uso
327
9.3 Contramedida
329

10. La telefonía IP
329
10.1 Escucha de la conversación
329
10.2 Usurpación de la línea
331
10.3 Otros ataques
333

11. IPv6
334
11.1 Los programas
334
11.2 El hardware
334
11.3 Factor humano

www.ediciones-eni.com © Ediciones ENI 11/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

335
11.4 THC-IPv6
335
11.5 Escanear los hosts
336
11.6 Flooder
336
11.7 Ataque Man in the Middle
337

12. Conclusión
339

Cloud Computing: puntos fuertes y débiles


1. Presentación
341

2. Introducción al Cloud Computing


342
2.1 Historia
342
2.2 Conceptos clave
343
2.2.1 Facturación por uso
343
2.2.2 Elasticidad y agilidad de recursos
344
2.2.3 Socializar recursos
344
2.2.4 Acceso sencillo a través de la red
344
2.3 Niveles de Interacción
344
2.4 Cloud privado, público e híbrido
346
2.4.1 Cloud público
346

www.ediciones-eni.com © Ediciones ENI 12/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

2.4.2 Cloud privado


346
2.4.3 Cloud híbrido
347
2.5 La responsabilidad de los proveedores
347

3. Riesgos asociados a los datos


349
3.1 Responsabilidad jurídica del cliente y del prestatario
349
3.1.1 Derechos y obligaciones
349
3.1.2 Responsable de los datos
350
3.1.3 Obligación de información del proveedor
350
3.1.4 Seguridad de los datos
351
3.2 Cifrado de los datos
352
3.2.1 Criptografía simétrica
352
3.2.2 Criptografía asimétrica
352
3.3 Accesibilidad de los datos
353
3.4 Disponibilidad de los datos
354
3.5 Localización de los datos
355
3.6 Protección y recuperación de los datos
356

4. La seguridad lógica en el Cloud Computing


357
4.1 Virtualización: los nuevos riesgos
358
4.2 Soluciones de hermetismo lógico
359
4.3 El factor humano

www.ediciones-eni.com © Ediciones ENI 13/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

360
4.4 Seguridad en el acceso: autentificación y autorización
360
4.5 Auditorías regulares
362

5. La seguridad física
364
5.1 Control de acceso
364
5.2 Catástrofes naturales
365
5.3 Redundancia del hardware
366
5.4 Normas a aplicar
367
5.4.1 TIA 942
367
5.4.2 ISO 27001
368
5.5 Auditorías regulares
370

6. Ataques mediante Cloud Computing


370
6.1 Descripción
370
6.2 Captura de claves: ejemplo con un hash SHA1
371
6.3 Ejemplo de un ataque DDoS
378

7. Conclusión
380

8. Enlaces
381

www.ediciones-eni.com © Ediciones ENI 14/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

Los fallos Web


1. Recordatorio sobre las tecnologías Web
383
1.1 Preámbulo
383
1.2 La red Internet
383
1.3 ¿ Qué es un sitio Web ?
384
1.4 Consulta de una página Web, anatomía de los intercambios cliente/servidor
384
1.5 ¿ Cómo se construyen las páginas Web ?
388

2. Aspectos generales en la seguridad de sitios Web


390

3. Pequeño análisis de un sitio Web


391
3.1 Mapa de las partes visibles de un sitio Web
391
3.1.1 ¿ El sitio web es estático o dinámico ?
393
3.1.2 ¿ Cuáles son las variables usadas ?
395
3.1.3 ¿ Qué formularios y qué campos las utilizan ?
395
3.1.4 ¿ Recibimos cookies ? ¿ Qué datos contienen ?
396
3.1.5 ¿ Las páginas tienen contenido multimedia ?
398
3.1.6 ¿ El sitio realiza consultas a base de datos ?
399
3.1.7 ¿ Podemos acceder a algunas carpetas ?
399
3.1.8 ¿ El sitio web usa JavaScript ?
400
3.1.9 ¿ Qué servidor se está utilizando y cuál es su versión ?
401
3.1.10 Ayuda

www.ediciones-eni.com © Ediciones ENI 15/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

402
3.2 Descubrir la cara oculta de un servidor Web
403
3.2.1 Utilización de Burp Suite
403
3.2.2 Utilización de wfuzz
409
3.3 Analizar la información obtenida
417

4. Pasar al ataque de un sitio Web


418
4.1 Enviar datos no esperados
418
4.1.1 Principios y herramientas
418
4.1.2 Utilización de la URL
421
4.1.3 Utilización de formularios
424
4.1.4 Utilización de la cabecera
428
4.1.5 Utilización de cookies
431
4.2 Robo de sesión
432
4.3 El almacén de archivos perjudiciales
434

5. SQL Injection
437
5.1 Preámbulo
437
5.2 Introducción a las bases de datos
438
5.3 Principio de las inyecciones SQL
450
5.4 Técnica de Blind SQL
462
5.5 Herramientas eficaces
486

www.ediciones-eni.com © Ediciones ENI 16/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

6. Pasar un CAPTCHA
490
6.1 Presentación de distintos CAPTCHA
490
6.2 Saltarse CAPTCHAs básicos
491
6.3 Saltarse los CAPTCHAs de imágenes
495

7. Las nuevas amenazas en la web


502

8. Contramedidas y consejos de seguridad


503
8.1 Filtrar todos los datos
503
8.2 Fortalecer la identificación del cliente
505
8.3 Configurar sabiamente el servidor
505

9. Conclusión
506

Los fallos de sistema operativo


1. Generalidades
509

2. Contraseñas
510
2.1 Introducción
510
2.2 Averiguar una contraseña en Microsoft Windows
510
2.3 Complejidad

www.ediciones-eni.com © Ediciones ENI 17/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

511
2.4 Almacenamiento de contraseñas
512
2.5 Caso práctico: encontrar las contraseñas de Microsoft Windows
513
2.6 Caso práctico: encontrar las contraseñas de GNU/Linux
514
2.7 Caso práctico: encontrar las contraseñas de Mac OS X (Snow) Leopard
516

3. Usuarios, grupos y permisos del sistema


517
3.1 Gestión de usuarios
517
3.1.1 Definición
517
3.1.2 En GNU/Linux
517
3.1.3 En Windows
518
3.1.4 En Mac OS X (Snow) Leopard
519
3.2 Gestión de grupos
521
3.2.1 En GNU/Linux
521
3.2.2 En Windows
521
3.2.3 En Mac OS X (Snow) Leopard
521
3.3 Asignación de permisos
522
3.3.1 En GNU/Linux
522
3.3.2 En Windows
523
3.3.3 En Mac OS X (Snow) Leopard
525

4. Elevación de privilegios
527

www.ediciones-eni.com © Ediciones ENI 18/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

4.1 Activación del suid y del sgid


528
4.2 Cómo encontrar los scripts suid root de un sistema GNU/Linux
528
4.3 El Programador de tareas
529

5. Los procesos
530
5.1 Espiar procesos en Windows
531
5.2 El hooking y la inyección de procesos
532
5.2.1 Ejemplo de hooking de eventos de teclado en Windows
533
5.2.2 Ejemplo de hooking de paquetes de red mediante Netfilter en GNU/Linux
536
5.2.3 Ejemplo de inyección de código en otro proceso en Mac OS X
538
5.3 Las condiciones de carrera
540

6. El arranque
541
6.1 Abuso de los modos de arranque degradados
541
6.2 Los ataques de preboot
542

7. Hibernación
542

8. Las RPC
543

9. SeLinux y AppArmor
543

10. La virtualización
544

www.ediciones-eni.com © Ediciones ENI 19/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

10.1 Aislamiento
544
10.2 La carga del raíz o chrooting
545
10.3 Kernel en el espacio de usuario
546
10.4 La máquina virtual
546
10.5 La paravirtualización
547
10.6 Ejemplo de solución de paravirtualización: Proxmox VE
547
10.7 Detección y ataque de una máquina virtual
548

11. Logs, actualizaciones y copias de seguridad


549
11.1 Logs
549
11.2 Actualizaciones
550
11.2.1 Implantación de actualizaciones automáticas en GNU/Linux
551
11.2.2 Implantación de actualizaciones automáticas en Microsoft Windows
551
11.2.3 En Mac OS X
551
11.3 Copias de seguridad
551

12. Balance
552

Los fallos de aplicación


1. Generalidades
553

www.ediciones-eni.com © Ediciones ENI 20/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

2. Nociones de ensamblador
554
2.1 Introducción
554
2.2 Primeros pasos
554
2.2.1 Aprendamos a contar
554
2.2.2 Binario
554
2.2.3 Hexadecimal
556
2.3 ¿ Cómo probar nuestros programas ?
557
2.3.1 Plantilla de un programa en ensamblador
557
2.3.2 Nuestro primer programa
559
2.4 Instrucciones
560
2.4.1 Comparación
560
2.4.2 Instrucción IF
561
2.4.3 Bucle FOR
563
2.4.4 Bucle WHILE
563
2.4.5 Bucle DO WHILE
564
2.4.6 Directiva %define
565
2.4.7 Directivas de datos
565
2.4.8 Entrada/Salida
566
2.5 Interrupciones
567
2.6 Subprogramas
569
2.7 Heap y pila

www.ediciones-eni.com © Ediciones ENI 21/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

570
2.7.1 Heap
570
2.7.2 Pila
571
2.7.3 Prólogo y epílogo: nociones fundamentales
573

3. Fundamentos de shellcodes
575
3.1 Ejemplo 1: shellcode.py
575
3.2 Ejemplo 2: execve()
576
3.3 Ejemplo 3: Port Binding Shell
578

4. Buffer overflow
580
4.1 Definiciones
580
4.2 Conceptos básicos
581
4.3 Stack overflow
583
4.4 Heap Overflow
592
4.5 return into libc
595

5. Fallos en Windows
600
5.1 Introducción
600
5.2 Primer paso
601
5.2.1 En modo consola
601
5.2.2 Depuración
603

www.ediciones-eni.com © Ediciones ENI 22/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

5.2.3 El problema de un shellcode grande


609
5.2.4 Ejecución de una función no prevista
612
5.2.5 Otros métodos
614
5.3 El método de call [reg]
614
5.4 El método pop ret
615
5.5 El método push return
615
5.6 El método jmp [reg] + [offset]
616
5.7 El método blind return
616
5.8 ¿ Qué podemos hacer con un pequeño shellcode ?
617
5.8.1 Principio
617
5.8.2 En la práctica
617
5.9 El SEH (Structured Exception Handling)
618
5.9.1 Conceptos básicos
618
5.9.2 SEH, protecciones
620
5.9.3 XOR y SafeSEH
620
5.10 Saltarse las protecciones
622
5.10.1 Stack cookie, protección /GS
622
5.10.2 Ejemplo: sobrepasar la cookie
626
5.10.3 SafeSEH
629

6. Caso real: Ability Server


630

www.ediciones-eni.com © Ediciones ENI 23/24


Seguridad informática - Ethical Hacking
Conocer el ataque para una mejor defensa [2ª edición]

6.1 Fuzzing
630
6.2 Exploit
633

7. Caso real: MediaCoder-0.7.5.4796


639
7.1 Cuelgue del software
639
7.2 Comprobación de los valores
645
7.3 Finalización del exploit
645

8. Caso concreto: BlazeDVD 5.1 Professional


648

9. Conclusión
652

10. Referencias
653

www.ediciones-eni.com © Ediciones ENI 24/24

También podría gustarte