Vous êtes sur la page 1sur 16

Introduccin y definiciones

1. La seguridad informtica, para qu ? , para quin ? 17


1.1 Hacking, piratera, seguridad informtica... Qu hay detrs 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 acadmicos 21
1.2.3 Para un pas o una nacin 22
2. El hacking que pretende ser tico 23
2.1 Trabajo en cooperacin 23
2.2 Un espritu 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 auditora 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
Metodologa de un ataque
1. Prembulo 35
1.1 Ante todo discrecin 35
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
1/16 Ediciones ENI www.ediciones-eni.com
2. Seleccionar a la vctima 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. Revisin de la intrusin y la proteccin 57
5.1 Una poltica de seguridad exigente 58
5.1.1 Contraseas 58
5.1.2 Formacin del personal 59
5.1.3 A cada empleado su perfil 60
5.2 Encriptar la informacin 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 ncleo 62
5.3.4 Evitar escaneos y ataques 63
5.3.5 Slo guardar lo esencial 64
5.3.6 Vigilancia de actividades 64
5.4 Los tests de intrusin 65
Social Engineering
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
2/16 Ediciones ENI www.ediciones-eni.com
1. Breve historia de una tcnica tan antigua como el mundo 67
1.1 Historia y generalidades 67
1.2 El ser humano: la pieza frgil 69
1.3 La manipulacin es una herramienta 69
1.4 Criterios de un ataque por manipulacin 70
2. Ingeniera social: por qu ? 71
2.1 Las razones 71
2.2 El perfil del atacante 72
2.3 El perfil de la vctima 74
2.4 La informacin, un bien codiciado 75
2.4.1 Importancia de la informacin 75
2.4.2 La informacin y su transmisin 76
2.5 Formas de ataque 77
2.5.1 Aclaraciones 77
2.5.2 El ms fcil 77
2.5.3 El ms frontal 77
2.5.4 El ms indirecto 78
2.5.5 El ms complejo 79
2.6 La tecnologa como herramienta bsica 79
2.6.1 Los medios utilizados 80
2.6.2 La investigacin preliminar 82
2.6.3 El papel, el bolgrafo y el carisma 82
2.6.4 Carisma y faroles 84
2.6.5 Medios externos puestos en prctica 85
2.6.6 Anonimato 86
2.7 La psicologa 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
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
3/16 Ediciones ENI www.ediciones-eni.com
2.7.8 Intimidacin 98
2.8 Otros ejemplos 100
3. Solucin de proteccin 104
3.1 Hacia una clasificacin funcional 104
3.2 Deteccin al alcance de todos 105
3.3 Buenas prcticas 106
4. Para ir ms lejos 107
Los fallos fsicos
1. Generalidades 109
1.1 Lockpicking 110
2. Acceso fsico 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 Utilizacin de Offline NT Password & Registry Editor v110511 114
2.2.2 Utilizacin 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 encriptacin 129
2.2.6 Los hash de tipo LM y NTLM 130
2.2.7 Utilizar John the Ripper para encontrar las contraseas 131
2.2.8 Utilizar la potencia de la tarjeta grfica 134
2.2.9 Utilizacin 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 Utilizacin del programa Cain&Abel 144
2.2.13 Utilizacin del script Findmyhash 149
2.2.14 Bypass de la autentificacin de Windows y Linux 151
2.2.15 Esquivar la autentificacin de Windows - Mtodo Adam Boileau 153
2.2.16 Adaptacin de winlockpwn: Inception 159
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
4/16 Ediciones ENI www.ediciones-eni.com
2.2.17 Ejemplos de elevacin de privilegios va 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 informacin 166
2.3.2 Recogida de informacin 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 Obtencin de imgenes de memoria 199
2.3.12 Mtodos de recuperacin de la memoria RAM 201
2.3.13 Crear una memoria USB de arranque para vaciar la memoria 209
2.3.14 Extraccin de memoria usando la conexin FireWire - Mtodo Adam Boileau
215
2.3.15 Extraccin de memoria usando la conexin FireWire - Mtodo Carsten
Maartmann-Moe (Inception)
215
2.3.16 Anlisis de las imgenes de memoria 217
2.4 Conclusin 234
2.5 ndices de sitios web 235
Toma de huellas
1. El hacking tico 237
1.1 Definicin 237
1.2 Perfiles de hacker 238
1.3 Tipos de auditora 238
1.4 Estrategias de auditora 239
1.5 Metodologa de auditora 240
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
5/16 Ediciones ENI www.ediciones-eni.com
2. Recopilacin de informacin 240
2.1 Footprinting 240
2.1.1 Recoleccin de informacin 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 (escneres 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 Pginas web en Internet 284
Los fallos de red
1. Introduccin 287
2. Recordatorio de redes TCP/IP 287
2.1 Direccionamiento IP 287
2.2 Cliente/Servidor 288
3. Herramientas prcticas 289
3.1 Informacin sobre sockets 289
3.2 Escner de puertos TCP 290
3.3 Netcat 291
3.4 SSH 292
3.5 Tnel SSH 292
4. DoS y DDoS 293
5. Sniffing 293
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
6/16 Ediciones ENI www.ediciones-eni.com
5.1 Capturar datos con Wireshark 294
5.2 Filtros 295
6. Man In The Middle (MITM) 298
6.1 Teora 298
6.2 Prctica 299
6.2.1 Plug-ins 304
6.2.2 Creacin de un filtro 305
6.3 Contramedidas 308
7. Robo de sesin TCP (HIJACKING) y Spoofing de IP 308
7.1 El fallo: ACK/SEQ 309
7.2 Consecuencias del ataque 310
7.3 Puesta en prctica 310
7.4 Automatizar el ataque 313
7.5 Spoofing de direccin 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 Introduccin 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 telefona IP 329
10.1 Escucha de la conversacin 329
10.2 Usurpacin de la lnea 331
10.3 Otros ataques 333
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
7/16 Ediciones ENI www.ediciones-eni.com
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. Conclusin 339
Cloud Computing: puntos fuertes y dbiles
1. Presentacin 341
2. Introduccin al Cloud Computing 342
2.1 Historia 342
2.2 Conceptos clave 343
2.2.1 Facturacin por uso 343
2.2.2 Elasticidad y agilidad de recursos 344
2.2.3 Socializar recursos 344
2.2.4 Acceso sencillo a travs de la red 344
2.3 Niveles de Interaccin 344
2.4 Cloud privado, pblico e hbrido 346
2.4.1 Cloud pblico 346
2.4.2 Cloud privado 346
2.4.3 Cloud hbrido 347
2.5 La responsabilidad de los proveedores 347
3. Riesgos asociados a los datos 349
3.1 Responsabilidad jurdica del cliente y del prestatario 349
3.1.1 Derechos y obligaciones 349
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
8/16 Ediciones ENI www.ediciones-eni.com
3.1.2 Responsable de los datos 350
3.1.3 Obligacin de informacin del proveedor 350
3.1.4 Seguridad de los datos 351
3.2 Cifrado de los datos 352
3.2.1 Criptografa simtrica 352
3.2.2 Criptografa asimtrica 352
3.3 Accesibilidad de los datos 353
3.4 Disponibilidad de los datos 354
3.5 Localizacin de los datos 355
3.6 Proteccin y recuperacin de los datos 356
4. La seguridad lgica en el Cloud Computing 357
4.1 Virtualizacin: los nuevos riesgos 358
4.2 Soluciones de hermetismo lgico 359
4.3 El factor humano 360
4.4 Seguridad en el acceso: autentificacin y autorizacin 360
4.5 Auditoras regulares 362
5. La seguridad fsica 364
5.1 Control de acceso 364
5.2 Catstrofes 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 Auditoras regulares 370
6. Ataques mediante Cloud Computing 370
6.1 Descripcin 370
6.2 Captura de claves: ejemplo con un hash SHA1 371
6.3 Ejemplo de un ataque DDoS 378
7. Conclusin 380
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
9/16 Ediciones ENI www.ediciones-eni.com
8. Enlaces 381
Los fallos Web
1. Recordatorio sobre las tecnologas Web 383
1.1 Prembulo 383
1.2 La red Internet 383
1.3 Qu es un sitio Web ? 384
1.4 Consulta de una pgina Web, anatoma de los intercambios cliente/servidor 384
1.5 Cmo se construyen las pginas Web ? 388
2. Aspectos generales en la seguridad de sitios Web 390
3. Pequeo anlisis de un sitio Web 391
3.1 Mapa de las partes visibles de un sitio Web 391
3.1.1 El sitio web es esttico o dinmico ? 393
3.1.2 Cules 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 pginas 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 cul es su versin ? 401
3.1.10 Ayuda 402
3.2 Descubrir la cara oculta de un servidor Web 403
3.2.1 Utilizacin de Burp Suite 403
3.2.2 Utilizacin de wfuzz 409
3.3 Analizar la informacin obtenida 417
4. Pasar al ataque de un sitio Web 418
4.1 Enviar datos no esperados 418
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
10/16 Ediciones ENI www.ediciones-eni.com
4.1.1 Principios y herramientas 418
4.1.2 Utilizacin de la URL 421
4.1.3 Utilizacin de formularios 424
4.1.4 Utilizacin de la cabecera 428
4.1.5 Utilizacin de cookies 431
4.2 Robo de sesin 432
4.3 El almacn de archivos perjudiciales 434
5. SQL Injection 437
5.1 Prembulo 437
5.2 Introduccin a las bases de datos 438
5.3 Principio de las inyecciones SQL 450
5.4 Tcnica de Blind SQL 462
5.5 Herramientas eficaces 486
6. Pasar un CAPTCHA 490
6.1 Presentacin de distintos CAPTCHA 490
6.2 Saltarse CAPTCHAs bsicos 491
6.3 Saltarse los CAPTCHAs de imgenes 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 identificacin del cliente 505
8.3 Configurar sabiamente el servidor 505
9. Conclusin 506
Los fallos de sistema operativo
1. Generalidades 509
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
11/16 Ediciones ENI www.ediciones-eni.com
2. Contraseas 510
2.1 Introduccin 510
2.2 Averiguar una contrasea en Microsoft Windows 510
2.3 Complejidad 511
2.4 Almacenamiento de contraseas 512
2.5 Caso prctico: encontrar las contraseas de Microsoft Windows 513
2.6 Caso prctico: encontrar las contraseas de GNU/Linux 514
2.7 Caso prctico: encontrar las contraseas de Mac OS X (Snow) Leopard 516
3. Usuarios, grupos y permisos del sistema 517
3.1 Gestin de usuarios 517
3.1.1 Definicin 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 Gestin 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 Asignacin 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. Elevacin de privilegios 527
4.1 Activacin del suid y del sgid 528
4.2 Cmo 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 inyeccin 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
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
12/16 Ediciones ENI www.ediciones-eni.com
5.2.3 Ejemplo de inyeccin de cdigo 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. Hibernacin 542
8. Las RPC 543
9. SeLinux y AppArmor 543
10. La virtualizacin 544
10.1 Aislamiento 544
10.2 La carga del raz o chrooting 545
10.3 Kernel en el espacio de usuario 546
10.4 La mquina virtual 546
10.5 La paravirtualizacin 547
10.6 Ejemplo de solucin de paravirtualizacin: Proxmox VE 547
10.7 Deteccin y ataque de una mquina virtual 548
11. Logs, actualizaciones y copias de seguridad 549
11.1 Logs 549
11.2 Actualizaciones 550
11.2.1 Implantacin de actualizaciones automticas en GNU/Linux 551
11.2.2 Implantacin de actualizaciones automticas en Microsoft Windows 551
11.2.3 En Mac OS X 551
11.3 Copias de seguridad 551
12. Balance 552
Los fallos de aplicacin
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
13/16 Ediciones ENI www.ediciones-eni.com
1. Generalidades 553
2. Nociones de ensamblador 554
2.1 Introduccin 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 Cmo 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 Comparacin 560
2.4.2 Instruccin 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 Prlogo y eplogo: 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
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
14/16 Ediciones ENI www.ediciones-eni.com
4.2 Conceptos bsicos 581
4.3 Stack overflow 583
4.4 Heap Overflow 592
4.5 return into libc 595
5. Fallos en Windows 600
5.1 Introduccin 600
5.2 Primer paso 601
5.2.1 En modo consola 601
5.2.2 Depuracin 603
5.2.3 El problema de un shellcode grande 609
5.2.4 Ejecucin de una funcin no prevista 612
5.2.5 Otros mtodos 614
5.3 El mtodo de call [reg] 614
5.4 El mtodo pop ret 615
5.5 El mtodo push return 615
5.6 El mtodo jmp [reg] + [offset] 616
5.7 El mtodo blind return 616
5.8 Qu podemos hacer con un pequeo shellcode ? 617
5.8.1 Principio 617
5.8.2 En la prctica 617
5.9 El SEH (Structured Exception Handling) 618
5.9.1 Conceptos bsicos 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, proteccin /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
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
15/16 Ediciones ENI www.ediciones-eni.com
7.1 Cuelgue del software 639
7.2 Comprobacin de los valores 645
7.3 Finalizacin del exploit 645
8. Caso concreto: BlazeDVD 5.1 Professional 648
9. Conclusin 652
10. Referencias 653
Seguridad informtica - Ethical Hacking
Conocer el ataque para una mejor defensa [2 edicin]
16/16 Ediciones ENI www.ediciones-eni.com