• Aide
  • Eurêkoi Eurêkoi

Livre

Cybersécurité et PowerShell : de l'attaque à la défense du système d'information

Résumé

Une approche pragmatique et pédagogique de la sécurité des systèmes d'information présentant les capacités offensives et défensives de PowerShell, illustrées d'exemples. Une dernière partie aborde la supervision des environnements Windows avec les mécanismes de journalisation et de centralisation des logs jusqu'à la mise en oeuvre d'une infrastructure SIEM. Version en ligne accessible 1 an durant.


  • Éditeur(s)
  • Date
    • C 2022
  • Notes
    • La couv. porte en plus : "Version en ligne offerte ! pendant 1 an" ; "+ quiz" ; "Informatique technique"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (392 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-03414-5
  • Indice
  • Quatrième de couverture
    • Cybersécurité et PowerShell

      De l'attaque à la défense du système d'information

      Ce livre traite de la sécurité des systèmes d'information à travers le prisme du langage PowerShell. Il s'adresse aux administrateurs système et réseau, experts ou consultants en cybersécurité, chefs de projet ou responsables cyber qui souhaitent comprendre le rôle et les capacités du langage de scripting de Microsoft dans le domaine de la cybersécurité.

      L'auteur propose une approche pragmatique et pédagogique de la sécurité qui présente aussi bien les capacités offensives que défensives de PowerShell, le tout illustré par des exemples pratiques à mettre en oeuvre au sein d'un laboratoire virtuel.

      Dans une première partie dédiée aux aspects offensifs, des premiers chapitres détaillent des exemples d'attaque en PowerShell et vous invitent à développer votre propre ransomware. Vous découvrez également PowerShell Empire, un framework d'attaque open source entièrement basé sur PowerShell.

      La seconde partie illustre les possibilités défensives de PowerShell (et la façon de les contourner), comme la signature de code, la mise en place d'une chaîne de certification, les mécanismes comme AMSI (Anti-Malware Scan Interface) ou le mode de langage contraint. La sécurisation des accès à distance avec PowerShell est également étudiée avec WinRM, WMI ou Just Enough Administration. Diverses techniques d'administration nécessaires à la sécurité sont ensuite évoquées, telles que la protection des protocoles SMB et RDP, les comptes de service managés et les abonnements WMI.

      Pour finir, une dernière partie appréhende la supervision des environnements Windows et PowerShell avec les mécanismes de journalisation et de centralisation des logs jusqu'à la mise en oeuvre d'une infrastructure de supervision SIEM.


  • Tables des matières
      • Cybersécurité et PowerShell

      • De l'attaque à la défense du système d'information

      • Éni éditions

      • Avant-propos
      • Chapitre 1
      • Fondamentaux et mise en place du Lab
      • 1. Les fondamentaux de la cybersécurité11
      • 1.1 Le risque et les compromis de sécurité dans le temps11
      • 1.2 Les quatre piliers de la sécurité14
      • 2. Les différents acteurs de la cybersécurité15
      • 2.1 Les équipes de production15
      • 2.2 Les équipes cyber16
      • 2.3 La gouvernance17
      • 2.4 Les utilisateurs18
      • 2.5 Les « attaquants »18
      • 3. Les éléments clés de PowerShell pour la sécurité19
      • 3.1 Pour les administrateurs19
      • 3.2 Pour les attaquants21
      • 3.2.1 Live off the land21
      • 3.2.2 Fileless attack21
      • 4. Mise en place de l'environnement de test virtuel22
      • 4.1 L'infrastructure du Lab24
      • 4.2 Infrastructure réseau25
      • 4.2.1 VirtualBox25
      • 4.2.2 pfSense27
      • 4.3 Infrastructure logique Active Directory38
      • 4.3.1 Windows Server 1938
      • 4.3.2 Finaliser la configuration pfSense43
      • 4.3.3 Création du domaine Active Directory49
      • 4.4 Déploiement des clients55
      • 4.4.1 Client Windows 1055
      • 4.4.2 Client Windows 7 (optionnel)60
      • 4.4.3 Machine de l'attaquant : Kali-Linux61
      • 5. Conclusion75
      • Chapitre 2
      • Les attaquants et PowerShell
      • 1. Quelques exemples d'attaques77
      • 1.1 Balayage réseau en PowerShell78
      • 1.1.1 Définition d'un scan réseau79
      • 1.1.2 Développement80
      • 1.1.3 Cas pratique81
      • 1.2 Attaques sur KeePass82
      • 1.2.1 Présentation de KeePass82
      • 1.2.2 Recherche de KeePass sur un système84
      • 1.2.3 Analyse du fichier de configuration85
      • 1.2.4 Bruteforce87
      • 1.2.5 Quelques bonnes pratiques relatives à KeePass88
      • 1.3 Kerberoasting89
      • 1.3.1 Présentation89
      • 1.3.2 Mise en place92
      • 1.3.3 Attaque94
      • 1.3.4 Bilan96
      • 1.4 Chiffrement97
      • 1.4.1 « On dit chiffrer »97
      • 1.4.2 Les attaquants100
      • 1.4.3 Chiffrement et déchiffrement asymétriques en PowerShell100
      • 1.4.4 Chiffrement et déchiffrement symétriques en PowerShell102
      • 1.4.5 Bilan104
      • 2. Un cas dans la vraie vie : Emotet104
      • 3. Conclusion107
      • Chapitre 3
      • Malware maison
      • 1. Introduction109
      • 2. Comment est architecture un malware ?110
      • 3. Étape 1 : le dropper Memory Only112
      • 4. Étape 2 : le serveur de contenu115
      • 4.1 Serveur HTTP en Python115
      • 4.2 Serveur HTTP en PowerShell116
      • 5. Étape 3 : le C&C et le reverse shell118
      • 5.1 Le C&C : mettre le serveur en écoute120
      • 5.2 Le reverse shell : établir une communication123
      • 5.3 Action125
      • 6. Étape 4 : le ransomware127
      • 6.1 Chiffrement127
      • 6.2 Déchiffrement134
      • 7. L'attaque, pas à pas136
      • 8. Conclusion138
      • Chapitre 4
      • PowerShell Empire
      • 1. Historique et présentation141
      • 2. Déploiement144
      • 2.1 Les sources et la documentation144
      • 2.2 Installation144
      • 2.2.1 Empire144
      • 2.2.2 Starkiller146
      • 2.2.3 API REST d'Empire147
      • 3. Utilisation d'Empire pour attaquer un système d'information148
      • 3.1 Help !148
      • 3.2 Listeners150
      • 3.2.1 Présentation150
      • 3.2.2 Un premier listener152
      • 3.2.3 Analyse du dropper associé153
      • 3.2.4 Exécution du launcher156
      • 3.3 Stagers157
      • 3.3.1 Présentation157
      • 3.3.2 Création d'un stager158
      • 3.3.3 Empaqueter le launcher dans une macro159
      • 3.3.4 Ouverture d'une pièce jointe piégée162
      • 3.4 Agents164
      • 3.4.1 Présentation164
      • 3.4.2 Interagir avec un agent165
      • 3.4.3 Élévation de privilèges sous Windows 7167
      • 3.4.4 Zoom sur l'attaque ByPass UAC169
      • 3.5 Modules171
      • 3.5.1 Elévation de privilèges pour W10171
      • 3.5.2 Collecte d'informations173
      • 3.5.3 Persistance174
      • 3.6 Propagation176
      • 3.6.1 Bruteforce du mot de passe Administrateur176
      • 3.6.2 Vol du jeton179
      • 3.6.3 Pivot SMB et RDP181
      • 3.6.4 Restricted Admin mode, RDP et pass-the-hash183
      • 3.7 Scripts184
      • 3.7.1 NTDS184
      • 3.7.2 DSInternals184
      • 4. Conclusion186
      • Chapitre 5
      • Sécuriser PowerShell
      • 1. Introduction189
      • 2. Supprimer PowerShell190
      • 2.1 Désinstaller, désactiver ou bloquer ?190
      • 2.2 Bloquer PowerShell par GPO191
      • 2.3 Contrôler le blocage192
      • 2.4 Quelques considérations193
      • 3. Execution policy194
      • 3.1 Présentation194
      • 3.2 Configuration196
      • 3.2.1 Locale196
      • 3.2.2 Domaine197
      • 3.3 Tester et contourner200
      • 3.3.1 Tester200
      • 3.3.2 Contourner201
      • 3.4 Bilan203
      • 4. Code signing204
      • 4.1 Présentation204
      • 4.2 Mettre en oeuvre une Autorité de Certification pour le code signing206
      • 4.2.1 Autorité racine206
      • 4.2.2 Serveur de liste de révocation209
      • 4.2.3 Autorité intermédiaire212
      • 4.2.4 Certificat de signature utilisateur213
      • 4.2.5 Déployer le certificat d'AC214
      • 4.2.6 Déployer le certificat utilisateur219
      • 4.2.7 Usage de XCA pour une PKI d'entreprise220
      • 4.3 Exemple de code signing222
      • 4.3.1 Signer un script222
      • 4.3.2 Timestamping224
      • 4.4 Bilan224
      • 5. AMSI225
      • 5.1 Présentation225
      • 5.2 AMSI : banc de test227
      • 5.3 Observateur d'événements232
      • 5.4 Bilan234
      • 6. Conclusion235
      • Chapitre 6
      • Restreindre PowerSheil
      • 1. Introduction237
      • 2. Remote PowerSheil238
      • 2.1 PSSessions, WS-Management et WinRM238
      • 2.1.1 Sessions238
      • 2.1.2 Sécurité des communications réseau240
      • 2.1.3 Activer WinRM241
      • 2.2 Sécurisation de WinRM246
      • 2.2.1 Pare-feu246
      • 2.2.2 Contrôle d'accès par groupe AD et GPO247
      • 2.2.3 Contrôle d'accès SDDL250
      • 2.2.4 HTTPS253
      • 2.2.5 Authentification par certificats258
      • 2.3 WMI260
      • 2.3.1 Firewall261
      • 2.3.2 Contrôle d'accès262
      • 2.3.3 Démarrer un processus à distance265
      • 2.3.4 Bilan266
      • 3. PowerSheil JEA : Just Enough Administration266
      • 3.1 Présentation266
      • 3.2 Stratégie de mise en oeuvre267
      • 3.3 Capacité de rôle268
      • 3.4 Configuration de sessions269
      • 3.5 Activer et désactiver la configuration JEA271
      • 3.6 Tester JEA272
      • 3.7 Bilan273
      • 4. Constrained Language Mode et AppLocker274
      • 4.1 Language Mode274
      • 4.2 AppLocker276
      • 4.2.1 Bloquer l'exécution de scripts avec AppLocker276
      • 4.2.2 AppLocker et les journaux d'événements281
      • 4.3 Langage contraint avec WDAC282
      • 4.3.1 Configuration282
      • 4.3.2 Contournement partiel285
      • 4.4 Bilan286
      • 5. Conclusion286
      • Chapitre 7
      • Défendre son SI avec PowerShell
      • 1. Introduction289
      • 2. Durcissement290
      • 2.1 RDP : Remote Desktop Protocol290
      • 2.1.1 Authentification, NLA et gestion des accès290
      • 2.1.2 Pare-feu291
      • 2.2 Configurer TLS292
      • 2.3 SMB296
      • 2.3.1 Server Message Block - Présentation296
      • 2.3.2 Forcer SMB v3297
      • 2.3.3 Bilan299
      • 3. Windows Firewall299
      • 3.1 Qu'est-ce qu'un pare-feu déjà ?299
      • 3.2 Appliquer une politique No-inbound301
      • 3.3 Tracer les connexions réseau304
      • 3.4 Bilan306
      • 4. Défendre et contrôler son AD307
      • 4.1 Les comptes de service managés307
      • 4.2 AdminSDHolder312
      • 5. Live-forensics et PowerShell314
      • 5.1 WinRM et le live-forensics314
      • 5.2 WMI : abonnements aux événements système315
      • 5.2.1 Exemples de requêtes WQL316
      • 5.2.2 Filtres, consommateur et binding317
      • 5.3 Quelques exemples d'abonnements WMI317
      • 5.3.1 Abonnement permanent : détection des nouveaux périphériques317
      • 5.3.2 Abonnement temporaire : détection d'un démarrage de processus dans PowerShell320
      • 5.4 Persistance pour les attaquants322
      • 6. Conclusion323
      • Chapitre 8
      • Superviser PowerShell
      • 1. Introduction325
      • 2. Collecter les logs Windows et Sysmon326
      • 2.1 Surveiller les logs Windows avec PowerShell326
      • 2.2 Mettre en place Sysmon327
      • 2.3 Transférer les logs Sysmon vers un serveur Syslog330
      • 2.3.1 WinEventForwarding330
      • 2.3.2 Retransmettre vers un serveur syslog338
      • 2.4 Bilan342
      • 3. Les logs PowerShell342
      • 3.1 Logs PowerShell343
      • 3.2 Transcript344
      • 3.3 Script Block Logging348
      • 3.4 Protected Event Logging353
      • 3.5 Bilan361
      • 4. Surveiller avec un SIEM362
      • 4.1 Installer une instance Splunk362
      • 4.2 Indexer les premiers logs365
      • 4.2.1 Injecter un fichier de log et créer le source type366
      • 4.2.2 Surveiller un dossier371
      • 4.3 Quelques règles de détections simples pour PowerShell373
      • 4.3.1 Observer les événements bruts374
      • 4.3.2 Travailler et filtrer sur les champs376
      • 4.3.3 Faire des statistiques376
      • 4.3.4 Mettre en place une alerte379
      • 4.3.5 Pour aller plus loin avec Splunk381
      • 5. Conclusion382
      • Conclusion383
      • Index385

  • Origine de la notice:
    • BPI
  • Disponible - 681.40 LAD

    Niveau 3 - Informatique