Architecture et sécurité de Microsoft Windows

  • Lieu : AMOSSYS / Rennes
  • Durée : 5 jours
  • Niveau : Perfectionnement
  • Ref. WININT-PERF

Public concerné

Auditeur, analyste SOC/CERT, ingénieur R&D, ...

Pré-requis

Connaîssances de base du fonctionnement d'un système d'exploitation.

Maîtrise d'un langage de développement sous Windows (Python, C, etc.).

Objectif

Maitriser l'architecture du système d'exploitation Microsoft Windows du point de vue de sa sécurité et de ses mécanismes internes.

Description

  • Cette formation sous 5 jours vise à couvrir finement le système d'exploitation Microsoft Windows du point de vue de sa sécurité et de ses mécanismes internes, en faisant un bref passage sur les mécanismes d'authentification à distance tels que Kerberos.
  • Des travaux pratiques sont présents tout le long de la formation afin que les stagiaires s’approprient le contenu de la formation, et cette dernière peut être adaptée pour couvrir plus ou moins de sujets ou mettre l'accent sur certains en particulier (développement via l’API Win32, prise en main de WinDBG/KD, parsing de ruches registre ou de partitions NTFS, etc.)
  • L’aspect sécurité est mis en avant tout le long de la formation, avec une emphase particulière sur l’investigation numérique et sur les techniques d’intrusion.
  • La formation est clôturée par un TP final portant sur le développement bas-niveau (pilotes noyau, services DCOM/RPC, utilisation d’APIs non documentées…) et le débogage.

Programme

  • Partie 1 - Préambule
    • Historique et versions
      • Windows As A Service
        • Architecture globale
          • Outils d'analyse système et débogeurs
            • Système de fichiers
              • Le registre
                • Les utilisateurs et les groupes
                  • Tâches planifiées
                    • L'architecture mémoire
                      • Processus systèmes
                        • Principales briques de sécurité
                          • Windows Update
                          • Partie 2 - Système de fichiers et registre
                            • NTFS (structure interne du système de fichier)
                              • Registre (ruches principales et arborescence, BCD, ruches virtuelles, structure interne des fichiers de ruche / en noyau)
                              • Partie 3 - Processus, Threads...
                                • Sessions & Processus
                                  • Jobs et containers
                                    • Services
                                      • .NET & WinRT
                                        • Format PE
                                          • Threads
                                            • Wow64
                                              • Mécanismes IPC standards (Named Pipes, Window Messages, MailSlots, Dynamic Data Exchange)
                                              • Partie 4 - Le noyau
                                                • Structure générale
                                                  • La séquence de boot
                                                    • Communications ring3/ring0
                                                      • La mémoire virtuelle
                                                        • Pools kernels et heaps
                                                          • Object manager et object directories
                                                            • Interruptions
                                                              • Drivers
                                                              • Partie 5 - Hyper-V / VBS
                                                                • Structure d'Hyper-V
                                                                  • Virtualization Based Security
                                                                    • Secure Kernel et communications
                                                                      • HVCI, Credential Guard, Hyper Guard, WDAG/HVSI
                                                                        • Protection de la mémoire avec DeviceGuard
                                                                        • Partie 6 - Sécurité
                                                                          • Principales briques de sécurité
                                                                            • Permissions
                                                                              • Authentification locale
                                                                                • Secrets, passwords, etc.
                                                                                  • Authentification à distance
                                                                                    • Mitigations anti-exploitation
                                                                                    • Partie 7 - ALPC, RPC, DCOM
                                                                                      • LPC/ALPC
                                                                                        • RPC
                                                                                          • (D)COM
                                                                                          • Partie 8 - WinRM, WMI, ETW
                                                                                            • WinRM
                                                                                              • WMI
                                                                                                • ETW
                                                                                                • Partie 9 - Réseau
                                                                                                  • SMB
                                                                                                    • RDP
                                                                                                      • LLTD et LLMNR
                                                                                                      • Partie 10 - Debugging
                                                                                                        • GFlags, AppVerifier, DriverVerifier
                                                                                                          • Debuggers
                                                                                                          • Partie 11 - TP de fin (exemples)
                                                                                                            • Développement et débogage de drivers
                                                                                                              • Développement et analyse de mécanismes IPC (DCOM, RPC…)
                                                                                                                • Développement bas niveau et utilisation de mécanismes non documentés de Microsoft Windows
                                                                                                                  • Analyse de plantages noyau