Sunteți pe pagina 1din 16

Seguridad informática - Ethical Hacking

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
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

1/16
Seguridad informática - Ethical Hacking

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 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

Social Engineering

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


Seguridad informática - Ethical Hacking

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 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

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


Seguridad informática - Ethical Hacking

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 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
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

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


Seguridad informática - Ethical Hacking

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
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

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


Seguridad informática - Ethical Hacking

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
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 291
3.4 SSH 292
3.5 Túnel SSH 292

4. DoS y DDoS 293

5. Sniffing 293

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


Seguridad informática - Ethical Hacking

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 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

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


Seguridad informática - Ethical Hacking

11. IPv6 334


11.1 Los programas 334
11.2 El hardware 334
11.3 Factor humano 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
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

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


Seguridad informática - Ethical Hacking

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 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 9/16


Seguridad informática - Ethical Hacking

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 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

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


Seguridad informática - Ethical Hacking

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

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 511

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


Seguridad informática - Ethical Hacking

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


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

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


Seguridad informática - Ethical Hacking

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


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

2. Nociones de ensamblador 554

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


Seguridad informática - Ethical Hacking

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 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

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


Seguridad informática - Ethical Hacking

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
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

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

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


Seguridad informática - Ethical Hacking

8. Caso concreto: BlazeDVD 5.1 Professional 648

9. Conclusión 652

10. Referencias 653

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

S-ar putea să vă placă și