Académique Documents
Professionnel Documents
Culture Documents
SECURISER
SON ACTIVE DIRECTORY
LA CONNAISSANCE
SACCROIT QUAND
ON LA PARTAGE
INTRODUCTION............................................................................................ 7
1 CONCEVOIR UN ANNUAIRE SECURISE ET QUI REPOND AUX BESOINS
DE LENTREPRISE.......................................................................................... 8
1.1 LES NOTIONS FONDAMENTALES......................................................................... 8
1.2 ANALYSER LE BESOIN DE VOTRE ENTREPRISE.................................................. 10
1.3 CHOISIR UNE TOPOLOGIE ACTIVE DIRECTORY................................................. 11
1.3.1 Exception 1 : une socit avec des entits indpendantes............................ 11
1.3.2 Exception 2 : des applications qui modifient le schma Active Directory...... 11
1.3.3 Exception 3 : les hbergeurs.......................................................................... 12
1.3.4 Exception 4 : contraintes lgales.................................................................... 12
1.3.5 Exception 5 : travailler avec les concurrents.................................................. 12
1.3.6 Exceptions 6 : applications hberges dans le CLOUD.................................. 15
1.4 UTILISER ACTIVE DIRECTORY COMME ANNUAIRE DENTREPRISE................... 16
1.4.1 Synchroniser lannuaire avec dautres sources de donnes (bases RH)..... 17
1.4.2 Synchroniser Azure Active Directory avec Active Directory.......................... 18
1.4.3 Hberger les donnes de lentreprise dans lannuaire Active Directory........ 20
1.4.4 Comment et qui doit administrer ces attributs ?........................................... 22
1.4.5 Protger les attributs qui contiennent des donnes sensibles....................... 26
1.4.6 Permettre un utilisateur de visualiser la valeur dun attribut protg........ 29
1.5 RENFORCER LA SECURITE DU SERVICE DNS..................................................... 29
1.5.1 Quel est le lien entre Active Directory et le DNS ?........................................ 29
1.5.2 La mise jour DNS dynamique....................................................................... 31
1.5.3 Quelles sont les attaques possibles avec le service DNS............................... 38
1.5.4 Scuriser vos serveurs DNS............................................................................ 39
1.6 ELEVATION DE PRIVILEGE AVEC LUTILISATION DU SID HISTORY.................... 47
1.6.1 Faire une augmentation de privilge avec le SID History.............................. 48
1.6.2 Pour supprimer le SID History........................................................................ 55
8 ANNEXES............................................................................................... 211
INTRODUCTION
En cette fin danne 2014, de nombreuses tudes montrent que les DSI
ont 2 grandes priorits :
7
1 CONCEVOIR UN ANNUAIRE SECURISE ET
QUI REPOND AUX BESOINS DE LENTREPRISE
Un domaine est une partition dans une fort Active Directory. Le pro-
pritaire administratif par dfaut dun domaine est le groupe Domain
Admins de ce domaine. Le groupe Enterprise Admins qui dispose de
permissions sur tous les objets de tous les domaines de la fort se
trouve dans le domaine racine. Un administrateur du domaine racine
de la fort peut donc disposer de tous les droits sur tous les domaines
de la fort. Cest en gnral pour cette raison que le domaine racine
nest pas utilis dans les structures disposant dune fort avec plusieurs
domaines.
8
domaine A pour des utilisateurs / groupes / ordinateurs du domaine
B . Les utilisateurs du domaine B peuvent donc accder des
ressources du domaine A. Les relations dapprobation permettent entre
autres dtendre aux deux domaines la porte du groupe Authenticated
users. Ce groupe dispose par dfaut du droit douvrir une session sur
une station de travail Windows et de nombreuses permissions sur le
systme de fichiers.
Dans les forts en mode natif 2003, il est possible de crer des rela-
tions dapprobation de type Authentification slective. Avec ce type
dapprobation, la porte du groupe Authenticated users nest pas ten-
due. Pour permettre un utilisateur du domaine B daccder au ser-
veur SRV2012B du domaine A , ladministrateur du domaine A
doit donner le droit Allowed to authenticate au compte utilisateur du
domaine B au niveau du compte ordinateur SRV2012B dans le
domaine A
9
1.2 ANALYSER LE BESOIN DE VOTRE ENTREPRISE
10
1.3 CHOISIR UNE TOPOLOGIE ACTIVE DIRECTORY
Crer une fort avec un domaine pour chaque entit de la socit si ces
2 conditions sont remplies :
La direction de lentreprise souhaite pouvoir revendre cette entit
prochainement.
Les changes entre les utilisateurs de cette entit et ceux des autres
entits de la socit sont rduits (uniquement la direction).
Crer une fort avec un domaine pour hberger les applications qui
modifient le schma Active Directory. Cette rgle sapplique surtout
pour des applications dveloppes en interne qui ncessitent de crer
des attributs / classes dobjets spcifiques. Il nest en effet pas possible
de supprimer un attribut / classe dobjet ajout dans le schma Active
Directory. Elle sapplique partiellement pour les applications comme
Microsoft Exchange, Microsoft Lync. Microsoft teste la compatibilit
des extensions de schma entre ces diffrentes applications. On notera
cependant deux problmes connus :
Dans tous les cas, une mise jour du schma doit tre teste sur un
environnement de qualification copie conforme de lenvironnement de
production. Un pas pas complet pour crer ce type denvironnement
est fourni ladresse suivante : http://msreport.free.fr/?p=154.
13
1.3.5.3 Solution 3 : crer un domaine dans une nouvelle fort
14
1.3.6 EXCEPTIONS 6 : APPLICATIONS HEBERGEES DANS LE
CLOUD
15
ou un annuaire LDAP) et le renvoyer au Principal. Le Principal va
fournir ce jeton au fournisseur de service (lapplication Cloud). Lap-
plication Cloud va gnrer un cookie ou un ticket pour donner accs
lutilisateur de lapplication.
Lavantage de cette solution est que lhbergeur de lapplication na
pas un accs direct lannuaire. Lapplication a uniquement un accs
au serveur de fdration didentit.
La relation de confiance sapplique uniquement pour une application
spcifique. Le primtre de cette relation de confiance est donc plus
restreint que celui tabli avec une relation dapprobation.
Je vous invite lire la documentation de la solution Ping Fderate pour
mieux comprendre le fonctionnement des protocoles de fdration
didentit (exemple dimplmentation avec Office 365) :
http://documentation.pingidentity.com/display/PF66/
PDF+Downloads
http://documentation.pingidentity.com/pages/viewpage.ac-
tion?pageId=10518544
Il existe aussi une solution Open Source appele Shibboleth (https://
shibboleth.net/about).
Exemple dimplmentation avec Office 365 : http://technet.micro-
soft.com/fr-fr/library/jj205456.aspx
Active Directory est un annuaire LDAP standard qui peut tre utilis
pour hberger les donnes (coordonnes, information RH) de vos uti-
lisateurs comme le numro de tlphone, ladresse email, le numro
demploy, le type du compte utilisateur (prestataire, employ, compte
de service), le service, lentit ou la fonction.
Les applications qui sappuient sur lannuaire Active Directory comme
16
Exchange, Lync, SharePoint disposeront dun accs ces donnes. Un
utilisateur A pourra ainsi trouver via son client de messagerie (Out-
look, OWA) les coordonnes (tlphone, adresse) dun autre
utilisateur. Hberger les donnes RH de lentreprise dans lannuaire
Active Directory pose cependant les questions suivantes :
Comment rpliquer les donnes depuis les bases RH vers Active
Directory ?
Comment hberger lensemble des donnes au niveau de lannuaire
Active Directory ?
Comment et qui doit administrer ces attributs ?
Comment protger les attributs contenant des donnes sensibles ?
Comment faire pour quun utilisateur standard ne puisse pas visuali-
ser la valeur de certains attributs (avec des donnes confidentielles) ?
Comment synchroniser son annuaire Active Directory avec dautres
annuaires ?
Import-Module ActiveDirectory
$base = Import-Csv -Path C:\adm\base.csv -UseCulture
foreach ($line in $base)
{
New-ADUser -GivenName $($line.prenom) -Name $($line.
nom) -OfficePhone $($line.tel) -SamAccountName $($line.
login)
$passwd2 = ConvertTo-SecureString -String $($line.mdp)
-AsPlainText -force
Set-ADAccountPassword -Identity $($line.login)
-NewPassword $passwd2
Enable-ADAccount -Identity $($line.login)
}
17
1.4.2 SYNCHRONISER AZURE ACTIVE DIRECTORY AVEC ACTIVE
DIRECTORY
Prenons lexemple dune socit qui souhaite migrer vers Office 365
Entreprise Plan E3. Cette solution est en fait base sur les 6 produits
suivants qui sappuient tous sur un annuaire appel Azure Active Di-
rectory, (un mlange entre un annuaire Active Directory standard et un
annuaire Active Directory Lightweight Services)
Cet outil est en fait bas sur le moteur de Forefront Identity Manager
2010 Il va permettre :
19
De rpliquer ventuellement le mot de passe des utilisateurs dans
lannuaire Azure Active Directory. Cette solution permet en partie
dviter lutilisation dun protocole de fdration didentit mais co-
pie un driv du Hash du mot de passe de lutilisateur dans lannuaire
Azure Active Directory. Cela pourrait poser des problmes de scurit
mme si Microsoft sengage sur le fait quaucune fonction math-
matique ne permet de retrouver le Hash du mot de passe du compte
utilisateur Active Directory partir de la version copi du Hash du
mot de passe dans Azure Active Directory.
extensionAttribute1
extensionAttribute2
extensionAttribute15
msExchExtensionCustomAttribute1
msExchExtensionCustomAttribute5
21
1.4.4 COMMENT ET QUI DOIT ADMINISTRER CES ATTRIBUTS ?
Vous pouvez aussi utiliser des fichiers HTA. Ces fichiers permettent de
disposer dune interface au format HTML que vous couplez avec du
code VBSCRIPT.
Le site web http://bbil.developpez.com/tutoriel/vbs/inter-
face-hta/ permet de disposer des bases pour dvelopper son script
HTA.
22
Exemple dinterface dadministration pour les administrateurs
Active Directory :http://community.spiceworks.com/scripts/
show/573-aduc-update-utility
23
24
Exemple dinterface pour les quipes en charge de la rinitialisa-
tion des mots de passe :
http://www.bestintexas.com/Scripting/
25
Tous ces outils permettent donc de dlguer si besoin ladministration
des donnes de lannuaire des quipes non informatiques. Nous ver-
rons plus loin dans ce document comment dlguer les droits dadmi-
nistration ces utilisateurs.
Cette action ne peut pas tre effectue sur les attributs de base (avec
lattribut systemsFlags 0x10).
http://windowsitpro.com/active-directory/using-confidentia-
lity-bit-hide-data-active-directory
26
Vrifier que lattribut systemFlags est bien dfini sur 0x0 puis ajouter
la valeur 128 lattribut searchFlags. Avec ADSIEDIT.MSC on rentre
la valeur en dcimal (128) et elle saffiche ensuite en hexadcimal dans
linterface graphique dADSIEDIT.MSC.
28
1.4.6 PERMETTRE A UN UTILISATEUR DE VISUALISER LA VALEUR
DUN ATTRIBUT PROTEGE
Remarque :
Pour les attributs qui stockent le mot de passe Active Directory, cest
encore une autre type de protection.
29
tory. Elle va donc se connecter un des contrleurs du domaine sans
tenir compte de son emplacement rseau en rsolvant lentre DNS
_ldap._tcp.msreport.be. Dans notre cas notre domaine dispose de 2
contrleurs de domaine srv2012a.msreport.be et srv2012b.msreport.
be. Le serveur DNS dispose dune fonctionnalit appele Round Robin
(dans les proprits du serveur DNS) qui lui permet de slectionner
une entre DNS de manire alatoire quand plusieurs entres existent.
30
Les contrleurs de domaine utilisent une entre CNAME dans _msdcs.
msreport.be pour localiser les autres contrleurs de domaine. Chacune
de ces entres correspond en fait au GUID du contrleur de domaine.
Lentre DNS CNAME permet au contrleur de domaine de rsoudre
GUID._msdc.msreport.be en le FQDN du contrleur de domaine. Ce
FQDN est ensuite rsolu en une adresse IP ce qui permet au contrleur
de domaine srv2012a.msreport.be de rpliquer avec le contrleur de
domaine srv2012b.msreport.be.
Toutes ces entres DNS sont mises jour dynamiquement par les
contrleurs de domaine laide de la fonctionnalit de mise jour dy-
namique DNS. Le service NETLOGON de chaque contrleur de do-
maine va enregistrer les entres DNS du fichier c:\windows\system32\
config\netlogon.dns.
Les machines enregistrent par dfaut leur nom concatn leur suffixe
DNS car la case Register the connections address in DNS est coche
par dfaut au niveau des proprits TCP / IP avances de la carte rseau
(onglet DNS).
32
Pour information, Microsoft bloque lenregistrement DNS dynamique
quand le suffixe DNS correspond la zone racine ou un domaine de
premier niveau (comme .fr.). Cela permet dviter que les stations de
travail en groupe de travail essaient deffectuer une mise jour DNS
dynamique dans ce type de zones DNS.
Un client avait des problmes avec les valeurs de ces entres DNS de
type A (FQDN rsolue en une IP). Les imprimantes et les stations de
travail chez ce client taient en DHCP. Chaque tage dans les locaux
du client disposait dun VLAN (plage IP ddie).
Description du problme :
Certaines entres DNS correspondant des imprimantes ou des sta-
tions de travail taient rsolues avec lancienne adresse IP de la ma-
chine. Ce problme se posait si :
Cas 1 : le compte ordinateur Active Directory dune station de
travail Windows tait supprim puis recr.
Cas 2 : on dplaait une imprimante / machine non Windows entre
VLANS (mme serveur DHCP)
Cas 3 : si on dplaait une imprimante / machine non Windows
entre deux sites gographiques (changement de serveurs DHCP).
Cas 4 : si une personne de linformatique avait cr manuellement
lentre DNS dune station de travail / imprimante.
Cas 5 : si on avait rcemment chang de serveur DHCP (migration
de Windows 2003 vers Windows 2012 R2).
33
Do venait le problme ?
Il sagit tout simplement dun problme de permissions au niveau des
entres DNS !
Quand on intgre une zone DNS dans lannuaire Active Directory, les
entres DNS deviennent des objets (comme les comptes utilisateurs)
de type DNSNODE.
Ces objets ont des permissions. Or, pour pouvoir mettre jour ladresse
IP dune entre DNS de type A (type Hte, nom rsolu en IP), il faut
avoir le droit Ecrire sur lentre DNS (lobjet de type DNSNODE).
34
Comment configurer qui peut modifier une entre DNS cre
dynamiquement ?
Pour effectuer cette configuration, ouvrir la console DHCP et aller
dans les proprits du serveur DHCP.
Aller dans longlet DNS.
35
Prconisation de configuration :
37
1.5.3 QUELLES SONT LES ATTAQUES POSSIBLES AVEC LE SERVICE
DNS
38
1.5.4 SECURISER VOS SERVEURS DNS
1.5.4.1 Intgrer les zones DNS dans Active Directory et activer la mise
jour dynamique DNS scurise
Toutes les zones DNS doivent tre intgres dans lannuaire Active
Directory. Les zones DNS seront alors un objet DnsZone et les entres
DNS deviendront des objets DnsNode qui rpliqueront sur tous les
contrleurs de domaine. Si vous disposez de plusieurs domaines dans
la fort Active Directory, il est conseill de stocker les zones DNS dans
la ForestDnsZones (Choose how you want zone data to be replicated
: To all DNS servers running on domain controllers in this Forest :ms-
report.be)
39
Les zones hberges dans la partition dannuaire ForestDnsZones r-
pliquent sur tous les contrleurs de domaine de la fort qui disposent
du service DNS. Dans cette configuration, tous les serveurs DNS dis-
poseront dun accs en lecture / criture sur les zones DNS.
40
Il est recommand dautoriser uniquement la mise jour dynamique
scurise ou de dsactiver la mise jour dynamique DNS. Cette confi-
guration permet de dfinir des permissions sur la zone et les entres
DNS et permet de garantir quun attaquant ne pourra pas modifier les
entres DNS.
Le transfert de zone est le mcanisme natif du DNS qui permet aux ser-
veur(s) DNS qui hbergent la zone en lecture seule (zone secondaire)
de rpliquer avec le serveur qui hberge la zone en lecture / criture
(zone principale). Il est recommand de protger le trafic de rplication
entre ces serveurs en activant IPSEC (configuration au niveau du pare-
feu Windows ou via stratgie de groupe).
Le transfert dune zone DNS ne doit aussi tre autoris que depuis
certains serveurs (ceux qui hbergent une zone secondaire). Si vous
voulez viter que les zones DNS expirent (cela gnre souvent des
problmes de production), noubliez pas de configurer la notification.
Lorsquun changement est effectu dans la zone DNS, le serveur DNS
qui a la zone en lecture / criture notifie alors les serveurs DNS qui ont
la zone en lecture seule du changement. Ces derniers peuvent alors
rpliquer le changement.
41
1.5.4.3 Protger le cache du serveur DNS contre la pollution
42
Un attaquant peut arriver insrer une information incorrecte (exemple le
FQDN www.microsoft.com est rsolu en lIP 192.168.0.1 au lieu de
lIP 2.19.95.132) dans le cache dun serveur DNS. On parle alors de
pollution du cache DNS.
43
Pour plus dinformations sur ce rglage :
http://technet.microsoft.com/fr-fr/library/ee649174(v=ws.10).
aspx
3. Loption Secure cache against pollution permet aussi de
limiter le risque de pollution du cache DNS et se configure (active
par dfaut) au niveau des proprits du serveur DNS. Je vous invite
lire larticle http://support.microsoft.com/kb/316786 pour plus din-
formations sur cette option.
44
Cette option correspond au paramtre Cache Locking. Une procdure
de configuration est disponible cette adresse http://technet.micro-
soft.com/fr-fr/library/ee649148(v=ws.10).aspx.
45
On obtient le rsultat ci-dessous :
46
1.6 ELEVATION DE PRIVILEGE AVEC LUTILISATION DU
SID HISTORY
Pour ajouter un SID dans lattribut SID History, nous allons utiliser le
script SIDCloner disponible cette adresse :
https://code.msdn.microsoft.com/windowsdesktop/SIDClo-
ner-add-sIDHistory-831ae24b
47
1.6.1.1 Configurer la rsolution de nom DNS
49
Active Directory dtecte les suffixes UPN du domaine approuv. Les
suffixes UPN sont des noms de domaine alternatifs. Il est ainsi possible
davoir un UserPrincipalName (login) qui correspond son adresse
email. Les utilisateurs peuvent alors ouvrir leur session avec leur
adresse email comme login et leur mot de passe.
Confirmer ensuite la relation dapprobation (entrante et sortante).
Quand le filtrage des SID est activ, les SID contenus dans lattribut
SID History sont ignors.
La dsactivation du filtrage des SID History abaisse donc fortement le
niveau de scurit de votre annuaire Active Directory. Cette option est
cependant ncessaire dans le cadre des projets de fusion de 2 domaines
Active Directory avec des outils comme Microsoft ADMT ou Dell Mi-
gration Manager for Active Directory.
Exemple : vous souhaitez migrer les ressources du domaine tpo.net
(comptes utilisateurs, comptes ordinateurs, groupes, stations de travail
et serveurs membres du domaine) dans le domaine msreport.be.
51
1.6.1.5 Crer un compte service-admt dans le domaine tpo.net
52
param(
[parameter(Mandatory = $false)]
[String]$inFile
)
$errorPreference=Continue
#constants
$targetDomain=msreport.be
[System.Reflection.Assembly]::LoadFile(c:\_adm\SIDClo-
ner.dll) | Out-Null
#process parameters
#customize file/folder names
if([String]::IsNullOrEmpty($inFile)) { $inFile = c:\_adm\iden-
tities.csv }
#clear the log file
if([System.IO.File]::Exists(c:\_adm\CloneFailed.csv)) {
Remove-Item -path .\Log\CloneFailed.csv
}
$data=import-csv $inFile
## authenticate using implicit credentials
$i=-1
foreach($record in $data) {
try {
$i++
#uses credentials of logged-on user (or credentials
stored in Credentials Manager); works against PDC in both
domains
[wintools.sidcloner]::CloneSid(
$record.sourceSAMAccountName,
$record.sourceDomain,
$record.targetSAMAccountName,
$targetDomain
)
Write-Host Account $($record.sourceDomain)\$($re-
cord.sourceSAMAccountName) cloned
}
catch {
Write-Warning -message:Account $($record.source-
Domain)\$($record.sourceSAMAccountName) failed to
clone`n`tError:$($($_.Exception).Message) $($record.
sourceSAMAccountName),$($record.sourceDomain),$($re-
cord.targetSAMAccountName) >> c:\_adm\CloneFailed.
csv
}
53
Vous devez obtenir le rsultat suivant :
54
1.6.2 POUR SUPPRIMER LE SID HISTORY
55
2 LES BONNES PRATIQUES POUR DELEGUER
LADMINISTRATION DE SON ANNUAIRE
56
2.1.2 LES GROUPES AVEC DES PRIVILEGES DADMINISTRATION
Par dfaut, lorsquun domaine est cr, les utilisateurs et groupes dad-
ministration prsents dans le tableau ci-dessous sont crs.
57
Le script suivant permet de lister les membres directs et indirects des
principaux groupes dadministration Active Directory.
# For non US domain controller, please change the content
of $GroupsToManage
# Import Active Directory module
Import-Module ActiveDirectory
# Variables
$Users = @()
$ResultFile = c:\scripts\admins_accounts.txt
# List of groups managed by the solution
$Groups = @(Account Operators,Administrators,-
Backup Operators,Domain Admins,Domain Control-
lers,Enterprise Admins,Print Operators,Read-only
Domain Controllers,Schema Admins)
# List al users members of $Groups
ForEach ($Group in $Groups)
{
$Users += (Get-ADGroupMember -Identity $Group -Recur-
sive)
}
$Users = $Users | Sort-Object -Unique | Select-Object Sa-
mAccountName,ObjectClass,Sid
# Generate results files
$Resu = @{}
echo $Resu | Out-File $ResultFile
Foreach ($user in $Users)
{
foreach ($Group in $groups)
{
if (Get-ADPrincipalGroupMembership $($user.SamAc-
countName) | Where {$_.Name -eq $Group})
{
$Resu[$Group]= $True
}
else
{
$Resu[$Group]= $False
}
$Resu[User]= $($User.SamAccountName)
echo $Resu | Out-File -Append $ResultFile
}
58
2.1.3 COMMENT AUTORISER UN UTILISATEUR STANDARD A GERER
CERTAINS OBJETS DANS LANNUAIRE ACTIVE DIRECTORY
Le but est de ne pas ajouter cet utilisateur standard dans des groupes
avec des privilges dadministration important. Les objets dans Ac-
tive Directory disposent de permissions. Il est possible de visualiser
ces permissions dans longlet Security dun objet. Il faut configurer la
console Active Directory Users and Computers en mode daffichage
Advanced features pour cela.
Pour visualiser les permissions sur un objet, aller dans les proprits de
cet objet, puis dans longlet Security. Cliquer sur le bouton Advanced.
Chaque objet Active Directory dispose de permissions.
Il est possible de dlguer pour chaque classe dobjet (utilisateur,
groupe, units dorganisation, objets de stratgie de groupe, entre
DNS, zone DNS) le droit de Lire ou Ecrire sur chaque attribut de
cette classe dobjets. Cette dlgation dadministration peut tre effec-
tue au niveau du domaine, dune unit dorganisation ou directement
sur un objet (compte utilisateur, groupe).
59
Il est par exemple possible avec Active Directory de dlguer lquipe
RH le droit de mettre jour uniquement les attributs EmployeeID, Em-
ployeeType au niveau dune OU spcifique.
Prenons maintenant un cas un peu plus complexe :
Vous souhaitez dlguer des administrateurs du contenu de lan-
nuaire le droit de crer, modifier, supprimer et grer toutes les pro-
prits (tous les attributs) des comptes utilisateurs au niveau dune OU
appele Techdays.
Pour effectuer cette action, vous devez donc :
60
Dans lexemple ci-dessus This objects and all descendants objets cor-
respond lunit dorganisation (OU) Techdays et toutes les OU dans
cette OU.
Descendant User objets correspond tous les comptes utilisateurs
dans lOU Techdays.
On voit dans les captures ci-dessous que le groupe GG_Helpdesk_Tec-
hdays a uniquement le droit de crer et supprimer des comptes utilisa-
teurs dans lOU Techdays (et dans toutes ses sous OU).
61
Microsoft fournit lassistant Delegation of Control pour simplifier
la mise en uvre de la dlgation de contrle. Les captures dcran
ci-dessous montrent la procdure appliquer.
62
63
2.1.3.1 Les WellKnown Security Principals
64
SAM. Hors ce groupe Users a le droit douvrir une session sur les
machines membres du domaine.
65
Il se trouve aussi dans le conteneur ForeignSecurityPrincipal. Cet objet
permet dtendre le contenu du groupe Authenticated users tous les
comptes utilisateurs et ordinateurs qui ont ouvert une session sur un
domaine approuv (sans authentification slective).
66
Pour cette raison, les quipes dadministration disposent en gnral de
deux comptes :
Un compte pour se connecter sur les machines dadministration. Les
outils dadministration de lannuaire Active Directory doivent tre
installs sur ces machines.
Un compte standard sans aucun privilge dadministration sur lan-
nuaire pour accder la messagerie, Internet et autres applications de
lentreprise.
67
2.5 DESACTIVER LE COMPTE INVITE ET RENOMMER
LE COMPTE ADMINISTRATOR
68
LANSI propose aussi une rponse cette problmatique avec son ou-
til AD-Permissions :
http://www.ssi.gouv.fr/IMG/pdf/Audit_des_permissions_en_en-
vironnement_Active_Directory_article.pdf
Les sources dinstallation de loutil AD-Permission sont dispo-
nibles cette adresse :
https://github.com/ANSSI-FR/AD-permissions
Le principe ?
Quand un objet est dfini comme protg, lattribut AdminCount est
dfini 1 au niveau de cet objet.
Lhritage des permissions des objets parents dans lannuaire Active
Directory est alors dsactiv. Une tche planifie appele SDPROP
va recopier toutes les 60 minutes (intervalle configurable) les permis-
sions dfinies sur un objet modle appel AdminSDHolder au niveau
de chaque objet protg (comme le groupe Domain Admins).
Lobjet AdminSDHolder se trouve dans le conteneur SYSTEM la
racine de chaque domaine Active Directory.
69
Si on ajoute un utilisateur dans le groupe protg comme Domain
Admins, ce dernier est alors protg aussi. SDPROP va rinitialiser
les permissions de cet objet. On constate dans lexemple ci-dessous
que lobjet guillaume.mathieu (membre du groupe Domain Admins)
ne dispose daucune permission hrite et que ce dernier a les mmes
permissions que lobjet AdminSDHolder. Lobjet guillaume.mathieu a
aussi lattribut AdminCount la valeur 1.
70
Il est possible de dfinir quel intervalle de temps sexcute la tche
SDPROP en modifiant lentre de registre suivante :
HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters.\Ad-
minSDProtectFrequency
Microsoft fournit aussi une procdure pour lancer SDPROP manuel-
lement :
http://support.microsoft.com/kb/251343/en-us
Il est noter que lorsquun compte nest plus membre dun groupe
protg, lattribut AdminCount reste 1 et lhritage des permissions
nest pas rappliqu. Il faut alors ractiver lhritage manuellement au
niveau des permissions de lobjet. Ce problme est dcrit dans larticle
Microsoft suivant :
http://support2.microsoft.com/kb/817433/en-us
71
2.8 ACTIVER LA VEILLE ECRAN AVEC MOT DE PASSE
72
Procdure de dploiement :
Installer sur une machine membre du domaine le module PowerShell
Quest ActiveRoles Management Shell. Ce module peut tre tlcharg
ladresse suivante : http://software.dell.com/fr-fr/trials/#a
Crer le fichier c:\_adm\scripts\DisableUnusedAccount-180days.
ps1 sur un serveur.
Lancer PowerShell ISE et copier le code ci-dessous.
Configurer la variable $datelimit et crer une tche planifie pour lan-
cer ce script.
73
# Create headears of the report file
Echo DN;Name;DisplayName;SamAccountName;E-
mail;LastLogonTimeStamp (Format FR);WhenCreated
(Format FR) | Out-file -FilePath $fileresult -Encoding ASCII
# Generate report, update description field and disable
account
foreach ($user in $DATABASE)
{
$newdescription =
# Analyse et mise jour du champ description
if ($($user.description) -notlike *Compte de service*)
{
# Ajoute une nouvelle ligne au fichier rsultat
if ($user.LastlogonTimeStamp -ne $null)
{
$UserLastLogonTimeStamp = ($($user.LastlogonTimeS-
tamp).tostring(dd-MM-yyyy))
}
$UserWhenCreated = ($($user.whencreated).tostring(dd-
MM-yyyy))
echo $($user.DN);$($user.Name);$($user.Display-
Name);$($user.SamAccountName);$($user.Email);$UserLast-
LogonTimeStamp;$UserWhenCreated | Out-File -FilePath
$fileresult -append
# Dsactive le compte utilisateur
Disable-QADUser -Identity $($user.SamAccountName)
if (($($user.description)).length -lt 1024)
{
$newdescription = Ce compte a t dsactiv le +
$((get-date).tostring(DD-MM-yyyy)) + par votre adminis-
trateur - + $($user.description)
# Modification de la valeur du champ description
Set-QAduser -Identity $($user.SamAccountName) -Des-
cription $newdescription
}
else
{
$newdescription = Ce compte a t dsactiv le +
$((get-date).tostring(MM-dd-yyyy)) + par votre adminis-
trateur.
# Modification de la valeur du champ description
Set-QAduser -Identity $($user.SamAccountName) -Des-
cription $newdescription
}
}
}
74
2.10 LES OUTILS TIERS QUI PERMETTENT DE SIMPLI-
FIER LA DELEGATION DE LADMINISTRATION
Loutil Dell ActiveRoles Server 6.9 (ARS 6.9) intgre les fonction-
nalits suivantes pour rpondre ces besoins :
75
Une console web personnalisable : loutil est livr avec une
console MMC (trs difficilement personnalisable) et avec une console
web. Cette dernire peut tre totalement personnalise (modifica-
tions des formulaires de gestion des objets, ajout de commandes).
Prenons le cas dune entreprise qui utiliserait lattribut ExtensionAt-
tribute2 pour stocker les informations de licence Office 365. Cet
attribut nest pas prsent pas dfaut dans les proprits dun compte
utilisateur dans la console Active Directory Users and Computers.
76
Les policies (stratgies) : quel DSI na pas rv davoir un an-
nuaire jour avec des informations fiables et respectueuses du forma-
lisme valid. Avec les policies ARS, vous pouvez obliger les quipes
en charge de la gestion de lannuaire saisir certains champs avec un
formalisme particulier (numro de tlphone au format international,
nom de famille en majuscule, champ socit et adresse complts).
ActiveRoles Server permet via le module Script Policies dexcuter
des scripts VBS / PowerShell avant ou aprs la saisie (entre autres)
dun formulaire. Rien ne vous empche de configurer automati-
quement les accs aux applications lors de la cration dun compte
utilisateur (provisionning).
77
Le deprovisionning : ActiveRoles Server dispose aussi de la fonc-
tion de deprovisionning qui va nous permettre de dfinir un certains
nombres de tches effectuer automatiquement quand on veut
supprimer des accs une personne (le compte peut tre dsactiv,
excution dun script qui va supprimer des accs aux niveaux dune
application).
78
3 DEFINIR UNE POLITIQUE DE MOTS DE
PASSE DENTREPRISE
De lister tous les comptes qui nont pas chang de mots de passe
depuis plusieurs annes.
Comment, pourquoi et o sont stocks les mots de passe sur les
machines du domaine (autres que les contrleurs de domaine).
De dfinir enfin partir de tous ces lments une stratgie de mots
79
de passe cible en coordination avec la direction de lentreprise, les
quipes Helpdesk (en charge de la rinitialisation des mots de passe)
et les reprsentants du personnels.
80
3.2 REDUIRE LE NOMBRE DE LOGIN / MOTS DE PASSE
DIFFERENTS
81
Sur un contrleur de domaine Active Directory :
Gnrer un fichier Keytab avec la commande suivante :
ktpass /out msreporthttp.keytab /princ HTTP/apache.msreport.
be@MSREPORT.BE /mapuser msreporthttp@MSREPORT.BE
/ptype KRB5_NT_PRINCIPAL /crypto RC4-HMAC-NT /pass
msreporthttppass
Cela va automatiquement crer un ServicePrincipalName (SPN) au ni-
veau du compte utilisateur msreporthttp et gnrer le fichier msrepor-
thttp.keytab requis pour mettre en uvre lauthentification Kerberos.
Nous verrons plus loin dans ce document ce quest un ServicePrinci-
palName.
82
3.2.4 UTILISER LES PROTOCOLES DE FEDERATION DIDENTITE
Les DSI sont de plus en plus nombreuses basculer sur des applica-
tions hberges dans le Cloud comme Microsoft Office 365 ou Sales-
Force. Ces solutions prsentent de nombreux avantages mais contri-
buent multiplier le nombre de logins / mots de passe que lutilisateur
doit mmoriser.
83
3.3 LES OUTILS DE GESTION DE MOTS DE PASSE
MICROSOFT
84
Lhistorique des mots de passe :
Active Directory va mmoriser un certain nombre danciens mots de
passe dans lattribut ntPwdHistory du compte utilisateur (et lmPwd-
History si le stockage des mots de passe au format LMHASH est ac-
tiv). Lhistorique des mots de passe va empcher un utilisateur de
changer son mot de passe avec un mot passe prsent dans lhistorique.
Un administrateur pourra cependant rinitialiser le mot de passe avec
une valeur prsente dans lhistorique des mots de passe.
86
Dans lexemple ci-dessous, on cre une stratgie de mots de passe pour
tous les utilisateurs membres du groupe GG_Administrative_Accounts.
Mieux vaut dfinir une stratgie de mots passe granulaire qui reprend
au minimum les paramtres de scurit de la Default Domain Policy.
Cest en effet le cumul le plus restrictif des deux qui sappliquent
lutilisateur. Dans lexemple ci-dessous, la Default Domain Policy
exige un mot de passe de 8 caractres. Lobjet PSO exige 15 caractres.
Lutilisateur membre du groupe GG_Administrative_Accounts devra
disposer dun mot de passe de 15 caractres.
87
3.4 LES OUTILS TIERS DE GESTION DES MOTS DE
PASSE
La complexit des mots de passe est gre par la DLL Microsoft Win-
dows Passfilt.dll. Il est possible de dvelopper une DLL additionnelle
pour imposer lutilisation de mots de passe plus complexes et de
configurer Windows pour grer cette seconde DLL. Pour simplifier,
les deux DLL vont analyser le mot de passe fourni par lutilisateur. Si
88
les deux renvoient True alors le mot de passe est accept. Dans le cas
contraire, un message derreur apparat et le changement / rinitialisa-
tion du mot de passe est refus. Lensemble des informations fournies
par Microsoft pour dvelopper une DLL personnalise est disponible
cette adresse :
http://msdn.microsoft.com/en-us/library/ms721766.aspx
http://msdn.microsoft.com/en-us/library/ms721849.as-
px#password_filter_functions
http://msdn.microsoft.com/en-us/library/ms721884.aspx
http://msdn.microsoft.com/en-us/library/ms722458.aspx
89
garantir quun attaquant narrivera pas trouver le mot de passe en
moins de 86400 tentatives.
Activer le verrouillage de compte sur des seuils trs bas (trs checs
de mots de passe) va surtout bloquer les utilisateurs maladroits ou qui
ne se rappellent plus de leur mot de passe. Mieux vaut configurer le
verrouillage de comptes sur des seuils importants et comptabiliser ces
checs dauthentification sur une priode de temps plus longue. Mi-
crosoft bloque le seuil 999 tentatives. La dure de prise en compte
avec rinitialisation du compteur dchec de mots de passe va aussi
dfinir la dure du verrouillage des comptes (contrainte de la solution
Microsoft).
90
machines du domaine. En cas de compromission dun service avec
un outil comme METASPLOIT, un attaquant peut rcuprer les accs
correspondant au compte utilisateur qui excute ce service (dans notre
exemple, un compte membre du groupe Domain Admins). Il peut aussi
rcuprer le mot de passe du compte de service en analysant la m-
moire du processus LSASS.EXE de la machine avec un outil comme
CAIN (pour plus dinformations, voir plus loin dans ce document).
91
(KDC) qui modifie le mot de passe dun gMSA.
Le mme objet gMSA peut donc tre utilis sur diffrentes machines.
Le service FailOver cluster ne doit pas sexcuter avec un gMSA mais
les services hbergs par le cluster peuvent sexcuter avec un gMSA.
Cette fonctionnalit ntait pas possible avec un objet MSA. On no-
tera que les gMSA ne sont pas encore supports avec Microsoft SQL
Server 2012 (contrairement au MSA). Je vous invite lire les articles
Microsoft suivant sur les gMSA :
http://blogs.technet.com/b/askpfeplat/archive/2012/12/17/
windows-server-2012-group-managed-service-accounts.aspx
http://technet.microsoft.com/en-us/library/jj128431 (US)
http://technet.microsoft.com/fr-fr/library/hh831782.aspx (FR)
Les MSA et les gMSA sont stocks dans le conteneur Managed Ser-
vice Account la racine du domaine.
Il est ncessaire didentifier les comptes qui nont pas chang de mots
de passe depuis plus de 5 10 annes (configurs avec un mot de passe
qui nexpire jamais). Il sagit gnralement danciens comptes de ser-
vices gnriques, non nominatifs, connus de toute lquipe informa-
tique et de salaris / prestataires qui ne font plus partie de la socit,
dont lusage est mal connu (plusieurs applications utilisent le mme
compte de service).
Lapproche :
93
services, vous devez le rinitialiser avec sa valeur actuelle un nombre
de fois qui correspond la valeur de lhistorique des mots de passe
+ 1 aprs avoir dsactiv le stockage des mots de passe au format
LMHASH (voir plus loin dans ce document). Si lhistorique des mots
de passe est de 15 mots de passe, vous devez rinitialiser 16 fois le
mot de passe.
Si le mot de passe ne respecte pas les exigences de complexit, il sera
ncessaire de modifier temporairement la Default Domain Policy pour
pouvoir redfinir ce mot de passe lidentique (pour les cas vraiment
bloquants).
Vous devez faire cette action mme si vous avez dsactiv le chiffre-
ment au format LMHASH. Le LMHASH nest supprim au niveau
dun compte existant de lattribut dBCSPwd que lorsque lon change
le mot de passe du compte utilisateur.
Quelques astuces techniques :
La commande PowerShell suivante permet de lister les comptes dont
le mot de passe na pas t chang depuis 365 jours. Elle ncessite
le dploiement du module PowerShell Dell ActiveRoles Management
Shell 1.6 et fonctionne avec des contrleurs de domaine Windows
2003 et versions ultrieures (tlchargeable gratuitement sur
http://software.dell.com/fr-fr/trials/#a).
Add-PSSnapin Quest.ActiveRoles.ADManagement
Get-QADUser PasswordNotChangedFor 365
94
Pour cette raison, il est conseill de rinitialiser priodiquement le mot
de passe de ces comptes (une fois tous les 6 mois). Cette action doit
tre effectue quand lutilisateur ne travaille pas.
95
3.10 LE STOCKAGE DES MOTS DE PASSE AVEC AC-
TIVE DIRECTORY
96
Aprs changement du mot de passe du compte guillaume.mathieu, lat-
tribut dBCSPwd reste toujours inaccessible (affich Not set).
97
7 bits, un bit 0 afin dobtenir une valeur sur 64 bits (8 octets) qui sera
utilis comme une cl de chiffrement DES.
5. Chacune des 2 cls DES est utilise pour chiffrer la chane de carac-
tre KGS!@#$% . Le rsultat (64 bits) des 2 oprations est conca-
tn pour obtenir une valeur de 16 octets (128 bits). Cette valeur est
le LMHASH.
Pour rsumer :
LM = DES(Password[0..6], KGS!@#$%) | DES(Password[7..13],
KGS!@#$%)
On peut donc dire que dun mot de passe stock sous forme de NTHASH
est relativement scuris sil respecte toutes les conditions suivantes :
3.11.1 LA PROCEDURE
Nous allons voir dans la partie suivante comment crer une copie de
lannuaire et de la monter comme une simple base LDAP avec loutil
LIBESEDB. Loutil NTDSXtract permettra dextraire la valeur des
attributs UnicodePwd, ntPwdHistory, dBCSPwd et lmPwdHistory.
99
3.11.1.1 Rcuprer le fichier NTDS.DIT et SYSTEM
101
3.11.1.4 Tlcharger et installer NTDSXtract
cp /root/libesedb-20141110/ntds.dit.export/datatable.3 /root/
NTDSXTRACT/datatable.3
cp /root/libesedb-20141110/ntds.dit.export/link_table.5 /root/
NTDSXTRACT/link_table.5
cd /root/NTDSXTRACT
python ./dsusers.py datatable.3 link_table.5 --passwordhashes
SYSTEM
103
Bad password time 2013-08-15 12:29:32.988494
Logon count: 18
Bad password count: 0
User Account Control:
NORMAL_ACCOUNT
PWD Never Expires
Ancestors:
$ROOT_OBJECT$ intra tphat Utilisateurs Guillaume Mathieu
Password hashes:
Guillaume Mathieu:$NT$13b29964cc2480b4ef454c59562e675c:::
Guillaume Mathieu:11cb3f697332ae4c4a3b108f3fa6cb6d:::
Le rsultat ci-dessous :
Record ID: 5768
User name: Guillaume Mathieu
User principal name: guillaume.mathieu@tphat.intra
SAM Account name: guillaume.mathieu
SAM Account type: SAM_NORMAL_USER_ACCOUNT
GUID: 1eaee5d6-5f8f-4e8c-a840-31caddad6755
SID: S-1-5-21-2163606747-459301225-4249714960-1121
When created: 2013-08-05 08:12:08
When changed: 2013-08-17 18:20:58
Account expires: Never
Password last set: 2013-08-17 18:20:58.095203
Last logon: 2013-08-15 12:30:01.708144
Last logon timestamp: 2013-08-12 18:41:32.890748
Bad password time 2013-08-15 12:29:32.988494
Logon count: 18
Bad password count: 0
User Account Control:
NORMAL_ACCOUNT
PWD Never Expires
Ancestors:
$ROOT_OBJECT$ intra tphat Utilisateurs Guillaume Mathieu
Password hashes:
Guillaume Mathieu:$NT$13b29964cc2480b4ef-
454c59562e675c:::
Guillaume Mathieu:11cb3f697332ae4c4a3b108f3fa6cb6d:::
104
Password history:
Guillaume Mathieu_nthistory0:$NT$13b29964cc2480b4ef-
454c59562e675c:::
Guillaume Mathieu_nthistory1:$NT$13b29964cc2480b4ef-
454c59562e675c:::
Guillaume Mathieu_nthistory2:$NT$13b29964cc2480b4ef-
454c59562e675c:::
Guillaume Mathieu_nthistory3:$NT$13b29964cc2480b4ef-
454c59562e675c:::
Guillaume Mathieu_lmhistory0:11cb3f697332ae4c4a3b108f-
3fa6cb6d:::
Guillaume Mathieu_lmhistory1:11cb3f697332ae4c4a3b108f-
3fa6cb6d:::
Guillaume Mathieu_lmhistory2:99d1842dae7ba-
d31a5615a0b1741a415:::
Guillaume Mathieu_lmhistory3:ce2f42bb6280e-
bf4b01331c7e77ec962:::
106
Faire la mme action au niveau de la GPO Default Domain Policy.
Changer le mot de passe de tous les comptes utilisateurs et ordinateurs.
Vous pouvez forcer les utilisateurs changer leur mot de passe en co-
chant la case User must change password at next logon.
Vous pouvez rinitialiser avec la mme valeur de mot de passe tous les
comptes de services. Le mot de passe dun compte ordinateur change
tous les 30 jours donc je vous propose dattendre. Ces 2 actions per-
mettront de supprimer la valeur de lattribut dBCSPwd.
Pour supprimer les valeurs de lattribut lmPwdHistory (historique
des mots de passe au format LMHASH), il faudra changer les mots
de passe un nombre de fois correspondant lhistorique des mots de
passe. Cela ne pose pas de problmes avec les comptes de services car
vous pouvez connatre leur mot de passe.
107
Pour les comptes utilisateurs je vous propose lastuce suivante :
Rinitialiser tous les comptes des utilisateurs avec un mot de passe
par dfaut. Communiquer ce nouveau mot de passe aux utilisateurs en
cochant la case User must change password at next logon au niveau du
compte utilisateur. Lutilisateur changera ainsi son mot de passe la
prochaine ouverture de session.
Une mthode moins thique est de retrouver tous les mots de passe
avec la procdure du paragraphe prcdent et de les rinitialiser avec
la mme valeur. Cocher ensuite la case User must change password
at next logon pour perdre la connaissance du mot de passe de tous les
utilisateurs.
108
3.12 RECUPERER LE MOT DE PASSE DUN
UTILISATEUR AVEC LE NTHASH
3.12.1 LA PROCEDURE
109
Le mot de passe saffiche alors en clair : P@ssword.
Vous pouvez aussi utiliser un outil comme OPHCRACK
(http://ophcrack.sourceforge.net) et linstaller sur une ma-
chine qui dispose de 2 To despace disque disponible. Lou-
til sappuie sur un ensemble de tables dont certaines sont
fournies gratuitement et dautres sont payantes. Si vous utilisez uni-
quement les tables gratuites, vous avez besoin de 5,02 Go despace lib
110
111
Une vido de prsentation dOPHCRACK st disponible cette
adresse :
https://www.youtube.com/watch?v=x4WfTdlmwyY
Linstallation est trs simple et tlcharge automatiquement 4 tables
(Vista Free, Vista probabilistic free, XP Free et XP free Small). Il faut
tlcharger manuellement la table Vista num cette adresse
http://ophcrack.sourceforge.net/tables.php. Les tables XP Free et
XP free small permettent de casser le LMHASH. Nous les dsactive-
rons donc.
112
113
3.12.2 COMMENT PROTEGER SES MOTS DE PASSE
Vous devez renforcer la scurit de votre annuaire pour viter quun at-
taquant rcupre des privilges dadministration sur lannuaire comme
Administrators, Domain Admins, Enterprise Admins. Il pourrait alors
faire une sauvegarde de lannuaire ou gnrer un IFM.
115
3.13 PROTEGER LES MOTS DE PASSE STOCKES SUR
LES MACHINES WINDOWS
116
Si on dveloppe la cl Secrets, on peut voir quil y a une sous cl
pour le service VMware Tools appele _SC_VMTools. Cette cl
contient son tour 5 cls
117
3.13.2 LE CACHE DES SESSIONS WINDOWS
Une fois que vous avez valuez votre besoin et que vous avez une
ide des solutions techniques mettre en uvre, vous devez organiser
des runions avec la direction de lentreprise, les quipes en charge de
la rinitialisation des mots de passe et les reprsentants du personnel.
Rien ne pourra tre effectu sans eux ou contre eux.
120
4 RENFORCER LA SECURITE DES
PROTOCOLES DAUTHENTIFICATION
122
S en sauthentifiant avec le protocole NTLM V2. Le client C et le
serveur S sont tous les deux membres du domaine msreport.be.
124
SI vous spcifiez une adresse IP pour vous connecter un partage,
vous ne pourrez pas vous authentifier avec le protocole Kerberos car
lattribut ServicePrincipalName ignore les entres avec des adresses
IP. Vous devez utiliser le protocole dauthentification NTLM V2 pour
ce scnario.
126
La cl secrte du client C (KC) est drive du mot de passe du
compte utilisateur en fonction de lalgorithme de chiffrement Kerbe-
ros utilis (des-cbc-md5, aes128-cts-hmac-sha1, aes256-cts-hmac-
sha1, rc4-hmac-MD5)
La cl secrte du serveur S (KS) est drive du mot de passe du
compte ordinateur car le service Server (partage de fichiers) sex-
cute dans le contexte du compte System soit du compte ordinateur
du serveur S en fonction de lalgorithme de chiffrement Kerberos
utilis (des-cbc-md5, aes128-cts-hmac-sha1, aes256-cts-hmac-sha1,
rc4-hmac-MD5)
La cl KKDC est drive du mot de passe du compte utilisateur
KRBTGT en fonction lalgorithme de chiffrement Kerberos utilis
(des-cbc-md5, aes128-cts-hmac-sha1, aes256-cts-hmac-sha1, rc4-
hmac-MD5). Comme ce mot de passe rplique sur tous les contr-
leurs de domaine (comme tout objet), la cl KKDC est la mme sur tous
les contrleurs de domaine.
127
Les cls KC, KS, KKDC ont une dure de vie importante car :
Par dfaut le mot de passe des comptes ordinateurs change tous les 30
jours.
La dure de vie des mots de passe des comptes utilisateurs est gnra-
lement de plusieurs dizaines de jours (selon les stratgies de mots de
passe).
Le compte KRBTGT na pas loption Password never expires. Lat-
tribut pwdLastSet montre que le mot de passe a t dfini le 10 mars
2014 (lors de la cration du domaine). Le fait que le mot de passe ait
expir (90 jours dans cette configuration) nest pas un problme car ce
compte ne sert pas pour ouvrir une session. Seule la valeur du mot de
passe est importante pour lauthentification Kerberos.
128
Le protocole dauthentification Kerberos standard permet lauthentifi-
cation mais ne permet pas le contrle des accs. En effet, le modle du
contrle daccs de Windows est bas sur les SID (Security Identifier).
Microsoft a donc dvelopp le protocole PAC qui est une extension
du protocole Kerberos. Le protocole PAC permet de rcuprer depuis
lannuaire le SID de lutilisateur et des groupes auxquels il appartient
(dont SID History) et de les stocker dans le champ Authorization Data
du TGT.
Windows gnrera ensuite partir des informations du TGT un jeton
daccs qui sera utilis pour contrler les accs de chaque processus
lanc par lutilisateur.
http://www.ssi.gouv.fr/IMG/pdf/Aurelien_Bordes_-_Secrets_d_
authentification_episode_II_Kerberos_contre-attaque.pdf
http://blogs.msdn.com/b/openspecification/ar-
chive/2011/05/31/windows-configurations-for-kerberos-sup-
ported-encryption-type.aspx
129
4.4 LA DELEGATION DAUTHENTIFICATION KERBEROS
130
4.5 LES BONNE PRATIQUES POUR RENFORCER LA
SECURITE DE LANNUAIRE ACTIVE DIRECTORY
131
Il est recommand de gnrer un certificat bas sur le modle Domain
Controller sur tous les contrleurs de domaine. Il sera alors possible
deffectuer un LDAP Simple Bind scuris laide dune connexion
SSL / TLS.
133
Pour vrifier que le nouveau rglage est en production, lancer lutili-
taire LDP.EXE.
Cliquer sur Connection | Connect. Entrer lIP du contrleur de do-
maine. Ne pas cocher la case SSL.
Lannuaire envoie cette information :
supportedSASLMechanisms (4): GSSAPI; GSS-SPNEGO; EXTER-
NAL; DIGEST-MD5;
Aller ensuite dans Connection | Bind.
Saisir le nom de votre utilisateur et slectionner la case Simple bind.
134
Installer Active Directory Certificate Services (voir procdure en an-
nexe) sur un serveur membre. Crer une autorit de certification racine
dentreprise (une autorit de certification 1 tiers est suffisante pour la
dmonstration).
Par dfaut les contrleurs de domaine Windows 2012 R2 sont configu-
rs pour obtenir un certificat de type Domain controller via lautoen-
rollment. Pour forcer la gnration du certificat, taper la commande
gpupdate /force sur le contrleur de domaine Windows 2012 R2. Vous
devez maintenant disposer dun certificat de type Domain Controller.
135
Vous pouvez maintenant parcourir lannuaire Active Directory.
Pour identifier les applications qui effectuent des LDAP Simple Bind,
il faut filtrer le journal dvnement sur lID 2887 comme indiqu dans
larticle http://support.microsoft.com/kb/935834/en-us.
137
Dans ce mode, tout le trafic NTLM est interdit sauf celui pour les ma-
chines ajoutes dans le paramtre de GPO Network security: Restrict
NTLM: Add server exceptions for NTLM authentication in this do-
main. Louverture de session avec un compte de la base SAM locale
sur une machine Windows se fait toujours en NTLM aussi.
138
Pour dsactiver NTLM V2, il est donc ncessaire de vrifier si toutes
vos applications qui sauthentifient avec des comptes utilisateurs Ac-
tive Directory supportent Kerberos et si vous avez cr tous les Ser-
vicePrincipalName requis.
Si le protocole NTLM est dsactiv, laccs une application via son
IP nest plus possible. Le message derreur The network name cannot
be found.
Pour vous aider dans cette tche, il est possible dactiver un paramtre
de GPO qui va crer un log avec toutes les applications / machines qui
utilisent le protocole NTLM au niveau du journal Applications and
Services Log/Microsoft/Windows/NTLM. Ce paramtre ncessite de
disposer de contrleur de domaine Windows 2008 R2.
Je vous invite lire ces deux articles pour plus dinformations sur com-
ment bloquer lauthentification LM et NTLM V1, NTLM V2.
http://blogs.technet.com/b/askds/archive/2009/10/08/nt-
lm-blocking-and-you-application-analysis-and-auditing-metho-
dologies-in-windows-7.aspx
http://technet.microsoft.com/en-us/library/jj865680(v=ws.10).
aspx
http://technet.microsoft.com/en-us/library/jj865671(v=ws.10).
aspx
139
4.5.4 AUTORISER UNIQUEMENT LES ALGORITHMES DE CHIFFRE-
MENT AES128_HMAC_SH1 ET AES256_HMAC_SH1 AVEC KERBEROS
140
Ce rglage peut poser problme avec certaines applications. Il sera
donc ncessaire de valider le bon fonctionnement de vos applications
aprs mise en uvre. Je vous invite lire les articles ci-dessous qui en
parlent:
http://technet.microsoft.com/en-us/library/dd560670(v=WS.10).
aspx
http://windowsitpro.com/security/q-can-default-encryp-
tion-types-kerberos-authentication-protocol-uses-win-
dows-7-and-windows-
https://dirteam.com/sander/2014/07/15/security-thoughts-le-
veraging-ntlm-hashes-using-kerberos-rc4-hmac-encryp-
tion-aka-aorato-s-active-directory-vulnerability/
141
4.5.5 CONFIGURER LA SYNCHRONISATION HORAIRE
142
Comment faire si tous vos contrleurs de domaine sont des ma-
chines virtuelles ?
Tous les serveurs de virtualisation (comme Hyper-V, VMware ESX)
doivent se synchroniser manuellement et directement sur le mme ser-
veur de temps que lEmulateur PDC du domaine racine de la fort. Si
vous disposez dHyper-V, il faut appliquer la mme commande que
pour lEmulateur PDC.
w32tm /config /computer:<<HYPERV>> /manualpeerlist:time.
windows.com /syncfromflags:manual /update
Pour autres machines virtuelles (dont les contrleurs de domaine), on
reste sur le rglage standard prsent ci-dessus.
http://blogs.technet.com/b/nepapfe/archive/2013/03/01/
it-s-simple-time-configuration-in-active-directory.aspx
http://technet.microsoft.com/fr-fr/library/dd723673(v=ws.10).
aspx
Une bonne pratique est de dfinir loption Account is sensitive and can-
not be delegated sur tous les comptes utilisateurs avec des privilges
dadministration sur lannuaire Active Directory.
143
144
4.6 ELVATION DE PRIVILGE AVEC LATTAQUE NTLM
PASS THE HASH (NTLM) ET PASS THE TICKET (KERBE-
ROS)
145
Comme il nest pas toujours possible (mme avec des rainbow tables)
de rcuprer le mot de passe en clair partir du NTHASH, lattaquant
va simuler le fonctionnement dune ouverture de session rseau avec
le protocole NTLM. Le dtail de cet change est prsent ci-dessous :
146
4.6.2 LA PROCEDURE POUR UNE ATTAQUE NTLM PASS THE HASH
Les principaux outils pour faire une attaque NTLM Pass the Hash
fonctionnant sous Windows 7 sont :
147
5 LE GESTION DES ACCES AVEC ACTIVE
DIRECTORY
148
Le SID est stock au niveau de lattribut objectSid qui est gr par le
systme. Un administrateur ne peut pas modifier la valeur de cet attri-
but ou affecter le SID dun compte utilisateur qui a t supprim un
autre compte utilisateur (do la problmatique dune suppression de
compte accidentelle).
149
Pour afficher le SID dun utilisateur, utilisez la console ADSIEDIT.
MSC, lditeur dattribut dans des consoles Active Directory Users
and Computers et Active Directory Administrative Center ou loutil
PSGETSID
(http://technet.microsoft.com/en-us/sysinternals/bb897417.
aspx).
Certains SID saffichent sous la forme suivante : S-1-5-32-544, S-1-
5-32-545. Il sagit du SID des groupes par dfaut de la base SAM ou
dentits de scurits connues (Well-known Security Principal) comme
Authenticated Users.
Le SID (attribut objectSid) ne doit pas tre confondu avec le GUID
(objectGuid) qui lui est lidentifiant unique dun objet dans la fort
Active Directory.
Quand un poste est migr dun domaine (NT4, Samba ou Active Di-
rectory) vers un autre domaine avec un outil de migration comme Mi-
crosoft ADMT ou Dell Migration Manager for Active Directory, le SID
du compte utilisateur de lancien domaine (domaine source) peut tre
recopi dans lattribut SIDHistory du compte utilisateur du nouveau
domaine (domaine cible). Cette opration permet une migration entre
deux domaines en douceur. Nous verrons plus loin dans ce document
que lutilisation du SID History (attribut SidHistory) pose des pro-
blmes de scurit. Pour plus dinformations sur les migrations avec
Microsoft ADMT, consulter les liens suivants :
http://msreport.free.fr/?p=443
http://www.microsoft.com/en-US/download/details.as-
px?id=19188
150
5.2 LES PERMISSIONS
Les permissions NTFS (onglet Security dans les proprits dun dos-
sier / fichier) sont bases sur 13 permissions. La permission la plus im-
portante est Take ownership. Elle permet de devenir propritaire dun
fichier / dossier. Hors le propritaire dun fichier / dossier peut modifier
les permissions et se donner un accs aux fichiers / dossiers.
Les permissions sur les entres de registre sont bases sur 11 permis-
sions. La permission la plus importante est Write owner. Elle permet de
devenir le propritaire de la cl ou de lentre de registre. Le propri-
taire dispose du droit de modifier les permissions.
Les permissions sur les objets Active Directory sont beaucoup plus
complexes. Je vous invite consulter la partie 2 de ce document
Les bonnes pratiques pour dlguer ladministration de son annuaire
active directory pour plus dinformations.
153
ou non un utilisateur / ordinateur faire de la dlgation Kerberos.
154
5.4 LES PROCESSUS
155
Windows utilise SVCHOST (c:\windows\system32\svchost.exe)
pour charger certains services Windows. Plusieurs instances de
Svchost.exe peuvent tre excutes simultanment. Chaque instance
peut excuter un ou plusieurs services (dit groupe de services). Tous
les groupes de services grs par SVCHOST se trouvent dans la cl de
registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Cur-
rentVersion\Svchost
156
Tous les services dun mme groupe de services SVCHOST sex-
cutent dans le mme processus (c:\windows\system32\svchost
-k nom_du_group_services_Svchost) et sexcutent donc dans le
contexte du mme compte utilisateur. On peut voir ce fonctionnement
dans le gestionnaire de tches Windows. (onglet processus).
157
Pour plus dinformations sur SVCHOST : http://support.microsoft.
com/kb/314056/fr
158
Avec la fonctionnalit Windows Service Hardening, chaque service
peut maintenant disposer dun SID. Cela se dfinit au niveau du para-
mtre SidType dun service qui peut avoir 3 valeurs :
None : le service ne disposera pas dun SID.
Unrestricted : le service disposera dun SID.
Restricted : le service disposera dun SID et dun jeton restreint
(mme principe que lUAC).
Chaque service peut alors disposer dun SID ce qui va permettre de
donner des droits sur le systme de fichiers, entres de registre Win-
dows ce service.
Je vous invite lire ces deux articles pour plus dinformations sur la
fonctionnalit Windows Service Hardening.
http://blogs.technet.com/b/askperf/archive/2008/02/03/
ws2008-windows-service-hardening.aspx
http://blogs.msdn.com/b/sql_protocols/archive/2009/09/21/
connection-from-a-windows-service-could-be-blocked-by-
firewall-even-if-firewall-is-disabled.aspx
159
5.6 LES JETONS DACCES (ACCESS TOKEN)
160
Si on sest authentifi avec le protocole Kerberos, le jeton daccs est
gnr laide des informations du champ PAC du TGT. Le champ
PAC contient les SID du compte utilisateur et de tous les groupes aux-
quels lutilisateur appartient directement et indirectement.
161
5.7 ELEVATION DE PRIVILEGE PAR REUTILISATION DU
JETON DACCES DUN AUTRE UTILISATEUR
INCOGNITO duplique tous les jetons daccs et les regroupe par uti-
lisateurs. Cest cette tape que loutil a besoin du privilge SeDe-
bugPrivilege (Debug programs) car ce privilge lui permet douvrir
nimporte quel processus, daccder son espace mmoire et copier
ses ressources.
Une fois la liste des jetons daccs obtenue, loutil va pouvoir lancer de
nouveau processus en tant quun autre utilisateur en utilisant les jetons
daccs quil a copi. Loutil va pouvoir utiliser la fonctionnalit dim-
personation pour utiliser le jeton daccs associ un processus via
lAPI ImpersonateLoggedOnUser. Cette action ncessite le privilge
SeImpersonatePrivilege (Impersonate a client after authentication).
Pour plus dinformations voir :
http://msdn.microsoft.com/en-us/library/windows/desktop/
aa378612(v=vs.85).aspx
Loutil va crer un nouveau processus quil associe un jeton daccs
(utilisation de lAPI CreateProcessAsUser. Cette action ncessite le
privilge SeAssignPrimaryTokenPrivilege (Replace a process-level
token).
162
Pour plus dinformations :
http://www.offensive-security.com/metasploit-unleashed/Fun_
With_Incognito
http://blogs.technet.com/b/askds/archive/2008/01/11/what-s-
in-a-token-part-2-impersonation.aspx
Pour lister tous les jetons disponibles, ouvrir une invite de commande
avec le compte System. Pour cela, tlcharger loutil PSEXEC (http://
technet.microsoft.com/fr-fr/sysinternals/bb896649.aspx) et lan-
cer la commande suivante : PsExec.exe -i -s -d cmd
163
5.7.3 COMMENT BLOQUER LOUTIL INCOGNITO ?
Eviter que les utilisateurs soient administrateurs locaux sur les stations
de travail. Configurer lantivirus sur toutes les machines de lentreprise
pour bloquer les excutables METASPLOIT et INCOGNITO.
Bloquer les privilges Windows suivants par GPO pour les utilisateurs
qui sont administrateurs de leur station : SeDebugPrivilege, SeAs-
signPrimaryTokenPrivilege, SeImpersonatePrivilege
164
6 INDUSTRIALISER ET SECURISER
LE DEPLOIEMENT DES CONTROLEURS DE
DOMAINE
165
Les entreprises utilisent en gnral des modles de machine (Template)
pour dployer leurs serveurs physiques et leurs serveurs virtuels. Ces
modles intgrent souvent de nombreux composants / applications qui
savrent inutiles pour un contrleur de domaine et qui augmentent la
surface dattaque.
Il est trs important dviter lajout de services qui sexcuteraient
dans le contexte du compte System. Ce dernier dispose des droits dad-
ministration complets sur le contrleur de domaine (dont des droits sur
tous les objets de lannuaire).
Dans certaines entreprises, les quipes en charge du dploiement des
serveurs peuvent tre diffrentes (diffrentes quipes dadministration,
infogrance sur certains sites). Les mthodologies de dploiement
peuvent donc varier tout comme la configuration des serveurs.
166
Le disque C du serveur apparat alors comme le disque D.
Taper les commandes ci-dessous dans linvite de commande.
move d:\Windows\System32\sethc.exe d:\Windows\System32\
sethc.old
copy d:\Windows\System32\cmd.exe d:\Windows\System32\
sethc.exe
Redmarrer ensuite le serveur.
167
La console Active Directory Users and Computers apparat alors. Af-
ficher la console en Advanced features. Vous pouvez maintenant rini-
tialiser le mot de passe du compte administrateur du domaine (membre
des groupes Domain admins et Enterprise admins) car le compte SYS-
TEM a contrle total sur cet objet.
168
Dans lexemple ci-dessus, la fort msreport.be est en mode Natif 2012 R2.
Cette technique permet de disposer dun accs complet lannuaire et
tous ses comptes.
Cest la premire tape avant une attaque beaucoup plus dangereuse
qui va consister rcuprer les mots de passe des utilisateurs prsente
partir du NTHASH ou du LMHASH.
Les failles de scurit sont des dfauts dans la programmation qui per-
mettent un attaquant de dtourner le fonctionnement classique dun
logiciel dans le but dobtenir des accs sur le systme ou dinterrompre
son fonctionnement (plantage du logiciel).
Les failles de scurit sont souvent lies des dfauts dans linterpr-
tation des paramtres passs au programme. Un logiciel qui est crit
pour recevoir une variable de type INTEGER (entier) en paramtre
170
reoit une variable de type FLOAT (nombre virgule) et sarrte de
fonctionner alors.
Je vous invite lire les articles qui prsentent les failles les plus cri-
tiques exploiter et lactualit des sorties des nouveaux exploits.
https://community.rapid7.com/community/metasploit/
blog/2012/12/11/exploit-trends-new-exploits-make-the-top-10
https://community.rapid7.com/community/metasploit/blog
Vous pouvez tlcharger gratuitement METASPLOIT cette adresse :
http://www.rapid7.com/products/metasploit/download.jsp.
171
METASPLOIT intgre un exploit bas sur la faille de scurit CVE-
2008-4250 / MS08-067 qui permet dobtenir une invite de commande
en SYSTEM. Un pas pas est disponible cet emplacement :
http://www.metasploit.com/modules/exploit/windows/smb/
ms08_067_netapi
use exploit/windows/smb/ms08_067_netapi
exploit
Vous obtenez alors une invite de commande avec des droits SYSTEM
172
Le service Server (partage de fichiers) plante sur la machine cible.
Taper ? pour avoir la liste des commandes puis getsystem pour rcu-
prer les droits administrateurs, clearenv pour purger les observateurs
dvnements.
Taper getpid pour avoir le PID du processus METADSPLOIT sur la
machine cible.
Valider avec Gestionnaire de tches de la machine attaque si proces-
sus existe (afficher colonne PID).
Taper la commande ps pour lister les processus de la machine cible.
Arrter le processus laide de la commande kill numro-PID
174
est propose sous forme de 2 fonctionnalits optionnelles. Les com-
mandes ci-dessous montrent comment dployer linterface graphique
sur un serveur en mode Core :
Import-Module ServerManager
Mkdir c:\MountDir
Get-WindowsImage -ImagePath D:\sources\install.wim
Mount-WindowsImage -ImagePath d:\sources\install.wim -Path
C:\mountdir Index 4 -readonly
Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell
-Restart -Source c:\mountdir\Windows\Winsxs
175
Il est donc prconis de dployer les contrleurs de domaine sous Win-
dows 2012 R1 ou versions ultrieures en mode Interface minimale et
de dployer uniquement sur ces machines les rles Active Directory
Domain Services et DNS.
176
Quand un serveur devient un contrleur de domaine (aprs dploie-
ment du rle Active Directory Domain Services, la rgle prdfinie du
pare-feu Windows Active Directory Domain Services est active. Les
rgles entrantes et sortantes ci-dessous sont alors actives.
177
Si vous souhaitez dsactiver le pare-feu sur un serveur Windows 2008
(et versions ultrieures), vous ne devez pas arrter le service Win-
dows Firewall. Cela nest pas support par Microsoft et bloque les
fonctionnalits suivantes : la possibilit dencapsuler le trafic dans des
trames IPSEC et Windows Service Hardening. Pour arrter le pare-
feu, configurer les profils Public, Private et Domain sur ltat Off.
178
6.6 CONFIGURER LUAC
179
De gnrer deux jetons daccs :
Un jeton daccs avec tous les privilges et SID de lutilisateur est
gnr. Un second jeton est aussi gnr avec des droits rduits (sup-
pression des SID de groupes comme Administrators). Lutilisateur
peut utiliser son jeton non filtr seulement aprs avoir t lev (fe-
ntre de confirmation ou si lutilisateur a excut lapplication en tant
quadministrateur).
180
Si vous dsactivez lUAC via Control Panel | Users Accounts | Change
User Account Control Settings, lUAC nest pas compltement dsac-
tiv sous Windows. Si vous essayez darrter un service depuis linvite
de commande, vous aurez un message Access is denied.
181
Pour lancer lexplorateur en tant quadministrateur il faut utiliser une
autre astuce dcrite sur ce site :
https://social.technet.microsoft.com/Forums/windows/en-
US/1798a1a7-bd2e-4e42-8e98-0bc715e7f641/unable-to-open-
an-elevated-windows-explorer-window
Lancer le gestionnaire de tche. Terminer le processus explorer.exe.
Lancer ensuite Explorer.exe en cohant la case Create this task with
administrative privileges.
Quand un utilisateur ouvre une session, son login / mot de passe est
mis en cache sur la machine dans HKEY_LOCAL_MACHINE\SECU-
RITY\CACHE. Par dfaut, seul le compte System a les droits de visua-
liser le contenu de cette cl. Cela permet par exemple un utilisateur
qui dispose dun ordinateur portable douvrir sa session quand il nest
pas connect au rseau dentreprise.
Ce mode de fonctionnement nest pas applicable aux serveurs et aux
182
stations de travail fixes. Pour cette raison et pour des raisons de scuri-
t, je vous invite dsactiver la mise en cache des sessions pour toutes
les machines sauf les ordinateurs fixes.
183
6.8 RENFORCER LA SECURITE DU BUREAU A DIS-
TANCE
184
pour les comptes dadministration Active Directory. Cela peut tre
mise en uvre avec le paramtre de GPO Deny Access to this compu-
ter from the network.
185
La console Remote Desktop Session Host Configuration nexiste pas
sous Windows 2012 R2 ! Il faut donc configurer le serveur par GPO.
Cela vous permettra ainsi de dsactiver le mappage des imprimantes
(qui gnrent gnralement de nombreuses erreurs dans les journaux
dvnements). Pour cela, dplacer les comptes ordinateurs des ma-
chines dadministration dans une OU spare.
Lancer la console GPMC et crer et lier une nouvelle GPO appele Ad-
ministrative-computers. Aller dans Computer Configuration | Policies
| Administrative Templates | Windows Components | Remote Desktop
Services | Remote Desktop Session Host | Security. Dfinir les para-
mtres de GPO de la manire suivante pour configurer laccs RDP
sous SSL avec authentification NLA.
Vous pouvez aussi configurer le service RDP pour ne plus mapper les
imprimantes dans les sessions TSE (Computer Configuration | Policies
| Administrative Templates | Windows Components | Remote Desktop
Services | Remote Desktop Session Host | Printer Redirection).
186
Vous devez obtenir la configuration ci-dessous.
187
6.8.4 CONFIGURER LE CLIENT BUREAU A DISTANCE
Vous devez dployer le client RDP 7.0 (au minimum) sur toutes les
stations de travail Windows Vista ou versions ultrieures. Il existe une
procdure pour permettre lauthentification NLA avec Windows XP
SP3 (http://support.microsoft.com/kb/951608/en-us) mais lutili-
sation de ce systme est fortement dconseille (plus de correctif de
scurit depuis avril 2014).
188
6.8.5 UTILISER LA FONCTIONNALITE RESTRICTEDADMIN
189
Configurer les contrleurs de domaine pour disposer dun accs
limit Internet (flux DNS, HTTP et HTTPS, NTP):
Cette configuration est plus simple mettre en uvre. Pour ne pas
compromettre la scurit, je vous invite cependant laisser lUAC ac-
tif afin de disposer dInternet Explorer en mode protg.
Au niveau de la configuration de la scurit renforce Internet
Explorer
Ce dispositif permet de brider trs fortement laccs Internet et de-
mande de multiples confirmations lors de laccs un site web stan-
dard. La frquence des POPUP est trs problmatique car elle pousse
les administrateurs confirmer le message sans le lire. Pour cette rai-
son, je prfre titre personnel dsactiver cette fonctionnalit.
190
6.10 CONFIGURER LE MOT DE PASSE DSRM
Par dfaut depuis Windows 2008 R1, le protocole IPV6 est prioritaire
sur le protocole IPV4.
Quand on fait un ping localhost, cest ladresse ::1 qui rpond en non
127.0.0.1.
Microsoft recommande de ne pas dsactiver IPV6 compltement mais
de configurer IPV4 en tant que protocole prfr. Lancer lditeur de
base de registre et dfinir lentre de registre DisabledComponents
(REG_DWORD) 32 (dcimal) dans HKEY_LOCAL_MACHINE\
SYSTEM\ CurrentControlSet\Services\TCPIP6\Parameters.
191
Pour plus dinformations : https://support.microsoft.com/
kb/929852/en-us
193
Pour configurer les rgles de scurit, loutil pose des questions sur le
type de clients et propose une configuration scurise. Dans lexemple
ci-dessous, les paramtres en production dans lannuaire sont plus s-
curiss que ceux proposs par loutil. Seul le protocole dauthentifica-
tion NTLM V2 est autoris dans lannuaire alors que loutil nous pro-
pose dautoriser NTLM V1 et V2. Un regard critique est donc requis
sur la configuration propose par loutil.
194
Le site suivant donne quelques retours dexpriences sur la scuri-
sation renforce de clusters Windows. La conclusion est sans appel.
Utiliser le Security Configuration Wizard permet davoir une configu-
ration scurise et fonctionnelle.
http://blogs.technet.com/b/mspfe/archive/2014/05/29/why-
you-should-avoid-manual-server-hardening.aspx
195
6.11.4.1 Prrequis (variable selon votre environnement)
197
Cependant, si vous avez install un serveur en mode Core puis ac-
tiv ensuite la fonctionnalit dinterface graphique ce rglage nest
pas conserv. Je vous invite alors ajouter de nouveau le clavier en
franais (en ajoutant temporairement un autre type de clavier). Ne pas
oublier ensuite de redfinir le clavier correct pour le Welcome Screen.
Pour plus dinformations : http://support.microsoft.com/
kb/3002327
2. Certaines fonctionnalits comme le .Net Framework 3.5.1 refusent
de sinstaller car il manque des sources dinstallation. Ce problme se
pose avec une installation Complte ou Core. Pour corriger ce pro-
blme, il faut utiliser le rpertoire sources\SxS du DVD dinstallation.
198
7 METTRE EN PLACE UNE POLITIQUE DE
PREVENTION DES RISQUES
Pour anticiper les attaques et leurs consquences, il est ncessaire
dtre proactif et de mettre en place les mesures suivantes :
Auditer les changements effectus sur lannuaire et les tentatives
daccs.
Superviser votre annuaire pour dtecter les disfonctionnements qui
pourraient tre lis des attaques.
Protger les sauvegardes de lannuaire Active Directory et les m-
dias IFM (Install From media). Un attaquant peut en effet rcuprer
les mots de passe des comptes utilisateurs et des comptes ordinateurs
sil dispose des fichiers NTDS.DIT et SYSTEM.
Prparer un plan de reprise dactivit en cas de compromission de
lannuaire.
199
Si vous disposez dune quipe ddie lanalyse des journaux daudit,
vous devez configurer la stratgie suivante pour permettre uniquement
cette quipe deffacer le journal Security sur les contrleurs de do-
maine.
200
Les paramtres avancs daudit se configure au niveau de Computer
Configuration | Policies | Security Settings | Advanced Audit Policy
Configuration | Audit Policies.
202
Package Name (NTLM only): -
Key Length: 0
203
Crer le dossier c:\_adm\resultats.
Pour que le rsultat de la commande PowerShell Get-WinEvent fonc-
tionne, il faut tre en culture anglaise (Etats Unis) dans PowerShell.
Pour plus dinformations sur ce problme :
https://social.technet.microsoft.com/Forums/windows-
server/en-US/9deceae3-a631-464b-af86-13d50cf14ccf/
getwinevent-not-returning-message-windows-8?forum=winser-
verpowershell
Axes damlioration :
1. Centraliser tous les journaux Security des contrleurs de
domaine en mettant en place une souscription. Pour configurer une
souscription, je vous invite lire cet article :
http://msreport.free.fr/?p=222
2. Excuter le script 23h59 tous les jours et purger le conte-
nu de la souscription la fin du script.
204
7.2 AUDITER LA SECURITE DE VOTRE ANNUAIRE
BTA : cet outil est fourni par lANSSI. Je vous invite lire les docu-
ments suivants sur BTA :
- http://www.information-security.fr/audit-lactive-directo
ry-bta/
- https://www.sstic.org/media/SSTIC2014/SSTIC-actes/
BTA_Analyse_de_la_securite_Active_Directory/SSTIC2014-Ar-
ticle-BTA_Analyse_de_la_securite_Active_Directory-czarny_
biondi.pdf
- https://www.sstic.org/2014/presentation/BTA_Analyse_de_la_
securite_Active_Directory/
ADRAP : cet outil est fourni par Microsoft. Il sagit dun audit trs
complet qui couvre tous les risques lis Active Directory. ADRAP
permet par exemple de dceler les problmes de configuration de
lannuaire Active Directory qui pourrait entraner une dfaillance tout
comme les risques en terme de scurit.
205
7.3 SUPERVISER VOTRE ANNUAIRE ACTIVE DIRECTORY
206
7.3.2.2 Etape 2 : autoriser lexcution des scripts PowerShell non
signs
# Objectifs du script
# Analyse le rsultat de la commande DCDIAG /V /E et
produit 4 fichiers en sortie.
# Le script doit tre lanc sur une version anglaise de
Windows.
# Initialisation des fichiers la valeur par dfaut.
$Connectivity = OK
$Configuration = OK
$Sysvol = OK
$NTDS = OK
# Stockage du rsultat du DCDIAG dans une variable
# Dans lexemple ci dessous le script se connecte sur le
contrleur de domaine FR56DC2K12. A changer !
$dcdiagresu = dcdiag /v /e /s:FR56DC2k12
# Analyse du contenu de la variable
foreach ($line in $dcdiagresu)
{
# Test disponibilit de lannuaire
if (($line.Contains(failed test Connectivity)) -or ($line.
Contains(failed test Services)))
{
$Connectivity = KO
}
# Test de la configuration Active Directory
if (($line.Contains(failed test KnowsOfRoleHolders)) -or
($line.Contains(failed test MachineAccount)) -or ($line.
Contains(failed test Advertising)) -or ($line.Contains(-
failed test RidManager)) -or ($line.Contains(failed test
LocatorCheck)))
{
$Configuration = KO
207
}
# Test de la rplication Sysvol
if (($line.Contains(failed test DFSREvent)) -or ($line.
Contains(failed test SysVolCheck)) -or ($line.Contains(-
failed test KccEvent)) -or ($line.Contains(failed test Net-
Logons)) -or ($line.Contains(failed test NCSecDesc)))
{
$Sysvol = KO
}
# Test de la rplication NTDS
if (($line.Contains(failed test ObjectsReplicated))
-or ($line.Contains(failed test Replications)) -or ($line.
Contains(failed test Intersite)))
{
$NTDS = KO
}
}
# Ecriture des fichiers rsultats
$Connectivity | Out-File c:\Connectivity.txt -Force
$Configuration | Out-File c:\Configuration.txt -Force
$Sysvol | Out-File c:\Sysvol.txt -Force
$NTDS | Out-File c:\NTDS.txt -Force
208
7.4 DISPOSER DUN PLAN DE REPRISE INFORMA-
TIQUE (PRI) ACTIVE DIRECTORY
210
8 ANNEXES
211
212
213
La PKI dploye ci-dessus intgre une configuration de base. Des
tapes de configuration supplmentaires sont ncessaires comme la
configuration de lAIA / CRL pour tre hberges sur un site web,
la configuration de la dure de vie maximum dun certificat (2 ans
maximum par dfaut), le paramtrage des modles de certificats (d-
ploiement des certificats, dure de vie), les paramtres de rvocation
des certificats (gnration de la CRL toutes les heures, URL de la CRL
dans les certificats), lactivation de la sparation des rles ou la mise en
uvre de larchivage des cls prives des certificats.
Toutes ces tapes sont expliques dans larticle suivant : http://msre-
port.free.fr/?p=451.
214
8.2.2 MISE EN UVRE DE BITLOCKER SUR DES CONTROLEURS DE
DOMAINE WINDOWS 2012 R2
215
Activer ce paramtre et slectionner les paramtres suivants :
216
Slectionner Store recovery passwords and key packages
Cocher la case Do not enable BitLocker until recovery information is
stored to AD DS for operating system drive
Ces rglages permettent de forcer la sauvegarde de la cl de rcupra-
tion BitLocker dans lannuaire Active Directory.
217
Aller dans Computer configuration | Policies | Administrative Tem-
plates | System | Trusted Platform Modules Services | Turn on TPM
Backup to Active Directory Domain Services.
Ce paramtre permet de forcer la sauvegarde du mot de passe propri-
taire du TPM au niveau de lannuaire Active Directory. On notera que
la mthode de stockage des mots de passe de propritaire du TPM a
chang avec Windows Server 2012 R1 et Windows 8. Le schma doit
tre prpar pour Windows 2012 R1.
218
Activer ce paramtre de GPO avec la configuration ci-dessous.
Ajouter des droits dans lannuaire pour mettre jour le mot de passe du
propritaire du TPM. Comme expliqu dans larticle Technet http://
technet.microsoft.com/fr-fr/library/dd875529(v=ws.10).aspx, il
est ncessaire dutiliser le script Add-TPMSelfWriteACE.vbs pour
pouvoir permettre lenregistrement du mot de passe du propritaire de
TPM dans lattribut msTPM-OwnerInformation.
Par dfaut seuls les utilisateurs membres du groupe Domain Admins
ont le droit de visualiser :
220
Si vous avez oubli le mot de passe BitLocker, vous pouvez utiliser
la cl de rcupration qui est stocke au niveau du compte ordinateur.
Pour cela, appuyer sur la touche ECHAP.
221
8.3 BIBLIOGRAPHIE :
Je vous invite lire ces 2 documents qui sont trs complets, trs
clairs et en franais. Merci entre autre Aurlien BORDES pour la
clart des explications. https://www.sstic.org/media/SSTIC2007/
SSTIC-actes/Secrets_d_authentification_sous_Windows/
SSTIC2007-Article-Secrets_d_authentification_sous_Win-
222
dows-bordes.pdf
http://www.ssi.gouv.fr/IMG/pdf/Aurelien_Bordes_-_Secrets_d_
authentification_episode_II_Kerberos_contre-attaque.pdf
Je vous invite lire ces 2 documents sur lattaque NTLM Pass The
Hash :
http://www.microsoft.com/en-us/download/details.as-
px?id=36036
http://www.sans.org/reading-room/whitepapers/testing/pass-
the-hash-attacks-tools-mitigation-33283
223
224
225
Guillaume MATHIEU est Architecte Infrastructure
Microsoft et responsable du ple avant-vente de
METSYS.
Expert en gestion des identits et en scurit, Guil-
laume intervient sur des audits, des dploiements
ou encore des migrations dannuaires Active Direc-
tory. Reconnu par Microsoft, Guillaume est gale-
ment MVP Active Directory et Entreprise Security
depuis 2010.
propos de Metsys
Les informations contenues dans ce livre sont la proprit de la socit METSYS 2015-2016