---
title: Révision Winsec
tags: REVISION
---

# <span style="color: red"> Programme de révision Wsec </span>
- [x] 01 - Histoire
- Connaître les différentes familles de systèmes Windows, leur version de
noyau et leur état de support
- Architectures matérielles supportées et principales caractéristiques de
Windows NT
- [x] 02 - Architecture
- Catégories des différents types de processus (système, service,
utilisateur)
- Connaître quelques exemples de processus de chaque catégorie
- 3 sous-systèmes (Win, Posix, OS/2)
- Session Windows : principe et isolation des services en session 0
- Pyramide des droits et les 3 grands ensembles
- [x] 03 - Services
- Définition du SCM
- 3 principaux comptes de service (droits, privilèges et capacité d'authentification réseau)
- Principe de l'hébergement de services et rôle de svchost.exe
- [x] 04 - Mise à jour
- Principaux types de mises à jour de Microsoft
- Politique de support : définition et durée des deux phases (principale et d'extension)
- Windows 10 : Service Update et Feature Update
- [x] 06 - Programmation avancée
- Utilité des symboles et principe de fonctionnement
- [x] 07 - Réseau
- WNET : Notation UNC, Multiple Provider Router, Multiple UNC Provider
- Network redirectors installés par défaut sous Windows (SMB, RDP et
WebDav)
- Fonctionnement de NetBios et des 3 sous-protocoles associés
- Rôle de SMB, apports de SMB2 (de 2.0.2 à 3.1.1)
- Transport de SMB et ports réseau associés
- Named pipes et mailslots
- Rôle du partage IPC$
- Définition des RPC et importance dans les systèmes Windows
- [x] 08 - RPC
- Rôle du langage MIDL
- Principaux mécanismes de transport des RPC
- [ ] 09 - Authentification
- Calcul hash LM/NTLM (grands principes, algos, faiblesses)
- Calcul défi réponse LM/NTLM/NTLM2/LMv2-NTLMv2 (grands principes, algos,
faiblesses)
- Calcul des clés Kerberos AES
- Avantages de Kerberos par rapport à NTLM
- Principales attaques sur NTLM
- Kerberos : fonctionnement général et intérêts/apports en sécurité
- Rôle de la PAC dans Kerberos
- Fonctionnement de PKINIT
- Principe et conséquence de Pass-the-hash
- AP : rôle et connaître ceux de Microsoft
- SSP : rôle et connaître ceux de Microsoft (les principaux vus en cours)
- Rôle de NetLogon
- Mise en œuvre du SSO (authentification implicite/explicite)
- [ ] 10 - Modèle de sécurité
- Pyramide des droits
- SID : format générique et leur rôle dans le modèle de sécurité
- principe de génération des SID des comptes locaux
- Définition du Token et principaux composants
- Rôle de l'attribut DenyOnly
- Définition du descripteur de sécurité et composants (owner, DACL, SACL)
- Définition droits accès standard, spécifique, générique
- Fonctionnement général du contrôle d'accès
- Rôle et fonctionnement des restricted SID
- Connaître les privilèges sensibles
- Définition du SDDL
- Principe de l'impersonation
- Définition et différences entre primary token et impersonate token
- Fonction CreateRestrictedToken : modifications appliquées aux tokens
- AppContainer : principe et protections appliquées
- [ ] 11 - Nouveaux mécanismes
- Rôle et intérêt de : /GS, DEP, ASLR
- Fonctionnement d'UAC et effets des 3 restrictions
- 3 niveaux et principes de protection des services
- Fonctionnement des SID de service et leur mise en œuvre
- Process Mitigation / WDEG
# <span style="color: red"> 01 - Histoire</span>
**Connaître les différentes familles de systèmes Windows, leur version de noyau et leur état de support**
## Famille
Famille ++Windows dos++
- version: (dernière version de dos: noyau 4.0)
- état de support: non supporté
Famille ++Windows NT++
## Windows NT
**Version Windows 2000**
Noyau: 5.0
état de support: non supporté
**Version Windows XP**
Noyau: 5.1
état de support: non supporté
**Version Windows XP 64 + Windows Serveur 2003 et 2003 R2**
Noyau: 5.2
état de support: non supporté
**Version Windows Vista + Windows Serveur 2008**
Noyau: 6.0
état de support: non supporté
**Version Windows 7 + Windows Serveur 2008 R2**
Noyau: 6.1
état de support: non supporté
**Version Windows 8 + Windows Serveur 2012**
Noyau: 6.2
état de support: non supporté
**Version Windows 8.1 + Windows Serveur 2012 R2**
Noyau: 6.3
état de support: non supporté
**Version Windows 10 + Windows Serveur 2016**
Noyau: 10
état de support: supporté
support standard : 5 ans
support étendue : 10 ans
___
**Architectures matérielles supportées et principales caractéristiques de Windows NT**
architecture plus supporté: x86, alpha, powerpc, mips, arm, itanium
x86: abandonné depuis serveur 2008 R2
x64: de windows xp a windows 10
fonctionnalité de windows serveur:
- active directory
- DNS/DHCP/IIS/hyper-v
## Test
5.0 Windows 2000
5.1 Windows XP
5.2 Windows XP64 - 2003 - 2003R2
6.0 Windows Vista + 2008
6.1 Windows 7 + 2008R
6.2 Windows 8 + 2012
6.3 Windows 8.1 + 2012R
10 Windows 10 + 2016
# <span style="color: red"> 02 - Architecture</span>
## <span style="color: green"> 3 sous-systèmes (Win, Posix, OS/2)</span>
**Type de processus de Windows NT:**
- Win32
- POSIX
- OS/2
**Sous-système:**
- sous-système pour processus Win32 = Windows (csrss.exe)
- sous-système pour processus posix = POSIX (psxss.exe)
- sous système pour processus OS/2 = OS/2 (os2ss.exe)
:::success
Avoir un sous-système permet d'executer les processus de ce type. Un Sous-systeme est un programme
:::
**Sous-sytème est composé de:**
- un processus (le serveur)
- un ensemble de bibliothèque
## <span style="color: green">Catégories des différents types de processus (système, service, utilisateur) et connaître quelques exemples de processus de chaque catégorie</span>
**Définition processus**: Instance d'un programme
**Catégories de processus: exemples, ...**
- **système:** wininit, winlogon, smss, lsass
- **service:** services, svchost, spoolsv, inetinfo
- **utilisateur**: userinit, explorer, tous les processus executés par le user
## <span style="color: green"> Pyramide des droits et les 3 grands ensembles</span>

## <span style="color: green"> Session Windows : principe et isolation des services en session 0</span>
Chaque session a un sessionID.
Chaque utilisateur est sur une session différente.
Ce sessionID permet de retrouver dans quelle session un processus s'execute.
**Principe d'Isolation:**
Les processus systemes et services systèmes sont séparer des utilisateurs dans un session specifique : la session 0.
Cela permet d'isoler les processus sensibles et limite les risques.
**Session 0:**
Session 0 sert à executer tous les processus systèmes et des services. C'est ce qu'on appelle l'isolation des services.

# <span style="color: red"> 03 - Services</span>
Définition services: programmes qui s'executent en arrière plan. Ils se mettent en route au demarrage du système.
## <span style="color: green">Définition du SCM</span>
SCM = service Control Manager
- il gere les services et une partie des pilotes
- il peut créer, éteindre, config un services
- il monitor les services (on peut voir l'etat des srvices grâce a lui)
**Définition:**
Un SCM est un serveur capable de gestionner les services de windows (creer, demarrer, supprimer, eteindre, configurer)
## <span style="color: green">3 principaux comptes de service (droits, privilèges et capacité d’authentification réseau)</span>
**Qu'est ce qu'un compte de service:**
Chaque service s'execute dans un des comptes suivants (il y'en a + que 3 evidemment)
Les comptes definissent les droits, les privilèges et les capacités d'authentification réseau.
Ils permettent d'indiquer a quelle point les services ont le droit d'acceder aux ressources local et réseau.
**Les 3 principaux comptes de service:**
1. **LocalSystem**
- droits: les plus haut
- privilèges: les plus haut
- capacité d'authentification réseau: kerberos avec cmpt ordinateur, NTLM
2. **NetworkService**
- droits: restreint
- privilèges: peu de privilège (les même que l'utilisateur courant)
- capacité d'authentification réseau: kerberos avec cmpt ordinateur, NTLM
3. **LocalService**
- droits: restreint
- privilèges: peu de privilège (les même que l'utilisateur courant)
- capacité d'authentification réseau: interdit
## <span style="color: green">Principe de l’hébergement de services et rôle de svchost.exe</span>
svchost c'est l'hébergeur de services
parents de tous les services
le svchost :
- Il est appellé parent ou (host) l'hébergeur de services
- Il est utilisé pour chargé les DLL des srvices
- C'est un processus qui s'occupe des services (processus systeme)
On peut trier les services en famille (par ex:)
Un svchost regroupe plusieurs services
**Définitions:**
C'est un processus qui permet de charger les librairies dynamique des services et de jouer le role de parent (host) ainsi que d'isolation des services.
**à quoi sert l'isolation de services?**
Ca sert a eviter que plusieurs services soient impacté lorsqu'un des services plantes
Fait en sorte que le moins de services plantent lorsqu'un autre dans le meme svchost plante
# <span style="color: red ">04 - Mise à jour</span>
## <span style="color: green "> Principaux types de mises à jour de Microsoft</span>
Les principaux types:
- **Critical updates:** utilisé pour un probleme important (critique) mais sans rapport avec la sécurité
- **Security updates:** probleme critique lié à la sécurité
- **updates:** update classique, problème classique non lié a la sécurité
- **Updates rollup:** regroupement de plusieurs updates (critical + security + update)
- **Features pack:** maj qui rajoute une nouvelle fonctionnalité
- **Services pack:** petits correctifs + security update + critical update + updates + features (comme une update rollup mais avec plus de trucs)
- **Définition update:** Maj des antivirus et antispam (base de donnée)
## <span style="color: green "> Politique de support : définition et durée des deux phases (principale et d’extension)</span>
**Phase de support principale: 5ans (maj gratuite)**
phase qui comporte toutes les maj gratuite
**Phase de support extensible: 5ans (c'est un service payant pour les entreprises)**
phase payante dans laquelle il n'y aura plus de nouvelle fonctionalité et seule les maj de securité seront gratuites
- maj de securite gratuite
- petit correctifs payants
- plus de nouvel fonctionnalite
## <span style="color: green "> Windows 10 : Service Update et Feature Update</span>
**Service update:** pack de maj qui sort tous les mois
regroupe les correctifs de sécurité et quelques maj
pas de nouvelle fonctionnalité
**Features update:** pack de maj tous les ans (une a deux fois)
les nouvelles fonctionnalité
# <span style="color: red ">06 - Programmation avancée</span>
## <span style="color: green"> Utilité des symboles et principe de fonctionnement</span>
**Utilité:** sert à débuger un programme (vu qu'on a la table de symboles)
Nom et type variable + nom des fonction et param + num ligne de code
**Comment ça marche:**
La Liste des symboles stockés dans un fichier externe au .exe qui est en .pdb (programme database) qui est generer à la compilation
# <span style="color: red ">07 - Réseau</span>
## <span style="color: green "> WNET : Notation UNC, Multiple Provider Router, Multiple UNC Provider</span>
**A quoi sert WNET:**
API qui donne des fonctions permettant de faire du réseau en Windows.
WNET permet d'accèder et de gérer des systèmes de fichier sur le reseau.
**Notation UNC:** Utilisé par WNET comme convention de nommage
\\\Serveur\Partage\Chemin\Fichier
- Server = nom de la machine sur le réseau Wnet
- nom de la machine (FQDN)
- ip
- Partage = une partie des fichiers partagés (semblable a un dossier de partage)
- C$
- ADMIN$
- d'autre dossier
- Chemin (Facultatif)
- Fichier (Facultatif)
**Multiple Provider Router**
- Interface permettant de gerer la connexion entre l'OS et les network provider sur WNET.
- qui permet de déterminer quel fournisseur (Network providers) doit être invoqué lorsque l’API WNet est solicitée
- **Network provider:** DLL capable de supporter un protocole de connexion (comment je vais me connecter) réseau spécifique (LAN, RDP, WebDav)

**Multiple UNC Provider**
Permet la selection du bon protocol de fichier (network redirector ) en fonction de la UNC pour faire des modifications sur les fichiers du serveur de l'unc.

Exemple: SMB, WebDav
## <span style="color: green ">Network redirectors installés par défaut sous Windows (SMB, RDP et WebDav)</span>
**Network redirectors:**
- **RDPNP (RDP)** : Network redirector qui permet d'acceder aux fichiers (disque) sur le serveur via RDP en passant par le service TerminalServices.
- **WebClient (WebDav)** : Network redirector permettant l'accès aux fichiers via WebDav en utilisant http/https.
- **LanmanWorkstation(SMB)** : Network redirector qui utilise le protocol SMB.
## <span style="color: green ">Fonctionnement de NetBios et des 3 sous-protocoles </span>
**Qu'est ce que Netbios**
Un protocol qui fait la meme chose que DNS.
**Fonctionnement de NetBios**
- Format nom de NetBios: 15 char et un netbios suffix (1 char)
- 3 commandes:
- **Registration** : permet de s'assurer que le nom n'est pas utiliser et de l'enregistrer
- **Release** : liberation du nom lorsqu'on ne veut plus l'utiliser
- **Query** : Resoudre un nom (avec une IP)
**3 NetBios Protocol:**
- NetBios Name Service : sur le port 137 (TCP/UDP) -> serveur netbios qui répond au query
- NetBios Datagramme Service : sur le port 138 (UDP)
- NetBios Session Service : sur le port 139 (TCP)
## <span style="color: green ">Rôle de SMB, apports de SMB2 (de 2.0.2 à 3.1.1)</span>
**Rôle de SMB**
SMB = Server Msg Block
Le protocol de partage de fichiers.
**Apports de SMB2 2.0.2**
- Une signature (optionel) des fichiers
- Abandon netbios et passage à DNS
- Meilleur performances
- Simplification (passage de 100 commandes à 20 commandes)
**Apports de SMB3 3.0**
- Chiffrement AES 128-CCM
- Signature en AES 128-CMAC
- Négociation sécurisé entre SMB2 et SMB3 (se mettre d'accord sur le protocol de chiffrement)
- refuser les connexion SMB1
**Apports de SMB3 3.02**
- amélioration des performance de connexion et de transfert
**Apports de SMB3 3.1.1**
- négociation extensible
- AES 128-GCM
- forcer le chiffrement
**Etape de connexion entre un client et le serveur:**
- négociation le protocole chiffrement
- authentification de l'utilisateur
- connexion au partage SMB
- accès aux fichiers
- deconnexion
## <span style="color: green ">Transport de SMB et ports réseau associés</span>
**Type de Transport possible de SMB:**
- NetBios Session Service: port 139 TCP (obsolete)
- Direct Hosting : port 445
- RDMA (Remote Direct Memory Access) : no specific port
## <span style="color: green ">Named pipes et mailslots</span>
**IPC ?**
Tout ce que est les canaux de communication entre 2 processus. (sur la même machine ou machine diff)
**2 moyens pour faire de l'IPC**
- named pipe
- Mailslots
**named pipes:**
- Permet une communication entre processus éventuellement sur deux machines différentes.
- utilisé pour faire du SMB
**mailslots:**
- communication asynchrone entre 2 machines
- taille msg de max 424 octets (paquet SMB)
- utilise Netbios Datagram Service
## <span style="color: green ">Rôle du partage IPC\$ </span>
**Rôle du partage IPC\$**
c'est un dossier creer par defaut sur lequel on se connecte lorsque la co est gerer par IPC$
## <span style="color: green ">Définition des RPC et importance dans les systèmes Windows</span>
RPC:
mechanisme de gestion entre client et serveur
# <span style="color: red ">08 - RPC</span>
RPC utilise très souvent IPC.
Permet d'appeler une fonction implementé par un serveur depuis un processus client.
## <span style="color: green ">Rôle du langage MIDL</span>
Permet de définir des interfaces RPC

## <span style="color: green ">Principaux mécanismes de transport des RPC</span>

# <span style="color: red">09 - Authentification </span>
## <span style="color: green">Calcul hash LM/NTLM (grands principes, algos, faiblesses)</span>
**Hash**
- utilisé pour valider l'authentification d'un utilisateur
- mot de passe dans une forme hashé
**2 Algorithmes de hash:**
- LM
- NTLM
**LM Comment ça marche/Grand principe/Algo**:

- LM utilise DES (une fonction de hashage)
- faiblesse :
- limité à 14 chars (seulement deux parties de 7)
- limité au chiffres, ponctuaction et qql char speciaux
- utilisation de DES (ca pue la merde)
**NTLM Comment ça marche**:

- NTLM utilise MD4 (fonction de hashage)
- faiblesses:
- MD4 obsolete
- 255 char max
## <span style="color: green">Calcul défi réponse LM/NTLM/NTLM2/LMv2/NTLMv2 (grands principes, algos, faiblesses)</span>
**calcul défi réponse LM**

**calcul défi réponse NTLM**

**calcul défi réponse NTMLv2**
- **calcul défi réponse NTLM2**

- **tableau récap**

## <span style="color: green">Avantages de Kerberos par rapport à NTLM</span>

## <span style="color: green">Principales attaques sur NTLM</span>
- pass the hash:
- reflexion ntlm: l'attaquant se fait passer pour le serveur ntlm
- relais ntlm: mitm sur ntlm (l'attaquant ecoute la discussion entre le client et le serveur)
## <span style="color: green">Kerberos : fonctionnement général et intérêts/apports en sécurité</span>
## <span style="color: green">Rôle de la PAC dans Kerberos</span>
## <span style="color: green">Fonctionnement de PKINIT</span>
## <span style="color: green">Principe et conséquence de Pass-the-hash</span>
## <span style="color: green">AP : rôle et connaître ceux de Microsoft</span>
## <span style="color: green">SSP : rôle et connaître ceux de Microsoft (les principaux vus en cours)</span>
## <span style="color: green">Rôle de NetLogon</span>
## <span style="color: green">Mise en œuvre du SSO (authentification implicite / explicite)</span>
# 10 - Modèle de sécurité
## SID : format générique et leur rôle dans le modèle de sécurité
**Définition SID:**
Sur Windows, les SID (Security ID) sont des identifiants que chaque systeme, utilisateur et object possède pour définir ses droits.
**Format SID**

## principe de génération des SID des comptes locaux
les SID des machines sont genéré l'installation de windows
Lorsque les comptes locaux sont crée ils recoivent un SID.
Les SID de compte locaux sont composés de plusieurs choses:
- SID de la machine
- RID unique qui s'incremente a chq creation compte ou groupe
- commence generalement par le RID 500 qui est celui de l'admin
- 502 nouveau utilisateur, 501 compte invité
## Définition du Token et principaux composants
## Rôle de l’attribut DenyOnly
## Définition du descripteur de sécurité et composants (owner, DACL, SACL)
## Définition droits accès standard, spécifique, générique
## Fonctionnement général du contrôle d’accès
## Rôle et fonctionnement des restricted SID
## Connaître les privilèges sensibles
## Définition du SDDL
## Principe de l’impersonation
## Définition et différences entre primary token et impersonate token
## Fonction CreateRestrictedToken : modifications appliquées aux tokens
## AppContainer : principe et protections appliquées