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