Titre : | Sécurité informatique : ethical hacking ; apprendre l'attaque pour mieux se défendre | Type de document : | texte imprime | Auteurs : | Houda Labiod | Mention d'édition : | 3e éd | Editeur : | St-Herblain : Éd. ENI | Année de publication : | cop. 2012 | Collection : | Epsilon (Saint-Herblain), ISSN 1960-3444 | Importance : | 733 p. | Présentation : | ill., couv. ill. en coul. | Format : | 22 cm | ISBN/ISSN/EAN : | 978-2-7460-7555-9 | Note générale : | Références webogr. Index
voir édition plus récente de cet article via l'URL associée | Langues : | Français | Mots-clés : | Sécurité informatique Cyberterrorisme | Résumé : |
Ce livre sur la sécurité informatique (et ethical hacking) s'adresse à tout informaticien sensibilisé au concept de la sécurité informatique mais novice ou débutant dans le domaine de la sécurité des systèmes d'informations. Il a pour objectif d'initier le lecteur aux techniques des attaquants pour lui apprendre comment se défendre. Dans cette nouvelle édition, chaque chapitre a été revu, corrigé ou même ré-écrit pour tenir compte de l'actualité en matière de sécurité informatique. Des nouveaux outils sont présentés et des points non abordés dans les éditions précédentes ont été ajoutés, comme l'approfondissement de l'analyse mémoire à l'aide d'outils spécialisés, le Bypasse de Stack Cookies dans le chapitre des failles applicatives, les CAPTCHA dans le chapitre Web, etc... La grande nouveauté de cette édition est l'apparition d'un chapitre sur la sécurité du Cloud Computing fortement d'actualité. Après une définition précise des différents types de hackers et de leurs objectifs, les auteurs présentent la méthodologie d'une attaque et les moyens de repérer les failles par lesquelles s'insérer dans un système. Le chapitre sur le Social Engineering, ou manipulation sociale, illustre pourquoi les failles humaines représentent plus de 60% des attaques réussies. Les failles physiques, qui permettent un accès direct aux ordinateurs visés ainsi que les failles réseaux et Wi-Fi sont présentées et illustrées avec à chaque fois des propositions de contre-mesures. Le Cloud Computing est ensuite présenté (son histoire, son fonctionnement) pour mieux en maîtriser la sécurité. La sécurité sur le web est également présentée et les failles courantes identifiées à l'aide d'outils qui peuvent facilement être mis en place par le lecteur sur ses propres systèmes. L'objectif est toujours d'identifier les failles possibles pour ensuite mettre en place la stratégie de protection adaptée. Enfin, les failles systèmes sous Windows ou Linux sont recensées puis les failles applicatives avec quelques éléments pour se familiariser au langage assembleur et ainsi mieux comprendre les possibilités d'attaque. Les auteurs de ce livre composent une équipe de personnes de conviction qui se donnent pour mission de rendre la sécurité informatique accessible à tous : apprendre l'attaque pour mieux se défendre est leur adage. Hackers blancs dans l'âme, ils ouvrent au lecteur les portes de la connaissance underground. Les chapitres du livre : Introduction et définitions - Méthodologie d'une attaque - Social Engineering - Les failles physiques - Les prises d'empreintes - Les failles réseau - Cloud Computing : forces et faiblesses - Les failles web - Les failles système - Les failles applicatives - Risques juridiques et solutions
Sommaire :
Chapitre 1 Introduction et définitions
Chapitre 2 Méthodologie d'une attaque
Chapitre 3 Social Engineering
Chapitre 4 Les failles physiques
Chapitre 5 Les prises d'empreintes
Chapitre 6 Les failles réseau
Chapitre 7 Cloud Computing : forces et faiblesses
Chapitre 8 Les failles web
Chapitre 9 Les failles système
Chapitre 10 Les failles applicatives
Risques juridiques et solutions | Note de contenu : |
Chapitre 1 Introduction et définitions
1. La sécurité informatique, pour quoi, pour qui ? 19
1.1 Hacking, piratage, sécurité informatique... Que met-on derrière ces termes ? 19
1.2 L'importance de la sécurité 21
1.2.1 Pour les particuliers 22
1.2.2 Pour les entreprises et les écoles 23
1.2.3 Pour un pays ou une nation 25
2. Le hacking se veut éthique 26
2.1 Le travail en coopération 26
2.2 Un esprit bidouilleur et passionné avant tout 27
2.3 Le hacker devient un expert recherché 27
2.4 Dans la peau de l'attaquant 28
2.5 Conseils et accompagnement vers la sécurisation 29
3. Connaître son ennemi pour s'en défendre 30
3.1 À chaque attaquant son chapeau 30
3.1.1 Les hackers black hats 30
3.1.2 Les hackers grey hats 31
3.1.3 Les hackers white hats 32
3.1.4 Les script kiddies 33
3.1.5 Les hackers universitaires 34
3.2 Et à chaque audit sa boîte à secrets 34
3.2.1 Les tests en black box 35
3.2.2 Les tests en grey box 35
3.2.3 Les tests en white box 36
Chapitre 2 Méthodologie d'une attaque
1. Préambule 37
1.1 La discrétion avant tout 37
2. Cibler la victime 39
2.1 Utiliser les bons outils 39
2.2 Repérer les domaines 41
2.3 Google, cet ami si curieux 42
2.4 Découvrir le réseau 44
3. L'attaque 49
3.1 Profiter de la faille humaine 49
3.2 Ouvrir les portes du réseau 50
3.3 L'attaque par le web 53
3.4 La force au service de l'attaque 54
4. S'introduire dans le système et assurer son accès 55
4.1 Rester discret 55
4.2 S'assurer un accès 57
4.3 Étendre son champ d'action 59
5. Bilan de l'intrusion et sécurisation 59
5.1 Une politique de sécurité rigoureuse 60
5.1.1 Les mots de passe 60
5.1.2 La formation du personnel 61
5.1.3 À chacun son rôle 62
5.2 Chiffrer les informations essentielles 63
5.3 Sécuriser les serveurs 64
5.3.1 Effectuer les mises à jour de sécurité 64
5.3.2 Emprisonner les services (chroot, jail) 64
5.3.3 La sécurité côté noyau 65
5.3.4 Empêcher les scans et les attaques 65
5.3.5 Ne garder que l'essentiel 66
5.3.6 Surveillance des activités 67
5.4 Les tests d'intrusion 68
Chapitre 3 Social Engineering
1. Brève histoire d'une technique vieille comme le monde 69
1.1 Histoire et généralités 69
1.2 L'être humain : la pièce fragile 71
1.3 La manipulation est un outil 71
1.4 Les critères d'une attaque par manipulation 72
2. Ingénierie sociale : pourquoi ? 73
2.1 Les motivations 73
2.2 Le profil de l'attaquant 74
2.3 Le profil de la cible 76
2.4 L'information, une denrée convoitée 77
2.4.1 L'importance de l'information 77
2.4.2 L'information et sa transmission 78
2.5 Les diverses formes d'attaques 79
2.5.1 Explications 79
2.5.2 La plus simple 79
2.5.3 La plus frontale 79
2.5.4 La plus indirecte 80
2.5.5 La plus complexe 81
2.6 Les technologies comme outils de base 81
2.6.1 Les médias utilisés 82
2.6.2 L'enquête préliminaire 84
2.6.3 Le papier, le stylo et le charisme 84
2.6.4 Le charisme et le bluff 86
2.6.5 Les moyens externes mis en oeuvre 87
2.6.6 L'anonymat 88
2.7 La psychologie comme fer de lance 89
2.7.1 Explications 89
2.7.2 L'absence de méfiance 90
2.7.3 L'ignorance 92
2.7.4 La crédulité 93
2.7.5 La confiance 96
2.7.6 L'altruisme 98
2.7.7 Le besoin d'aide 99
2.7.8 L'intimidation 101
2.8 Autres exemples 103
3. Solution de protection 107
3.1 Vers une classification fonctionnelle 107
3.2 Une détection à portée de tous 108
3.3 Bonnes pratiques 109
4. Pour aller plus loin 110
Chapitre 4 Les failles physiques
1. Généralités 111
1.1 Lockpicking 112
2. Accès physique direct à l'ordinateur 113
2.1 Accès à un ordinateur éteint dont le BIOS est protégé 113
2.2 Accès à un ordinateur éteint dont le BIOS n'est pas protégé 115
2.2.1 Utilisation de Offline NT Password & Registry Editor v110511 116
2.2.2 Utilisation de Trinity Rescue Kit 121
2.2.3 Récupérer la base SAM avec BackTrack 123
2.2.4 Windows Password Recovery Bootdisk 128
2.2.5 Les différents types d'algorithmes de cryptage 131
2.2.6 Les hash de type LM et NTLM 132
2.2.7 Utiliser John the Ripper pour trouver les mots de passe 133
2.2.8 Utiliser la puissance de la carte graphique 136
2.2.9 Utilisation des tables arc en ciel (rainbow tables) 139
2.2.10 Générer ses tables arc en ciel 141
2.2.11 Utiliser OPHCRACK 144
2.2.12 Utilisation du logiciel Cain&Abel 147
2.2.13 Utilisation du script Findmyhash 152
2.2.14 Bypass authentification Windows et Linux 154
2.2.15 Contourner l'authentification Windows - Méthode Adam Bolieu 156
2.2.16 Adaptation de winlockpwn : Inception 162
2.2.17 Exemples d'élévation de privilèges via exploits sous Linux 165
2.2.18 Faille Windows Vista et Windows 7 166
2.3 Accès à un ordinateur allumé en mode session utilisateur courant 169
2.3.1 Récolter des informations 169
2.3.2 La récolte d'informations automatisée 172
2.3.3 La clé USB Microsoft COFEE 175
2.3.4 Les clés USB U3 179
2.3.5 Le logiciel Gonzor-SwitchBlade 181
2.3.6 Contre-mesures aux clés U3 piégées 184
2.3.7 Les keyloggers matériels et logiciels 186
2.3.8 Contre-mesures aux keyloggers 191
2.3.9 Les flux ADS 196
2.3.10 Contre-mesures aux flux ADS 200
2.3.11 Récupération d'images mémoire 203
2.3.12 Méthodes de récupération de la mémoire RAM 204
2.3.13 Créer une clé bootable pour vider la mémoire 212
2.3.14 Récupération de la mémoire via le FireWire - Méthode Adam Bolieu 217
2.3.15 Récupération de la mémoire via le FireWire - Méthode Carsten Maartmann-Moe (Inception) 217
2.3.16 Analyse des images mémoire 219
2.4 Conclusion 233
2.5 Index des sites web 234
Chapitre 5 Les prises d'empreintes
1. Le hacking éthique 237
1.1 Définition 237
1.2 Les différents profils de hackers 238
1.3 Les différents types d'audit 238
1.4 Les stratégies d'audit 239
1.5 Méthodologies d'audit 239
2. Collecte d'informations 240
2.1 Le footprinting 240
2.1.1 Collecte d'informations via les réseaux sociaux 242
2.1.2 Les outils web 247
2.1.3 Les outils d'énumération 250
2.2 Le fingerprinting 259
2.3 Découverte de failles potentielles (scanners de vulnérabilités) 276
2.3.1 Nessus 276
2.3.2 OpenVAS 278
2.3.3 AutoScan Network 280
2.3.4 Trouver des exploits 282
2.4 Le reporting 283
2.5 Sites Internet 284
Chapitre 6 Les failles réseau
1. Généralités 287
2. Rappel sur les réseaux TCP/IP 287
2.1 Adressage IP 287
2.2 Client/Serveur 288
3. Outils pratiques 289
3.1 Des informations sur les sockets 289
3.2 Scanner de port TCP 290
3.3 Netcat 291
3.4 SSH 292
3.5 Tunnel SSH 292
4. DoS et DDoS 293
5. Sniffing 293
5.1 Capturer des données avec Wireshark 294
5.2 Les filtres 295
6. Man In The Middle (MITM) 298
6.1 Théorie 298
6.2 Pratique 299
6.2.1 Les plug-ins 304
6.2.2 Création d'un filtre 305
6.3 Contre-mesure 308
7. Vol de session TCP (hijacking) et spoofing d'IP 308
7.1 La faille : l'ACK/SEQ 309
7.2 Conséquence de l'attaque 310
7.3 Mise en pratique 310
7.4 Automatiser l'attaque 313
7.5 Spoofing d'adresse IP 313
8. Failles Wi-Fi 318
8.1 Craquer un réseau WEP 319
8.2 Craquer le WPA 322
8.3 Rogue AP 324
8.3.1 Introduction au Rogue AP 324
8.3.2 Mise en pratique d'un Rogue AP avec Karmetasploit 325
9. IP over DNS 328
9.1 Principe 328
9.2 En pratique 328
9.3 Contre-mesure 329
10. La téléphonie sur IP 330
10.1 Écoute de conversation 330
10.2 Usurpation de ligne 332
10.3 Autres attaques 334
11. IPv6 335
11.1 Les logiciels 335
11.2 Le matériel 336
11.3 Humain 336
11.4 THC-IPv6 336
11.5 Scanner les hosts 337
11.6 Flooder 338
11.7 Attaque Man in the middle 339
12. Conclusion 340
Chapitre 7 Cloud Computing : forces et faiblesses
1. Présentation 341
2. Introduction au Cloud Computing 342
2.1 Historique 342
2.2 Concepts clés 343
2.2.1 Facturation à l'usage 343
2.2.2 Élasticité et agilité des ressources 344
2.2.3 Mutualisation des ressources 344
2.2.4 Accès simple via le réseau 344
2.3 Les niveaux d'interaction 344
2.4 Cloud privé, public, hybride 346
2.4.1 Le Cloud public 346
2.4.2 Le Cloud privé 346
2.4.3 Le Cloud hybride 347
2.5 La responsabilité des fournisseurs 347
3. Les risques liés aux données 349
3.1 Responsabilité juridique du client et du prestataire 349
3.1.1 Droits et obligations 349
3.1.2 Le responsable des données 349
3.1.3 Obligation d'information du fournisseur 350
3.1.4 Sécurité des données 351
3.2 Chiffrement des données 351
3.2.1 La cryptographie symétrique 352
3.2.2 La cryptographie asymétrique 352
3.3 Accessibilité des données 353
3.4 Disponibilité des données 354
3.5 Localisation des données 355
3.6 Protection et récupération des données 356
4. La sécurité logique dans le Cloud Computing 357
4.1 Virtualisation : les nouveaux risques 357
4.2 Solutions d'étanchéité logique 358
4.3 Le facteur humain 359
4.4 Sécurité des accès : authentification et autorisation 360
4.5 Audits réguliers 361
5. La sécurité physique 363
5.1 Contrôle des accès 364
5.2 Catastrophes naturelles 365
5.3 Redondance du matériel 366
5.4 Normes à appliquer 367
5.4.1 TIA 942 367
5.4.2 ISO 27001 367
5.5 Audits réguliers 369
6. Attaques via le Cloud Computing 370
6.1 Description 370
6.2 Cassage de clés : exemple avec un hash SHA1 371
6.3 Exemple d'une attaque DDoS 377
7. Conclusion 380
8. Liens 381
Chapitre 8 Les failles web
1. Rappels sur les technologies du Web 383
1.1 Préambule 383
1.2 Le réseau Internet 383
1.3 Qu'est-ce qu'un site web ? 384
1.4 Consultation d'une page web, anatomie des échanges client/serveur 384
1.5 Comment sont réalisées les pages web ? 388
2. Généralités sur la sécurité des sites web 390
3. Petite analyse d'un site web 391
3.1 Cartographie des parties visibles d'un site web 391
3.1.1 Le site est-il statique ou dynamique ? 393
3.1.2 Quelles sont les variables utilisées ? 395
3.1.3 Y a-t-il des formulaires et quels champs utilisent-ils ? 395
3.1.4 Le serveur envoie-t-il des cookies ? 396
3.1.5 Le site contient-il des médias ? 397
3.1.6 Le site fait-il appel à des bases de données ? 398
3.1.7 Pouvons-nous accéder à certains dossiers ? 398
3.1.8 Le site fait-il appel à du JavaScript ? 399
3.1.9 Quel serveur est utilisé et quelle est sa version ? 400
3.1.10 À l'aide 401
3.2 Découvrir la face cachée d'un site web 402
3.2.1 Utilisation de Burp Suite 402
3.2.2 Utilisation de wfuzz 407
3.3 Analyser les informations récupérées 416
4. Passer à l'attaque d'un site web 418
4.1 Envoyer des données non attendues 418
4.1.1 Principes et outils 418
4.1.2 Utilisation de l'URL 420
4.1.3 Utilisation des formulaires 424
4.1.4 Utilisation de l'en-tête 428
4.1.5 Utilisation des cookies 430
4.2 Le vol de session 431
4.3 Le dépôt de fichiers malicieux 434
5. Les injections SQL 437
5.1 Préambule 437
5.2 Introduction aux bases de données 438
5.3 Principe des injections SQL 451
5.4 Technique du Blind SQL 462
5.5 Des outils efficaces 485
6. Passer les CAPTCHA 489
6.1 Présentation des différents CAPTCHA 489
6.2 Passer les CAPTCHA de base 490
6.3 Passer les CAPTCHA images 494
7. Les nouvelles menaces sur le Web 501
8. Contre-mesures et conseils de sécurisation 502
8.1 Filtrer toutes les données 502
8.2 Renforcer l'identification du client 504
8.3 Configurer judicieusement le serveur 505
9. Conclusion 506
Chapitre 9 Les failles système
1. Généralités 507
2. Les mots de passe 508
2.1 Introduction 508
2.2 Révéler un mot de passe sous Microsoft Windows 508
2.3 Complexité 509
2.4 Le stockage des mots de passe 510
2.5 Cas pratique : trouver les mots de passe sous Microsoft Windows 511
2.6 Cas pratique : trouver les mots de passe sous GNU/Linux 512
2.7 Cas pratique : trouver les mots de passe sous Mac OS X (Snow) Leopard 514
3. Utilisateurs, groupes et permissions sur le système 515
3.1 Gestion des utilisateurs 515
3.1.1 Définition 515
3.1.2 Sous GNU/Linux 515
3.1.3 Sous Windows 516
3.1.4 Sous Mac OS X (Snow) Leopard 517
3.2 Gestion des groupes 519
3.2.1 Sous GNU/Linux 519
3.2.2 Sous Windows 519
3.2.3 Sous Mac OS X (Snow) Leopard 519
3.3 Affectation des permissions 520
3.3.1 Sous GNU/Linux 520
3.3.2 Sous Windows 521
3.3.3 Sous Mac OS X (Snow) Leopard 523
4. Élévation des privilèges 525
4.1 Activation du suid et du sgid 526
4.2 Comment trouver les scripts suid root d'un système GNU/Linux 526
4.3 Le Planificateur de tâches 527
5. Les processus 528
5.1 Espionner des processus sous Windows 529
5.2 Le hooking et l'injection de processus 530
5.2.1 Exemple de hooking des événements du clavier sous Windows 531
5.2.2 Exemple de hooking des paquets réseau via Netfilter sous GNU/Linux 534
5.2.3 Exemple d'injection de code dans un autre processus sous Mac OS X 536
5.3 Les races conditions 538
6. Le démarrage 539
6.1 L'abus des modes de démarrage dégradés 539
6.2 Les attaques de preboot 539
7. L'hibernation 540
8. Les appels de procédures distantes 540
9. SeLinux et AppArmor 541
10. La virtualisation 541
10.1 L'isolation 542
10.2 Le changement de racine ou chrooting 543
10.3 Noyau en espace utilisateur 543
10.4 La machine virtuelle 544
10.5 La paravirtualisation 544
10.6 Exemple de solution de paravirtualisation : Proxmox VE 545
10.7 Détection et attaque d'une machine virtuelle 546
11. Les logs, les mises à jour et la sauvegarde 547
11.1 Les logs 547
11.2 Les mises à jour 548
11.2.1 Mise en place des mises à jour automatiques sous GNU/Linux 549
11.2.2 Mise en place des mises à jour automatiques sous Microsoft Windows 549
11.2.3 Sous Mac OS X 549
11.3 Les sauvegardes 549
12. Bilan 550
Chapitre 10 Les failles applicatives
1. Généralités 551
2. Notions d'Assembleur 552
2.1 Introduction 552
2.2 Premiers pas 552
2.2.1 Apprenons à compter 552
2.2.2 Le binaire 552
2.2.3 L'hexadécimal 554
2.3 Comment tester nos programmes ? 555
2.3.1 Squelette d'un programme en Assembleur 555
2.3.2 Notre premier programme 557
2.4 Les instructions 558
2.4.1 La comparaison 558
2.4.2 L'instruction If 559
2.4.3 La boucle For 561
2.4.4 La boucle While 561
2.4.5 La boucle Do while 562
2.4.6 La directive %define 563
2.4.7 Directives de données 563
2.4.8 Entrées - sorties 564
2.5 Les interruptions 565
2.6 Les sous-programmes 567
2.7 Le heap et la pile 569
2.7.1 Le heap 569
2.7.2 La pile 569
2.7.3 Prologue et épilogue : des notions fondamentales 571
3. Bases des shellcodes 573
3.1 Exemple 1 : shellcode.py 573
3.2 Exemple 2 : execve() 575
3.3 Exemple 3 : Port Binding Shell 577
4. Les buffer overflows 579
4.1 Quelques définitions 579
4.2 Notions essentielles 580
4.3 Stack overflow 582
4.4 Heap Overflow 590
4.5 return into libc 594
5. Les failles Windows 599
5.1 Introduction 599
5.2 Premier pas 600
5.2.1 En mode console 600
5.2.2 Débogage 602
5.2.3 Problème d'un grand shellcode 608
5.2.4 Exécution d'une fonction non prévue 611
5.2.5 Autres méthodes 613
5.3 La méthode du call [reg] 613
5.4 La méthode pop ret 614
5.5 La méthode du push return 614
5.6 La méthode du jmp [reg] + [offset] 615
5.7 La méthode du blind return 615
5.8 Que faire avec un petit shellcode ? 616
5.8.1 Principe 616
5.8.2 En pratique 616
5.9 Le SEH (Structured Exception Handling) 617
5.9.1 Les bases 617
5.9.2 SEH, les protections 619
5.9.3 XOR et Safe-SEH 619
5.10 Passer les protections 621
5.10.1 Stack cookie, protection /GS 621
5.10.2 Exemple : outrepasser le cookie 625
5.10.3 SafeSEH 628
6. Cas concret : Ability Server 629
6.1 Fuzzing 630
6.2 Exploitation 632
7. Cas concret : MediaCoder-0.7.5.4796 638
7.1 Crash du logiciel 639
7.2 Vérification des valeurs 645
7.3 Finalisation de l'exploit 645
8. Cas concret : BlazeDVD 5.1 Professional 648
9. Conclusion 652
10. Références 653
Risques juridiques et solutions
1. Préambule 655
2. Atteintes à un système d'information 657
2.1 Accès et maintien dans un système d'information 657
2.2 Atteinte au fonctionnement d'un système d'information 662
2.3 Atteinte aux données d'un système d'information 665
2.4 Diffusion d'un logiciel d'intrusion 667
3. Atteintes aux traitements de données à caractère personnel 668
3.1 Notion de données à caractère personnel 668
3.2 Cas particulier de l'adresse IP 670
3.3 Proposition de règlement européen 672
3.4 Collecte illicite de données à caractère personnel 674
3.5 Divulgation illicite de données à caractère personnel 675
3.6 Obligation de sécurité du responsable de traitement 676
3.7 Obligation de notification des failles de sécurité 681
4. Infractions classiques applicables à l'informatique 684
4.1 L'escroquerie 684
4.2 L'usurpation d'identité 685
4.3 Atteinte au secret des correspondances 687
4.4 La dégradation physique d'un système 691
4.5 Le vol d'informations ? 692
5. Solutions et précautions 693
5.1 Encadrement contractuel des tests d'intrusion 694
5.1.1 Exonérations de responsabilité du prestataire 694
5.1.2 Périmètre des tests d'intrusion 697
5.1.3 Principes dégagés par la Charte FPTI 698
5.2 Hors cadre contractuel : la révélation publique de failles de sécurité 699
5.2.1 Révélation d'une faille relative à un serveur 699
5.2.2 Révélation d'une faille relative à un système d'exploitation 703
5.2.3 Conseils quant à la divulgation de failles de sécurité 705
6. Conclusion 707
6.1 Préconisations 707
6.2 Références 708
Index 709
| En ligne : | https://www.amazon.fr/S%C3%A9curit%C3%A9-informatique-Apprendre-lattaque-d%C3%A9 [...] | Permalink : | ./index.php?lvl=notice_display&id=14883 |
Sécurité informatique : ethical hacking ; apprendre l'attaque pour mieux se défendre [texte imprime] / Houda Labiod . - 3e éd . - St-Herblain : Éd. ENI, cop. 2012 . - 733 p. : ill., couv. ill. en coul. ; 22 cm. - ( Epsilon (Saint-Herblain), ISSN 1960-3444) . ISBN : 978-2-7460-7555-9 Références webogr. Index
voir édition plus récente de cet article via l'URL associée Langues : Français Mots-clés : | Sécurité informatique Cyberterrorisme | Résumé : |
Ce livre sur la sécurité informatique (et ethical hacking) s'adresse à tout informaticien sensibilisé au concept de la sécurité informatique mais novice ou débutant dans le domaine de la sécurité des systèmes d'informations. Il a pour objectif d'initier le lecteur aux techniques des attaquants pour lui apprendre comment se défendre. Dans cette nouvelle édition, chaque chapitre a été revu, corrigé ou même ré-écrit pour tenir compte de l'actualité en matière de sécurité informatique. Des nouveaux outils sont présentés et des points non abordés dans les éditions précédentes ont été ajoutés, comme l'approfondissement de l'analyse mémoire à l'aide d'outils spécialisés, le Bypasse de Stack Cookies dans le chapitre des failles applicatives, les CAPTCHA dans le chapitre Web, etc... La grande nouveauté de cette édition est l'apparition d'un chapitre sur la sécurité du Cloud Computing fortement d'actualité. Après une définition précise des différents types de hackers et de leurs objectifs, les auteurs présentent la méthodologie d'une attaque et les moyens de repérer les failles par lesquelles s'insérer dans un système. Le chapitre sur le Social Engineering, ou manipulation sociale, illustre pourquoi les failles humaines représentent plus de 60% des attaques réussies. Les failles physiques, qui permettent un accès direct aux ordinateurs visés ainsi que les failles réseaux et Wi-Fi sont présentées et illustrées avec à chaque fois des propositions de contre-mesures. Le Cloud Computing est ensuite présenté (son histoire, son fonctionnement) pour mieux en maîtriser la sécurité. La sécurité sur le web est également présentée et les failles courantes identifiées à l'aide d'outils qui peuvent facilement être mis en place par le lecteur sur ses propres systèmes. L'objectif est toujours d'identifier les failles possibles pour ensuite mettre en place la stratégie de protection adaptée. Enfin, les failles systèmes sous Windows ou Linux sont recensées puis les failles applicatives avec quelques éléments pour se familiariser au langage assembleur et ainsi mieux comprendre les possibilités d'attaque. Les auteurs de ce livre composent une équipe de personnes de conviction qui se donnent pour mission de rendre la sécurité informatique accessible à tous : apprendre l'attaque pour mieux se défendre est leur adage. Hackers blancs dans l'âme, ils ouvrent au lecteur les portes de la connaissance underground. Les chapitres du livre : Introduction et définitions - Méthodologie d'une attaque - Social Engineering - Les failles physiques - Les prises d'empreintes - Les failles réseau - Cloud Computing : forces et faiblesses - Les failles web - Les failles système - Les failles applicatives - Risques juridiques et solutions
Sommaire :
Chapitre 1 Introduction et définitions
Chapitre 2 Méthodologie d'une attaque
Chapitre 3 Social Engineering
Chapitre 4 Les failles physiques
Chapitre 5 Les prises d'empreintes
Chapitre 6 Les failles réseau
Chapitre 7 Cloud Computing : forces et faiblesses
Chapitre 8 Les failles web
Chapitre 9 Les failles système
Chapitre 10 Les failles applicatives
Risques juridiques et solutions | Note de contenu : |
Chapitre 1 Introduction et définitions
1. La sécurité informatique, pour quoi, pour qui ? 19
1.1 Hacking, piratage, sécurité informatique... Que met-on derrière ces termes ? 19
1.2 L'importance de la sécurité 21
1.2.1 Pour les particuliers 22
1.2.2 Pour les entreprises et les écoles 23
1.2.3 Pour un pays ou une nation 25
2. Le hacking se veut éthique 26
2.1 Le travail en coopération 26
2.2 Un esprit bidouilleur et passionné avant tout 27
2.3 Le hacker devient un expert recherché 27
2.4 Dans la peau de l'attaquant 28
2.5 Conseils et accompagnement vers la sécurisation 29
3. Connaître son ennemi pour s'en défendre 30
3.1 À chaque attaquant son chapeau 30
3.1.1 Les hackers black hats 30
3.1.2 Les hackers grey hats 31
3.1.3 Les hackers white hats 32
3.1.4 Les script kiddies 33
3.1.5 Les hackers universitaires 34
3.2 Et à chaque audit sa boîte à secrets 34
3.2.1 Les tests en black box 35
3.2.2 Les tests en grey box 35
3.2.3 Les tests en white box 36
Chapitre 2 Méthodologie d'une attaque
1. Préambule 37
1.1 La discrétion avant tout 37
2. Cibler la victime 39
2.1 Utiliser les bons outils 39
2.2 Repérer les domaines 41
2.3 Google, cet ami si curieux 42
2.4 Découvrir le réseau 44
3. L'attaque 49
3.1 Profiter de la faille humaine 49
3.2 Ouvrir les portes du réseau 50
3.3 L'attaque par le web 53
3.4 La force au service de l'attaque 54
4. S'introduire dans le système et assurer son accès 55
4.1 Rester discret 55
4.2 S'assurer un accès 57
4.3 Étendre son champ d'action 59
5. Bilan de l'intrusion et sécurisation 59
5.1 Une politique de sécurité rigoureuse 60
5.1.1 Les mots de passe 60
5.1.2 La formation du personnel 61
5.1.3 À chacun son rôle 62
5.2 Chiffrer les informations essentielles 63
5.3 Sécuriser les serveurs 64
5.3.1 Effectuer les mises à jour de sécurité 64
5.3.2 Emprisonner les services (chroot, jail) 64
5.3.3 La sécurité côté noyau 65
5.3.4 Empêcher les scans et les attaques 65
5.3.5 Ne garder que l'essentiel 66
5.3.6 Surveillance des activités 67
5.4 Les tests d'intrusion 68
Chapitre 3 Social Engineering
1. Brève histoire d'une technique vieille comme le monde 69
1.1 Histoire et généralités 69
1.2 L'être humain : la pièce fragile 71
1.3 La manipulation est un outil 71
1.4 Les critères d'une attaque par manipulation 72
2. Ingénierie sociale : pourquoi ? 73
2.1 Les motivations 73
2.2 Le profil de l'attaquant 74
2.3 Le profil de la cible 76
2.4 L'information, une denrée convoitée 77
2.4.1 L'importance de l'information 77
2.4.2 L'information et sa transmission 78
2.5 Les diverses formes d'attaques 79
2.5.1 Explications 79
2.5.2 La plus simple 79
2.5.3 La plus frontale 79
2.5.4 La plus indirecte 80
2.5.5 La plus complexe 81
2.6 Les technologies comme outils de base 81
2.6.1 Les médias utilisés 82
2.6.2 L'enquête préliminaire 84
2.6.3 Le papier, le stylo et le charisme 84
2.6.4 Le charisme et le bluff 86
2.6.5 Les moyens externes mis en oeuvre 87
2.6.6 L'anonymat 88
2.7 La psychologie comme fer de lance 89
2.7.1 Explications 89
2.7.2 L'absence de méfiance 90
2.7.3 L'ignorance 92
2.7.4 La crédulité 93
2.7.5 La confiance 96
2.7.6 L'altruisme 98
2.7.7 Le besoin d'aide 99
2.7.8 L'intimidation 101
2.8 Autres exemples 103
3. Solution de protection 107
3.1 Vers une classification fonctionnelle 107
3.2 Une détection à portée de tous 108
3.3 Bonnes pratiques 109
4. Pour aller plus loin 110
Chapitre 4 Les failles physiques
1. Généralités 111
1.1 Lockpicking 112
2. Accès physique direct à l'ordinateur 113
2.1 Accès à un ordinateur éteint dont le BIOS est protégé 113
2.2 Accès à un ordinateur éteint dont le BIOS n'est pas protégé 115
2.2.1 Utilisation de Offline NT Password & Registry Editor v110511 116
2.2.2 Utilisation de Trinity Rescue Kit 121
2.2.3 Récupérer la base SAM avec BackTrack 123
2.2.4 Windows Password Recovery Bootdisk 128
2.2.5 Les différents types d'algorithmes de cryptage 131
2.2.6 Les hash de type LM et NTLM 132
2.2.7 Utiliser John the Ripper pour trouver les mots de passe 133
2.2.8 Utiliser la puissance de la carte graphique 136
2.2.9 Utilisation des tables arc en ciel (rainbow tables) 139
2.2.10 Générer ses tables arc en ciel 141
2.2.11 Utiliser OPHCRACK 144
2.2.12 Utilisation du logiciel Cain&Abel 147
2.2.13 Utilisation du script Findmyhash 152
2.2.14 Bypass authentification Windows et Linux 154
2.2.15 Contourner l'authentification Windows - Méthode Adam Bolieu 156
2.2.16 Adaptation de winlockpwn : Inception 162
2.2.17 Exemples d'élévation de privilèges via exploits sous Linux 165
2.2.18 Faille Windows Vista et Windows 7 166
2.3 Accès à un ordinateur allumé en mode session utilisateur courant 169
2.3.1 Récolter des informations 169
2.3.2 La récolte d'informations automatisée 172
2.3.3 La clé USB Microsoft COFEE 175
2.3.4 Les clés USB U3 179
2.3.5 Le logiciel Gonzor-SwitchBlade 181
2.3.6 Contre-mesures aux clés U3 piégées 184
2.3.7 Les keyloggers matériels et logiciels 186
2.3.8 Contre-mesures aux keyloggers 191
2.3.9 Les flux ADS 196
2.3.10 Contre-mesures aux flux ADS 200
2.3.11 Récupération d'images mémoire 203
2.3.12 Méthodes de récupération de la mémoire RAM 204
2.3.13 Créer une clé bootable pour vider la mémoire 212
2.3.14 Récupération de la mémoire via le FireWire - Méthode Adam Bolieu 217
2.3.15 Récupération de la mémoire via le FireWire - Méthode Carsten Maartmann-Moe (Inception) 217
2.3.16 Analyse des images mémoire 219
2.4 Conclusion 233
2.5 Index des sites web 234
Chapitre 5 Les prises d'empreintes
1. Le hacking éthique 237
1.1 Définition 237
1.2 Les différents profils de hackers 238
1.3 Les différents types d'audit 238
1.4 Les stratégies d'audit 239
1.5 Méthodologies d'audit 239
2. Collecte d'informations 240
2.1 Le footprinting 240
2.1.1 Collecte d'informations via les réseaux sociaux 242
2.1.2 Les outils web 247
2.1.3 Les outils d'énumération 250
2.2 Le fingerprinting 259
2.3 Découverte de failles potentielles (scanners de vulnérabilités) 276
2.3.1 Nessus 276
2.3.2 OpenVAS 278
2.3.3 AutoScan Network 280
2.3.4 Trouver des exploits 282
2.4 Le reporting 283
2.5 Sites Internet 284
Chapitre 6 Les failles réseau
1. Généralités 287
2. Rappel sur les réseaux TCP/IP 287
2.1 Adressage IP 287
2.2 Client/Serveur 288
3. Outils pratiques 289
3.1 Des informations sur les sockets 289
3.2 Scanner de port TCP 290
3.3 Netcat 291
3.4 SSH 292
3.5 Tunnel SSH 292
4. DoS et DDoS 293
5. Sniffing 293
5.1 Capturer des données avec Wireshark 294
5.2 Les filtres 295
6. Man In The Middle (MITM) 298
6.1 Théorie 298
6.2 Pratique 299
6.2.1 Les plug-ins 304
6.2.2 Création d'un filtre 305
6.3 Contre-mesure 308
7. Vol de session TCP (hijacking) et spoofing d'IP 308
7.1 La faille : l'ACK/SEQ 309
7.2 Conséquence de l'attaque 310
7.3 Mise en pratique 310
7.4 Automatiser l'attaque 313
7.5 Spoofing d'adresse IP 313
8. Failles Wi-Fi 318
8.1 Craquer un réseau WEP 319
8.2 Craquer le WPA 322
8.3 Rogue AP 324
8.3.1 Introduction au Rogue AP 324
8.3.2 Mise en pratique d'un Rogue AP avec Karmetasploit 325
9. IP over DNS 328
9.1 Principe 328
9.2 En pratique 328
9.3 Contre-mesure 329
10. La téléphonie sur IP 330
10.1 Écoute de conversation 330
10.2 Usurpation de ligne 332
10.3 Autres attaques 334
11. IPv6 335
11.1 Les logiciels 335
11.2 Le matériel 336
11.3 Humain 336
11.4 THC-IPv6 336
11.5 Scanner les hosts 337
11.6 Flooder 338
11.7 Attaque Man in the middle 339
12. Conclusion 340
Chapitre 7 Cloud Computing : forces et faiblesses
1. Présentation 341
2. Introduction au Cloud Computing 342
2.1 Historique 342
2.2 Concepts clés 343
2.2.1 Facturation à l'usage 343
2.2.2 Élasticité et agilité des ressources 344
2.2.3 Mutualisation des ressources 344
2.2.4 Accès simple via le réseau 344
2.3 Les niveaux d'interaction 344
2.4 Cloud privé, public, hybride 346
2.4.1 Le Cloud public 346
2.4.2 Le Cloud privé 346
2.4.3 Le Cloud hybride 347
2.5 La responsabilité des fournisseurs 347
3. Les risques liés aux données 349
3.1 Responsabilité juridique du client et du prestataire 349
3.1.1 Droits et obligations 349
3.1.2 Le responsable des données 349
3.1.3 Obligation d'information du fournisseur 350
3.1.4 Sécurité des données 351
3.2 Chiffrement des données 351
3.2.1 La cryptographie symétrique 352
3.2.2 La cryptographie asymétrique 352
3.3 Accessibilité des données 353
3.4 Disponibilité des données 354
3.5 Localisation des données 355
3.6 Protection et récupération des données 356
4. La sécurité logique dans le Cloud Computing 357
4.1 Virtualisation : les nouveaux risques 357
4.2 Solutions d'étanchéité logique 358
4.3 Le facteur humain 359
4.4 Sécurité des accès : authentification et autorisation 360
4.5 Audits réguliers 361
5. La sécurité physique 363
5.1 Contrôle des accès 364
5.2 Catastrophes naturelles 365
5.3 Redondance du matériel 366
5.4 Normes à appliquer 367
5.4.1 TIA 942 367
5.4.2 ISO 27001 367
5.5 Audits réguliers 369
6. Attaques via le Cloud Computing 370
6.1 Description 370
6.2 Cassage de clés : exemple avec un hash SHA1 371
6.3 Exemple d'une attaque DDoS 377
7. Conclusion 380
8. Liens 381
Chapitre 8 Les failles web
1. Rappels sur les technologies du Web 383
1.1 Préambule 383
1.2 Le réseau Internet 383
1.3 Qu'est-ce qu'un site web ? 384
1.4 Consultation d'une page web, anatomie des échanges client/serveur 384
1.5 Comment sont réalisées les pages web ? 388
2. Généralités sur la sécurité des sites web 390
3. Petite analyse d'un site web 391
3.1 Cartographie des parties visibles d'un site web 391
3.1.1 Le site est-il statique ou dynamique ? 393
3.1.2 Quelles sont les variables utilisées ? 395
3.1.3 Y a-t-il des formulaires et quels champs utilisent-ils ? 395
3.1.4 Le serveur envoie-t-il des cookies ? 396
3.1.5 Le site contient-il des médias ? 397
3.1.6 Le site fait-il appel à des bases de données ? 398
3.1.7 Pouvons-nous accéder à certains dossiers ? 398
3.1.8 Le site fait-il appel à du JavaScript ? 399
3.1.9 Quel serveur est utilisé et quelle est sa version ? 400
3.1.10 À l'aide 401
3.2 Découvrir la face cachée d'un site web 402
3.2.1 Utilisation de Burp Suite 402
3.2.2 Utilisation de wfuzz 407
3.3 Analyser les informations récupérées 416
4. Passer à l'attaque d'un site web 418
4.1 Envoyer des données non attendues 418
4.1.1 Principes et outils 418
4.1.2 Utilisation de l'URL 420
4.1.3 Utilisation des formulaires 424
4.1.4 Utilisation de l'en-tête 428
4.1.5 Utilisation des cookies 430
4.2 Le vol de session 431
4.3 Le dépôt de fichiers malicieux 434
5. Les injections SQL 437
5.1 Préambule 437
5.2 Introduction aux bases de données 438
5.3 Principe des injections SQL 451
5.4 Technique du Blind SQL 462
5.5 Des outils efficaces 485
6. Passer les CAPTCHA 489
6.1 Présentation des différents CAPTCHA 489
6.2 Passer les CAPTCHA de base 490
6.3 Passer les CAPTCHA images 494
7. Les nouvelles menaces sur le Web 501
8. Contre-mesures et conseils de sécurisation 502
8.1 Filtrer toutes les données 502
8.2 Renforcer l'identification du client 504
8.3 Configurer judicieusement le serveur 505
9. Conclusion 506
Chapitre 9 Les failles système
1. Généralités 507
2. Les mots de passe 508
2.1 Introduction 508
2.2 Révéler un mot de passe sous Microsoft Windows 508
2.3 Complexité 509
2.4 Le stockage des mots de passe 510
2.5 Cas pratique : trouver les mots de passe sous Microsoft Windows 511
2.6 Cas pratique : trouver les mots de passe sous GNU/Linux 512
2.7 Cas pratique : trouver les mots de passe sous Mac OS X (Snow) Leopard 514
3. Utilisateurs, groupes et permissions sur le système 515
3.1 Gestion des utilisateurs 515
3.1.1 Définition 515
3.1.2 Sous GNU/Linux 515
3.1.3 Sous Windows 516
3.1.4 Sous Mac OS X (Snow) Leopard 517
3.2 Gestion des groupes 519
3.2.1 Sous GNU/Linux 519
3.2.2 Sous Windows 519
3.2.3 Sous Mac OS X (Snow) Leopard 519
3.3 Affectation des permissions 520
3.3.1 Sous GNU/Linux 520
3.3.2 Sous Windows 521
3.3.3 Sous Mac OS X (Snow) Leopard 523
4. Élévation des privilèges 525
4.1 Activation du suid et du sgid 526
4.2 Comment trouver les scripts suid root d'un système GNU/Linux 526
4.3 Le Planificateur de tâches 527
5. Les processus 528
5.1 Espionner des processus sous Windows 529
5.2 Le hooking et l'injection de processus 530
5.2.1 Exemple de hooking des événements du clavier sous Windows 531
5.2.2 Exemple de hooking des paquets réseau via Netfilter sous GNU/Linux 534
5.2.3 Exemple d'injection de code dans un autre processus sous Mac OS X 536
5.3 Les races conditions 538
6. Le démarrage 539
6.1 L'abus des modes de démarrage dégradés 539
6.2 Les attaques de preboot 539
7. L'hibernation 540
8. Les appels de procédures distantes 540
9. SeLinux et AppArmor 541
10. La virtualisation 541
10.1 L'isolation 542
10.2 Le changement de racine ou chrooting 543
10.3 Noyau en espace utilisateur 543
10.4 La machine virtuelle 544
10.5 La paravirtualisation 544
10.6 Exemple de solution de paravirtualisation : Proxmox VE 545
10.7 Détection et attaque d'une machine virtuelle 546
11. Les logs, les mises à jour et la sauvegarde 547
11.1 Les logs 547
11.2 Les mises à jour 548
11.2.1 Mise en place des mises à jour automatiques sous GNU/Linux 549
11.2.2 Mise en place des mises à jour automatiques sous Microsoft Windows 549
11.2.3 Sous Mac OS X 549
11.3 Les sauvegardes 549
12. Bilan 550
Chapitre 10 Les failles applicatives
1. Généralités 551
2. Notions d'Assembleur 552
2.1 Introduction 552
2.2 Premiers pas 552
2.2.1 Apprenons à compter 552
2.2.2 Le binaire 552
2.2.3 L'hexadécimal 554
2.3 Comment tester nos programmes ? 555
2.3.1 Squelette d'un programme en Assembleur 555
2.3.2 Notre premier programme 557
2.4 Les instructions 558
2.4.1 La comparaison 558
2.4.2 L'instruction If 559
2.4.3 La boucle For 561
2.4.4 La boucle While 561
2.4.5 La boucle Do while 562
2.4.6 La directive %define 563
2.4.7 Directives de données 563
2.4.8 Entrées - sorties 564
2.5 Les interruptions 565
2.6 Les sous-programmes 567
2.7 Le heap et la pile 569
2.7.1 Le heap 569
2.7.2 La pile 569
2.7.3 Prologue et épilogue : des notions fondamentales 571
3. Bases des shellcodes 573
3.1 Exemple 1 : shellcode.py 573
3.2 Exemple 2 : execve() 575
3.3 Exemple 3 : Port Binding Shell 577
4. Les buffer overflows 579
4.1 Quelques définitions 579
4.2 Notions essentielles 580
4.3 Stack overflow 582
4.4 Heap Overflow 590
4.5 return into libc 594
5. Les failles Windows 599
5.1 Introduction 599
5.2 Premier pas 600
5.2.1 En mode console 600
5.2.2 Débogage 602
5.2.3 Problème d'un grand shellcode 608
5.2.4 Exécution d'une fonction non prévue 611
5.2.5 Autres méthodes 613
5.3 La méthode du call [reg] 613
5.4 La méthode pop ret 614
5.5 La méthode du push return 614
5.6 La méthode du jmp [reg] + [offset] 615
5.7 La méthode du blind return 615
5.8 Que faire avec un petit shellcode ? 616
5.8.1 Principe 616
5.8.2 En pratique 616
5.9 Le SEH (Structured Exception Handling) 617
5.9.1 Les bases 617
5.9.2 SEH, les protections 619
5.9.3 XOR et Safe-SEH 619
5.10 Passer les protections 621
5.10.1 Stack cookie, protection /GS 621
5.10.2 Exemple : outrepasser le cookie 625
5.10.3 SafeSEH 628
6. Cas concret : Ability Server 629
6.1 Fuzzing 630
6.2 Exploitation 632
7. Cas concret : MediaCoder-0.7.5.4796 638
7.1 Crash du logiciel 639
7.2 Vérification des valeurs 645
7.3 Finalisation de l'exploit 645
8. Cas concret : BlazeDVD 5.1 Professional 648
9. Conclusion 652
10. Références 653
Risques juridiques et solutions
1. Préambule 655
2. Atteintes à un système d'information 657
2.1 Accès et maintien dans un système d'information 657
2.2 Atteinte au fonctionnement d'un système d'information 662
2.3 Atteinte aux données d'un système d'information 665
2.4 Diffusion d'un logiciel d'intrusion 667
3. Atteintes aux traitements de données à caractère personnel 668
3.1 Notion de données à caractère personnel 668
3.2 Cas particulier de l'adresse IP 670
3.3 Proposition de règlement européen 672
3.4 Collecte illicite de données à caractère personnel 674
3.5 Divulgation illicite de données à caractère personnel 675
3.6 Obligation de sécurité du responsable de traitement 676
3.7 Obligation de notification des failles de sécurité 681
4. Infractions classiques applicables à l'informatique 684
4.1 L'escroquerie 684
4.2 L'usurpation d'identité 685
4.3 Atteinte au secret des correspondances 687
4.4 La dégradation physique d'un système 691
4.5 Le vol d'informations ? 692
5. Solutions et précautions 693
5.1 Encadrement contractuel des tests d'intrusion 694
5.1.1 Exonérations de responsabilité du prestataire 694
5.1.2 Périmètre des tests d'intrusion 697
5.1.3 Principes dégagés par la Charte FPTI 698
5.2 Hors cadre contractuel : la révélation publique de failles de sécurité 699
5.2.1 Révélation d'une faille relative à un serveur 699
5.2.2 Révélation d'une faille relative à un système d'exploitation 703
5.2.3 Conseils quant à la divulgation de failles de sécurité 705
6. Conclusion 707
6.1 Préconisations 707
6.2 Références 708
Index 709
| En ligne : | https://www.amazon.fr/S%C3%A9curit%C3%A9-informatique-Apprendre-lattaque-d%C3%A9 [...] | Permalink : | ./index.php?lvl=notice_display&id=14883 |
|  |