Internal Hacking et contre-mesures en environnement
Transcription
Internal Hacking et contre-mesures en environnement
Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils Introduction 1. Préambule 15 2. Décryptage d’une attaque réussie 17 3. Décryptage de contre-mesures efficaces 18 3.1 Analyse de risques réels 3.2 Considérations techniques 3.3 Considérations de la gouvernance 4. Quelles actions, pour quel rôle ? 18 19 19 20 4.1 Qu’a le droit de faire un administrateur local ? 4.2 Qu’a le droit de faire un administrateur de domaine ? 4.3 Qu’a le droit de faire un utilisateur ? 21 21 22 Recherche d’informations 1. Quelles informations sont intéressantes ? 1.1 Type de recherche 1.2 Que faut-il noter ? 23 24 25 2. Comment trouver les informations locales utiles ? 26 2.1 Configuration système 2.1.1 Informations réseau 2.1.2 Variables d’environnement 2.1.3 Utilisateurs et groupes 2.2 Les stratégies de groupe 2.2.1 Avec la console de management 2.2.2 En ligne de commande 2.2.3 Avec l’éditeur du registre 2.3 Le pare-feu 26 26 27 28 30 30 31 32 33 www.editions-eni.fr © Editions ENI 1/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.3.1 Avec le panneau de configuration 2.3.2 En ligne de commande 2.4 Les dossiers et les fichiers 2.4.1 Dossiers publics 2.4.2 Dossier temporaire 2.4.3 Documents Office 3. Les informations distantes 33 35 37 37 38 40 42 3.1 Configuration système 3.1.1 Dossiers partagés 3.1.2 Utilisateurs et groupes 3.2 Configuration réseau 3.2.1 Recherche du nom du serveur qui héberge un service 3.2.2 Recherche de services avec PortQry de Microsoft 3.2.3 Recherche de services avec Nmap 4. Contre-mesures 42 42 44 47 47 48 50 52 Prendre le rôle administrateur ou système 1. Utiliser un média d’installation Windows officiel ou une image de boot PXE 1.1 Boot sur le système 1.2 Modification du registre offline 1.3 Utilisation du hack sur différents systèmes 1.4 Contre-mesures 2. Piéger une application avec les outils intégrés à Windows 2.1 Prendre le rôle système sur sa machine ou son serveur 2.2 Prendre le rôle système sur un serveur distant ou un contrôleur de domaine 2.3 Devenir administrateur du domaine 2.4 Contre-mesures 3. Piéger un document Office www.editions-eni.fr 53 53 56 61 65 66 66 77 82 84 84 © Editions ENI 2/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 3.1 Faire exécuter un script ou une application 3.2 Contourner la sécurité des macros 3.3 Contre-mesures 4. Piéger un mail pour démarrer une application 4.1 Envoyer un faux PDF depuis l’extérieur 4.2 Envoyer un faux PowerPoint depuis l’intérieur 4.3 Faire télécharger une application cachée et l’exécuter 4.4 Contre-mesures 84 87 92 92 93 97 100 103 Extraire, casser, changer un mot de passe 1. Comment extraire un mot de passe sur une machine ou un contrôleur de domaine ? 1.1 Outils d’extraction de mots de passe de session 1.1.1 La SAM en détail 1.1.2 Extraire les mots de passe de la SAM 1.1.3 Extraire les mots de passe d’un contrôleur de domaine 1.2 Outils d’extraction d'autres mots de passe 1.2.1 Analyser le fonctionnement d’une application 1.2.2 Récupérer le mot de passe d’une connexion sans fil stocké sur un PC 1.2.3 Créer un outil de récupération d’une connexion sans fil 1.2.4 Les autres outils 1.3 Contre-mesures 2. Comment récupérer un mot de passe depuis le réseau ? 2.1 Utilisation d’un proxy 2.1.1 Configurer la cible 2.1.2 Utiliser Burp Proxy 2.2 Introduction aux certificats et à HTTPS 2.2.1 Principe d’HTTPS 2.2.2 Demander un certificat web ou de signature de code 2.2.3 Configurer Burp Proxy pour analyser HTTPS 2.2.4 Installer un root CA avec les droits utilisateurs 2.3 Script permettant d’écouter le clavier sur une page web www.editions-eni.fr © Editions ENI 105 106 106 111 112 114 114 118 121 126 130 130 130 131 131 134 134 136 146 147 149 3/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.3.1 La page web de réception 149 2.3.2 Le code JavaScript 151 2.3.3 L’ajout du script sur une page SharePoint 151 2.3.4 L'injection du script dans une faille XSS 155 2.4 Utiliser un faux site web copié 159 2.4.1 Aspirer le site 159 2.4.2 Piéger le site 162 2.5 Redirection de ports et écoute du réseau 164 2.5.1 Configuration de la redirection 165 2.5.2 Envoyer la cible sur notre site 166 2.5.3 Écouter et analyser le trafic 170 2.6 ARP poisoning sous Windows 172 2.6.1 ARP, qu’est-ce que c’est ? 172 2.6.2 ARP poisoning avec Cain & Abel 173 2.6.3 Configurer Cain & Abel pour analyser le trafic HTTPS 179 2.6.4 Utiliser Cain & Abel pour trouver le mot de passe d’un utilisateur du domaine 182 2.7 Logiciel et moyen pour casser les mots de passe 183 2.7.1 Type de cryptage 183 2.7.2 Les principes du craquage de mots de passe 184 2.7.3 Brute force 185 2.7.4 Dictionnaire 187 2.7.5 Rainbow table 188 2.7.6 Utiliser SQL 192 2.7.7 On-line 192 2.7.8 Utilisation de la carte graphique 193 2.8 Contre-mesures 194 Fabriquer ses propres outils de hacking 1. Introduction à .NET 197 1.1 Comment compiler son application sans Visual Studio ? 199 2. Forcer l’exécution d’une application 203 2.1 Les moyens classiques 203 www.editions-eni.fr © Editions ENI 4/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.2 Les moyens non conventionnels 205 3. Exfiltrer des données en différentiel 209 3.1 Utiliser un partage comme destination 3.2 Configurer un serveur avec WebDAV comme destination 3.3 Configurer SharePoint comme destination 3.4 Créer l’application 3.5 Compiler l’application 4. Créer des fenêtres de mot de passe 222 4.1 Principes de base 4.2 Créer l’application pour Outlook 4.3 Créer l’application pour IE 4.4 Créer l’application pour une application de gestion 5. Créer un keylogger 222 224 229 231 233 5.1 Principes de base 5.2 Créer l’application 5.3 Compiler l’application 234 235 236 6. Capturer l’écran 238 6.1 Principes de base 6.2 Créer l’application 6.3 Compiler l'application 238 238 240 7. Enregistrer le son 240 7.1 Principes de base 7.2 Créer l’application 7.3 Compiler l'application 241 241 244 8. Casser un mot de passe 244 8.1 Principes de base 8.2 Créer l’application 8.3 Compiler l’application www.editions-eni.fr 209 211 215 216 222 245 246 249 © Editions ENI 5/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 8.4 Utiliser le GPU 250 9. Commander un PC à distance 250 9.1 Principes de base 9.2 Créer l’application 9.3 Compiler l’application 251 252 253 10. Détourner la sécurité de l’UAC 254 10.1 Principe de base 10.2 Extraire les icônes d’une application 10.3 Signer le code 10.4 Piéger l’application pour la cible 10.5 Tester la modification 11. Changer le code PIN BitLocker avec les droits utilisateurs 11.1 Principes de base 11.2 Créer un service Windows 11.3 Compiler et installer un service Windows 11.4 Créer l’application cliente 11.5 Compiler l’application cliente 12. Contre-mesures 254 255 256 258 260 264 264 266 269 269 270 271 Faire exécuter vos applications piégées 1. Comprendre l’autre, ses besoins et ses envies 1.1 La prise de décision 1.2 Comprendre l’utilisateur 273 274 2. Les besoins de l’utilisateur 275 2.1 Le modèle de Maslow 2.2 Le modèle de valeur d’inventaire de Shalom Schwartz www.editions-eni.fr 273 © Editions ENI 275 276 6/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 3. Les techniques de manipulation 278 3.1 Les suggestions verbales 279 4. Création des étapes d’une attaque 281 4.1 Envoyer un document Office piégé 4.2 Envoyer une application piégée 5. Contre-mesures 281 282 285 Outrepasser les restrictions logicielles 1. Outrepasser les stratégies de groupe 287 1.1 Le principe des stratégies de groupe 1.2 Bloquer l’exécution des GPO 1.2.1 Bloquer les stratégies de groupe d’utilisateur 1.2.2 Bloquer les stratégies de groupe machine 1.3 Contre-mesures 2. Contourner les restrictions courantes 296 2.1 L’explorateur Windows 2.1.1 Le principe 2.1.2 Le contournement pour explorer les fichiers 2.2 Le registre 2.2.1 Le principe 2.2.2 Les contournements pour voir ou modifier le registre 2.3 Le gestionnaire des tâches 2.3.1 Le principe 2.3.2 Les contournements voir, détruire ou créer un processus 2.4 Gestion des fichiers avec FSRM 2.4.1 Le principe 2.4.2 Cacher un fichier à l’aide d’un autre document 2.4.3 Cacher un fichier avec les flux alternatifs www.editions-eni.fr 287 288 288 293 295 © Editions ENI 297 297 297 299 299 300 302 302 302 304 305 305 306 7/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.4.4 Trouver les flux alternatifs 2.5 Exécuter d’autres applications que celles prévues sur un Terminal Server 2.5.1 Le principe 2.5.2 Le contournement avec un raccourci 2.5.3 Le contournement avec un document Office 2.5.4 Le contournement par le login 2.6 Passerelle mail 2.6.1 Le principe 2.6.2 Le contournement pour exfiltrer des fichiers 2.7 Proxy Web 2.7.1 Le principe 2.7.2 Le contournement pour le chargement ou le téléchargement de fichiers 2.7.3 Le contournement pour la navigation 2.8 Contre-mesures 308 311 311 312 313 316 317 317 317 318 318 318 319 321 Prendre le contrôle à distance 1. Prendre le contrôle d’une machine distante 1.1 Utilisation des outils administration de Windows 1.1.1 Installer Telnet Server 1.1.2 Utiliser le Client Telnet 1.1.3 Utiliser PuTTY 1.2 Utilisation d’une application NetCommand en .NET 1.2.1 Créer une application serveur 1.2.2 Compiler l’application 1.2.3 Utiliser le serveur 1.2.4 Se connecter sur le serveur 1.3 Utilisation d’un outil de bureau à distance 1.3.1 Le bureau à distance (RDP) 1.3.2 VNC en connexion directe 1.3.3 VNC en connexion inversée 1.4 Contre-mesures 2. Prendre le contrôle via des failles système ou applicatives www.editions-eni.fr © Editions ENI 323 323 324 324 325 326 327 329 329 330 332 332 333 336 337 337 8/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.1 Les vulnérabilités système et applicatives 2.1.1 Base de données CVE 2.1.2 Recherche de vulnérabilités avec Nessus 2.2 Metasploit et Armitage 2.2.1 Installer Metasploit sur Windows 2.2.2 Installer Armitage sur Windows 2.2.3 Analyser un réseau avec Armitage 2.2.4 Utiliser une faille système ou applicative avec Armitage 2.2.5 Attaquer depuis l’interface web de Metasploit 2.2.6 Utiliser un faux site web copié avec Metasploit Pro 2.3 Contre-mesures 337 338 339 344 345 349 350 352 356 358 363 Garder une porte ouverte 1. Introduction aux portes dérobées actives et passives 365 2. Conserver discrètement un accès à un serveur ou à un PC 365 2.1 Écouteur Terminal Server 2.2 Programme en .NET 365 366 3. Conserver discrètement un accès à un serveur web ou de messagerie 366 3.1 Avoir accès à toutes les boîtes mail d’un serveur Exchange 3.1.1 Groupe de sécurité 3.1.2 Ouverture d’une boîte mail 3.1.3 PowerShell 3.2 Modifier une application web pour conserver un accès depuis l’extérieur 3.2.1 Ajouter un pool d’applications 3.2.2 Ajouter une application web 3.2.3 Ajouter une page web de commande 3.2.4 Utiliser l’accès Web PowerShell 3.3 Contre-mesures 367 367 369 369 370 370 373 376 377 379 4. Conserver discrètement un moyen de prendre le contrôle sur un PC ou un serveur 379 4.1 Ajouter un protocole et piéger la navigation www.editions-eni.fr © Editions ENI 379 9/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 4.1.1 Modifier le registre 4.1.2 Utiliser le changement 4.1.3 Masquage du script 4.2 Ajouter ou modifier une extension 4.2.1 Modifier le registre 4.2.2 Utiliser le changement 4.3 Ajouter un certificat racine 4.4 Cacher un compte utilisateur 4.4.1 Cacher un utilisateur local 4.4.2 Cacher un utilisateur dans Active Directory 4.5 Contre-mesures 380 381 382 384 385 386 387 388 388 389 393 Se cacher et effacer ses traces 1. Utiliser la virtualisation 395 1.1 Hyper-V sur Windows 8 1.1.1 Installer Hyper-V 1.1.2 Configurer Hyper-V 1.1.3 Créer une machine virtuelle 1.1.4 Usurper une adresse MAC 1.1.5 PowerShell pour Hyper-V 1.2 Les autres outils de virtualisation 1.2.1 D’autres logiciels de virtualisation 1.2.2 Copier un disque physique en disque virtuel 1.2.3 Connecter/créer un disque virtuel directement sur Windows 1.2.4 Empêcher l’accès à votre disque virtuel 1.2.5 La virtualisation d’applications 1.3 Contre-mesures 2. Utiliser le compte système 405 2.1 Utiliser le compte système directement 2.2 Utiliser le compte système indirectement 2.3 Contre-mesures www.editions-eni.fr 395 395 396 398 399 399 400 400 401 402 403 404 405 © Editions ENI 405 406 407 10/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 3. Effacer les journaux 407 3.1 Les journaux d’évènements Windows 3.2 Les journaux du pare-feu local 3.3 Les journaux des services web 3.4 Contre-mesures 408 409 410 412 Les contre-mesures techniques 1. Les moyens intégrés au monde Microsoft 1.1 Empêcher le boot du système 1.1.1 SysKey 1.1.2 Concept et pré-requis BitLocker 1.1.3 Stocker les clés de récupération dans Active Directory 1.1.4 Activer BitLocker sur un ordinateur 1.1.5 Configurer un code PIN 1.2 Installer et configurer un contrôleur de domaine en lecture seule 1.2.1 Créer la machine 1.2.2 Configurer les mots de passe non répliqués 1.3 Installer et configurer une autorité de certification 1.3.1 Planification de l’installation 1.3.2 Installation et configuration 1.3.3 Modification et ajout de modèles de certificats 1.3.4 Configurer le certificat Root sur les PC interne 1.4 Installer et configurer Network Access Protection 1.4.1 Configurer le DHCP avec une liste blanche 1.4.2 Installer les services pour Network Access Protection 1.4.3 Configurer NAP pour utiliser IPsec sur les serveurs 1.4.4 Configurer les clients pour supporter NAP 1.5 Installer et configurer WSUS (Windows Server Update Services) 1.5.1 Installer WSUS 1.5.2 Configurer les clients pour utiliser WSUS 1.6 Les stratégies de groupe 1.6.1 Configurer les comptes restreints www.editions-eni.fr © Editions ENI 413 414 414 415 416 417 418 419 419 420 420 421 422 424 424 425 425 426 427 428 428 429 429 430 430 11/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 1.6.2 Configurer la sécurité des mots de passe 1.6.3 Configurer le pare-feu 1.6.4 Configurer le contrôle de compte utilisateur 1.6.5 Restriction du registre et des fichiers 1.7 Configurer la restriction logicielle 1.7.1 Autorisé ou bloqué par défaut ? 1.7.2 Bloquer une application 1.7.3 Bloquer les applications sur les médias amovibles 1.7.4 Stratégie de blocage des applications 1.8 La gestion des fichiers et des droits 1.8.1 Les groupes de sécurité 1.8.2 Les dossiers temporaires ou Temp 1.8.3 Les partages de fichiers 1.8.4 La gestion des fichiers avec FSRM 1.8.5 La classification des fichiers 1.8.6 Microsoft RMS (Rights Management Services) 1.9 Signer les macros VBA et les scripts PowerShell 1.9.1 Demander un certificat 1.9.2 Signer une macro VBA 1.9.3 Signer un script PowerShell 1.9.4 Autoriser seulement l’exécution d’objets signés 1.10 Outils d’audit et de sécurité Microsoft 1.10.1 Outils d’audit 1.10.2 Outil de sécurité 2. Les autres moyens 469 2.1 La dissociation 2.1.1 Dissociations des réseaux physiques 2.1.2 Utilisation de VLAN 2.1.3 Antivirus 2.1.4 Pare-feu logiciel 2.1.5 Pare-feu physique 2.2 Outils de monitoring et de surveillance 2.2.1 IDS et IPS 2.2.2 Surveillance des systèmes et des éléments de sécurité 2.3 Outils d’audit et de test de vulnérabilité www.editions-eni.fr 431 433 434 435 437 437 438 439 439 440 440 442 444 446 450 456 462 462 463 463 464 466 466 468 © Editions ENI 469 469 470 470 471 471 472 472 473 474 12/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 2.3.1 Logiciels personnels 2.3.2 Logiciels d’entreprise 474 475 La gouvernance des systèmes d’information 1. Les enjeux de la gouvernance 477 2. L’impact et les conséquences de l’internal hacking sur la gouvernance 478 3. Un référentiel qui peut nous aider 479 3.1 Norme ou référentiel 3.2 COBIT, Val IT et Risk IT 479 480 4. Mettre en œuvre la gouvernance des SI à l’aide de COBIT 4.1 Le cadre général 4.2 Qu’est-ce qu’un objectif de contrôle ? 4.3 Le processus « Mettre en place une gouvernance des SI » 4.3.1 Mise en place d’un cadre de gouvernance des SI - SE4.1 4.3.2 Alignement stratégique - SE4.2 4.3.3 Apport de valeur - SE4.3 4.3.4 Gestion des ressources - SE4.4 4.3.5 Gestion des risques - SE4.5 4.3.6 Mesure de la performance - SE4.6 4.3.7 Assurance indépendante - SE4.7 4.4 Par où commencer ? 4.4.1 Niveau de maturité 4.4.2 Processus de départ 5. Gérer et manager le risque 5.1 5.2 5.3 5.4 482 484 484 484 485 485 485 485 486 486 486 486 487 488 Définitions L’estimation d’un risque Les facteurs de risque La classification d’un risque www.editions-eni.fr 482 488 489 490 491 © Editions ENI 13/14 Internal Hacking et contre-mesures en environnement Windows Piratage interne, mesures de protection, développement d'outils 5.5 Le traitement d’un risque 5.6 Les autres éléments du management des risques 6. Traiter l’internal hacking du point de vue de la gouvernance 492 493 494 6.1 La gestion des administrateurs 6.2 La gestion des utilisateurs 6.3 La gestion des systèmes 6.4 La gestion des applications 6.5 La gestion de l’information 6.6 La gestion des problèmes et des incidents 494 497 498 500 502 502 Index 505 www.editions-eni.fr © Editions ENI 14/14