59
Principe du moindre Principe du moindre privilège en action privilège en action Cyril Voisin Cyril Voisin Chef de programme Chef de programme Sécurité Sécurité Microsoft France Microsoft France Pascal Sauliere Pascal Sauliere Consultant Principal Consultant Principal Sécurité, CISSP Sécurité, CISSP Microsoft France Microsoft France

Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Embed Size (px)

Citation preview

Page 1: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Principe du moindre Principe du moindre privilège en actionprivilège en action

Principe du moindre Principe du moindre privilège en actionprivilège en action

Cyril VoisinCyril VoisinChef de programme Chef de programme SécuritéSécuritéMicrosoft FranceMicrosoft France

Pascal SaulierePascal SauliereConsultant Principal Consultant Principal Sécurité, CISSPSécurité, CISSPMicrosoft FranceMicrosoft France

Page 2: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Bon à savoirBon à savoir

Pour récupérer les présentations mises Pour récupérer les présentations mises à jour, se connecter sur à jour, se connecter sur http://www.microsoft.com/france/securihttp://www.microsoft.com/france/securitete, rubrique événements, rubrique événements

Pour poser une question que vous Pour poser une question que vous n’avez pas eu le temps de poser durant n’avez pas eu le temps de poser durant une session une session [email protected]@microsoft.com

Page 3: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

SommaireSommaire

Pourquoi vous auriez tout intérêt à Pourquoi vous auriez tout intérêt à utiliser un compte utilisateur normal, utiliser un compte utilisateur normal, même si vous êtes administrateurmême si vous êtes administrateur

Comment faire sans devenir dingueComment faire sans devenir dingueLes conseilsLes conseils

Des démos, des démos, des démos !Des démos, des démos, des démos !

Page 4: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

DéfinitionsDéfinitions

Non-AdminNon-Admin““Utilisateur avec pouvoir” N’est PAS un Utilisateur avec pouvoir” N’est PAS un Non-Admin !Non-Admin !Typiquement : “Utilisateurs”, Typiquement : “Utilisateurs”, “Utilisateurs du domaine”“Utilisateurs du domaine”

LUALUALimited User AccountLimited User AccountLeast-privileged User AccountLeast-privileged User Account

Principe du moindre privilègePrincipe du moindre privilège

Page 5: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Les expositions aux risques Les expositions aux risques ne manquent pasne manquent pas

Navigation sur le WebNavigation sur le Web

E-mailE-mail

Messagerie instantanéeMessagerie instantanée

Jeux sur InternetJeux sur Internet

Lecteurs audio/vidéoLecteurs audio/vidéo

Et ce, quel que soit le fournisseur des Et ce, quel que soit le fournisseur des applicationsapplications

Page 6: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Ce qu’un compte Admin peut Ce qu’un compte Admin peut faire, qu’un LUA ne peut pas faire, qu’un LUA ne peut pas faire :faire :Installer des Installer des rootkits rootkits en mode en mode

noyaunoyauInstaller des Installer des keyloggerskeyloggers au au niveau système (pour capture niveau système (pour capture les mots de passe, y compris les mots de passe, y compris ceux saisis à l’ouverture de ceux saisis à l’ouverture de session)session)Installer des contrôles ActiveX, Installer des contrôles ActiveX, y compris des extensions de y compris des extensions de l’explorateur ou d’IE (activité l’explorateur ou d’IE (activité courante pour les courante pour les spywaresspywares))Installer et démarrer des Installer et démarrer des servicesservicesArrêter des services existants Arrêter des services existants (comme le pare-feu par (comme le pare-feu par exemple) exemple) Accéder à des données qui Accéder à des données qui appartiennent à d’autres appartiennent à d’autres utilisateursutilisateursFaire en sorte que du code Faire en sorte que du code s’exécute lorsqu’un autre s’exécute lorsqu’un autre utilisateur ouvrira une sessionutilisateur ouvrira une session

Remplacer des fichiers Remplacer des fichiers d’applications ou du système d’applications ou du système d’exploitation par des chevaux d’exploitation par des chevaux de Troiede TroieAccéder aux secrets LSA (dont Accéder aux secrets LSA (dont les mots de passe des comptes les mots de passe des comptes de service du domaine servant)de service du domaine servant)Désactiver ou désinstaller l’anti-Désactiver ou désinstaller l’anti-virusvirusCréer ou modifier des comptes Créer ou modifier des comptes utilisateursutilisateursRéinitialiser des mots de passeRéinitialiser des mots de passeModifier le fichier hosts et Modifier le fichier hosts et d’autres paramètres de d’autres paramètres de configuration du systèmeconfiguration du systèmeÉliminer ses traces dans le Éliminer ses traces dans le journal des événementsjournal des événementsRendre votre machine Rendre votre machine incapable de démarrerincapable de démarrer……

Page 7: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

““Mais mon métier est d’être Mais mon métier est d’être administrateur…”administrateur…”

Dans ce cas, ouvrir une session avec un Dans ce cas, ouvrir une session avec un compte normal et exécuter en tant qu’admin compte normal et exécuter en tant qu’admin uniquement les tâches administrativesuniquement les tâches administratives

La plupart des utilisateurs en entreprise ne La plupart des utilisateurs en entreprise ne devrait jamais avoir besoin de privilèges devrait jamais avoir besoin de privilèges élevésélevés

Page 8: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Le cas des développeursLe cas des développeurs

Développer sans être administrateur Développer sans être administrateur Améliore votre logicielAméliore votre logicielVous permet de trouver les bugs plus rapidementVous permet de trouver les bugs plus rapidementDiminue les coûts de développementDiminue les coûts de développementEst plus sûrEst plus sûr

Les bugs LUALes bugs LUALa fonctionnalité ne marche que si on est adminLa fonctionnalité ne marche que si on est adminCause : le développeur était admin de sa machine !Cause : le développeur était admin de sa machine !

““ça marche sur ma machine !”ça marche sur ma machine !”Dépense non nécessaireDépense non nécessaireRésolution:Résolution:

Refaire l’implémentation ou même ré-architecturer ouRefaire l’implémentation ou même ré-architecturer ouDemander les privilèges admin pour exécuter le produitDemander les privilèges admin pour exécuter le produit

Page 9: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

““Je suis en sécurité parce que Je suis en sécurité parce que …”…”

… … je suis à jour au niveau des correctifsje suis à jour au niveau des correctifs… … je maintiens à jour mon antivirusje maintiens à jour mon antivirus… … j’utilise un pare-feuj’utilise un pare-feu… … j’utilise Windows XP SP2j’utilise Windows XP SP2… … j’utilise Microsoft AntiSpyware !j’utilise Microsoft AntiSpyware !… … j’ai un mot de passe fortj’ai un mot de passe fort… … je n’ouvre pas les pièces jointes étranges dans les e-je n’ouvre pas les pièces jointes étranges dans les e-

mailsmails… … je fais attention à où je navigueje fais attention à où je navigue… … je n’installe pas n’importe quel logicielje n’installe pas n’importe quel logiciel… … j’ai du bon sens / je suis ruséj’ai du bon sens / je suis rusé… … je n’ai jamais été infectéje n’ai jamais été infecté… …

Page 10: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Et les Zero-Day Exploits ?Et les Zero-Day Exploits ?

Vulnérabilités sans correctifsVulnérabilités sans correctifsReverse-engineering Reverse-engineering du correctif dès sa sortiedu correctif dès sa sortie

Divulgation publique avant l’arrivée du correctifDivulgation publique avant l’arrivée du correctif

Vulnérabilités inconnues jusqu’alorsVulnérabilités inconnues jusqu’alorsL’exploitation précède la divulgation publiqueL’exploitation précède la divulgation publique

Page 11: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Exemple : Download.JectExemple : Download.Ject

Zero-day Zero-day pour Internet Explorerpour Internet Explorer

Exploitation venant de sites Web Exploitation venant de sites Web légitimeslégitimes

Ce n’était pas la première fois, et ça ne Ce n’était pas la première fois, et ça ne sera probablement pas la dernièresera probablement pas la dernière

Page 12: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Non-admin et les rootkitsNon-admin et les rootkits

Sujet de la dernière session de la journéeSujet de la dernière session de la journéeLa plupart des La plupart des rootkitsrootkits nécessitent des nécessitent des privilèges Adminprivilèges Admin

Installent/chargent des pilotes noyauInstallent/chargent des pilotes noyauInstallent des servicesInstallent des servicesDétournent des fonctions noyau ou des Détournent des fonctions noyau ou des interruptionsinterruptionsModifient les structures de données du noyauModifient les structures de données du noyau

Les Les rootkitsrootkits en mode LUA en mode LUAPlus faciles à détecterPlus faciles à détecterMoins d’endroits où se cacher et assurer leur Moins d’endroits où se cacher et assurer leur démarrage automatiquedémarrage automatiqueN’affectent qu’un seul utilisateurN’affectent qu’un seul utilisateur

Page 13: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

““OK, c’est bon je suis OK, c’est bon je suis convaincu. convaincu.

Et comment fait-on ?”Et comment fait-on ?”

““OK, c’est bon je suis OK, c’est bon je suis convaincu. convaincu.

Et comment fait-on ?”Et comment fait-on ?”

Page 14: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Passer Admin quand c’est Passer Admin quand c’est nécessairenécessaire

Changement rapide d’utilisateur (Changement rapide d’utilisateur (Fast User Fast User SwitchingSwitching))

Windows XP Edition FamilialeWindows XP Edition Familiale

Windows XP Professionnel, Windows XP Professionnel, hors domainehors domaine

Les sessions de logon sont isolées les unes des Les sessions de logon sont isolées les unes des autresautres

Suggestion pour l’usage domestique :Suggestion pour l’usage domestique :Un LUA par personne, compte invité optionnelUn LUA par personne, compte invité optionnel

Un compte AdminUn compte Admin

Pas de mots de passe !Pas de mots de passe !

Page 15: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

démodémodémodémo

Changement rapide Changement rapide d’utilisateurd’utilisateur

Page 16: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAsRunAs

Démarre un programme avec un utilisateur Démarre un programme avec un utilisateur différent (ou le même mais avec un jeton différent (ou le même mais avec un jeton de sécurité modifié) de sécurité modifié)

Même bureauMême bureauEn ligne de commande ou avec une boîte En ligne de commande ou avec une boîte de dialogue dans l’interface graphiquede dialogue dans l’interface graphiqueLes programmes « fils » héritent du Les programmes « fils » héritent du contexte de sécurité de leur « parent »contexte de sécurité de leur « parent »

Démarrer CMD en tant qu’adminDémarrer CMD en tant qu’adminLancer des applications depuis ce CMDLancer des applications depuis ce CMDElles s’exécutent en tant qu’adminElles s’exécutent en tant qu’admin

Page 17: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Boîte de dialogue Exécuter en Boîte de dialogue Exécuter en tant que (RunAs)tant que (RunAs)

Menu contextuel Menu contextuel par clic droitpar clic droit

Applis, raccourcisApplis, raccourcis

Console MMC Console MMC (.msc)(.msc)

ShiftShift+clic droit +clic droit pour :pour :

Les applis du Les applis du Panneau de Panneau de configuration (.cpl)configuration (.cpl)

““Les liens spéciaux Les liens spéciaux Windows Installer”Windows Installer”

Page 18: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Boîte de dialogue Exécuter en Boîte de dialogue Exécuter en tant que (RunAs)tant que (RunAs)

Faire en sorte qu’un raccourci propose Faire en sorte qu’un raccourci propose systématiquement la boîte de dialogue systématiquement la boîte de dialogue “Exécuter en tant que”“Exécuter en tant que”

Propriétés du raccourci, Propriétés Propriétés du raccourci, Propriétés avancéesavancées

Page 19: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAs en ligne de commandeRunAs en ligne de commande

Exemple : Exemple : runas /u:Administrateur cmd.exerunas /u:Administrateur cmd.exe

Page 20: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAs – Indication visuelleRunAs – Indication visuelle

cmd.exe /t:4f /k cd c:\ && title ***** cmd.exe /t:4f /k cd c:\ && title ***** Console admin *****Console admin *****

runas.exe /user:%computername%\runas.exe /user:%computername%\Administrator "cmd.exe /k color 4f && Administrator "cmd.exe /k color 4f && title ** Console Admin **" title ** Console Admin **"

Utiliser la commande Utiliser la commande color -? pour trouver les color -? pour trouver les couleurs qui vous vont couleurs qui vous vont bien.. bien..

Page 21: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAs – indication visuelleRunAs – indication visuelle

Image de fond pour IE et l’explorateurImage de fond pour IE et l’explorateur

Réglé via TweakUI par ex.Réglé via TweakUI par ex.

Page 22: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivBarPrivBar

Exécution d’IE en tant qu’admin:Exécution d’IE en tant qu’admin:

… … comme utilisateur comme utilisateur avec pouvoir :avec pouvoir :

… … comme comme utilisateur normal :utilisateur normal :

… … avec avec “Protéger ma machine”:“Protéger ma machine”:

Page 23: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivBar (suite)PrivBar (suite)

Page 24: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

démodémodémodémo

RunAs / PrivBar / TweakUIRunAs / PrivBar / TweakUI

Page 25: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAs et les fichiers .MSIRunAs et les fichiers .MSI

Les fichiers Windows Installer (.msi) Les fichiers Windows Installer (.msi) n’offrent pas l’option RunAs n’offrent pas l’option RunAs

On peut l’ajouter dans les Options des On peut l’ajouter dans les Options des dossiers oudossiers ou

En exécutant tout simplement le fichier En exécutant tout simplement le fichier depuis un CMD Admin :depuis un CMD Admin :C:\Downloads> gpmc.msiC:\Downloads> gpmc.msi

Page 26: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Parfois RunAs ne fonctionne Parfois RunAs ne fonctionne paspas

Certaines applications sont mono-instancesCertaines applications sont mono-instancesL’explorateur de WindowsL’explorateur de Windows

Microsoft Office WordMicrosoft Office Word

Certaines applications sont lancées par le Certaines applications sont lancées par le shellshell

ShellExecute[Ex]ShellExecute[Ex]

DDEDDE

La version précédente de WindowsUpdate La version précédente de WindowsUpdate (v5)! (v5)! (v6 dispo depuis le 6 juin !!) (v6 dispo depuis le 6 juin !!)

Page 27: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RunAs et l’explorateurRunAs et l’explorateur

Deux solutions :Deux solutions :Indiquer à l’explorateur d’exécuter plusieurs Indiquer à l’explorateur d’exécuter plusieurs instancesinstances

““Launch folder windows in a Launch folder windows in a separate process”separate process”

Avertissement concernant ce paramétrageAvertissement concernant ce paramétrage

Ou utiliser Internet Explorer à la placeOu utiliser Internet Explorer à la placeie.cmdie.cmd

@start "" /b "%ProgramFiles%\Internet Explorer\@start "" /b "%ProgramFiles%\Internet Explorer\iexplore.exe" %* iexplore.exe" %*

Exemple : Exemple : ie c:\ie c:\

Page 28: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

démodémodémodémo

RunAs et l’explorateurRunAs et l’explorateur

Page 29: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Problèmes liés à l’utilisation Problèmes liés à l’utilisation d’un compte Admin locald’un compte Admin local

Pas d’accès aux ressources du domainePas d’accès aux ressources du domaine

Des paramètres de profil différentsDes paramètres de profil différents

Certaines applications supposent que la Certaines applications supposent que la personne qui l’installe est celle qui va l’utiliserpersonne qui l’installe est celle qui va l’utiliser

Paramètres de stratégie par utilisateurParamètres de stratégie par utilisateur

Options d’alimentationOptions d’alimentation

Solution ? Solution ? Script MakeMeAdmin d’Aaron MargosisScript MakeMeAdmin d’Aaron Margosis

Page 30: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

MakeMeAdminMakeMeAdmin

Élévation temporaire au niveau Admin Élévation temporaire au niveau Admin de votre compte actuelde votre compte actuelRésultat : CMD s’exécute en tant que Résultat : CMD s’exécute en tant que votre compte normal mais avec des votre compte normal mais avec des privilèges Adminprivilèges AdminLes applications démarrées depuis ce Les applications démarrées depuis ce CMD héritent de ce contexte de CMD héritent de ce contexte de sécuritésécuritéDisponible sur le blog d’Aaron MargosisDisponible sur le blog d’Aaron Margosis

Page 31: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

démodémodémodémo

MakeMeAdminMakeMeAdmin

Page 32: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Autres remarquesAutres remarques

Il n’est pas possible d’utiliser un IE admin via Il n’est pas possible d’utiliser un IE admin via RunAs pour mettre à jour la machine depuis RunAs pour mettre à jour la machine depuis Windows Update v5 (il faut soit ouvrir une Windows Update v5 (il faut soit ouvrir une session complète séparée, soit faire une session complète séparée, soit faire une installation automatique ; l’installation de installation automatique ; l’installation de mise à jour à l’extinction de la machine mise à jour à l’extinction de la machine fonctionne en LUA)fonctionne en LUA)

Regedit est mono-instance (utiliser /m)Regedit est mono-instance (utiliser /m)

Changement d’heure non permis en tant que Changement d’heure non permis en tant que LUALUA

Attribuer le privilège SeSytemTimePrivilegeAttribuer le privilège SeSytemTimePrivilege

Attention : tolérance limitée de KerberosAttention : tolérance limitée de Kerberos

Page 33: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Autres remarquesAutres remarques

Pour savoir quel est le comptePour savoir quel est le compteSet usernameSet username

WhoamiWhoami

Dans un CMD en RunAs, le Ctrl+C ne Dans un CMD en RunAs, le Ctrl+C ne marche pas : utiliser Ctrl+Breakmarche pas : utiliser Ctrl+Break

Panneau de configuration : Panneau de configuration : possibilité de lancer des .cpl directement possibilité de lancer des .cpl directement (si Explorateur configuré correctement)(si Explorateur configuré correctement)

WinsudoWinsudo

Page 34: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

AstucesAstuces

Modifier la configuration réseau ou Modifier la configuration réseau ou activer / désactiver la carte Wi-Fi : activer / désactiver la carte Wi-Fi : ajouter son compte du domaine dans le ajouter son compte du domaine dans le groupe local groupe local Network Configuration Network Configuration OperatorsOperatorsPour les grands voyageurs qui veulent Pour les grands voyageurs qui veulent changer leur changer leur time zonetime zone en fonction du en fonction du continent sur lequel ils se trouvent, continent sur lequel ils se trouvent, ajouter pour son compte la permission ajouter pour son compte la permission Set ValueSet Value sur la clé HKLM\SYSTEM\ sur la clé HKLM\SYSTEM\CurrentControlSet\Control\CurrentControlSet\Control\TimeZoneInformationTimeZoneInformation

Page 35: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Astuces pour les scriptsAstuces pour les scripts

Trouver le nom du groupe local Administrateurs avec Trouver le nom du groupe local Administrateurs avec psgetsid.exe : psgetsid.exe : @echo off setlocal for /F "skip=1 tokens=2" %%x in @echo off setlocal for /F "skip=1 tokens=2" %%x in ('psgetsid S-1-5-32-544') do set ADMINNAME=%%x echo ('psgetsid S-1-5-32-544') do set ADMINNAME=%%x echo ADMINNAME=%ADMINNAME% endlocalADMINNAME=%ADMINNAME% endlocal

Trouver le nom de l'administrateur local avec Trouver le nom de l'administrateur local avec psgetsid.exe : psgetsid.exe : @echo off setlocal for /F "skip=1" %%x @echo off setlocal for /F "skip=1" %%x in ('psgetsid %computername%') do set COMPSID=%%x for in ('psgetsid %computername%') do set COMPSID=%%x for /F "skip=1 tokens=2" %%x in ('psgetsid %COMPSID%-/F "skip=1 tokens=2" %%x in ('psgetsid %COMPSID%-500') do set ADMINNAME=%%x echo ADMINNAME=%ADMINNAME% 500') do set ADMINNAME=%%x echo ADMINNAME=%ADMINNAME% endlocalendlocal

Déterminer si on est administrateur ou non, avec Déterminer si on est administrateur ou non, avec whoami.exe des whoami.exe des Support ToolsSupport Tools de Windows XP : de Windows XP : @echo off whoami.exe /groups /noverbose | find @echo off whoami.exe /groups /noverbose | find "BUILTIN\Administrat" if "%ERRORLEVEL%"=="0" ( echo "BUILTIN\Administrat" if "%ERRORLEVEL%"=="0" ( echo Admin!! ) else ( echo Non admin !! )Admin!! ) else ( echo Non admin !! )

Page 36: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

DéveloppeursDéveloppeurs

90% des programmes ne fonctionnent pas 90% des programmes ne fonctionnent pas sans les privilèges administrateurs à cause de sans les privilèges administrateurs à cause de ::

Écriture dans %ProgramFiles%, %windir%Écriture dans %ProgramFiles%, %windir%Écriture dans HKEY_LOCAL_MACHINE (HKLM)Écriture dans HKEY_LOCAL_MACHINE (HKLM)

Pour faire en sorte qu’un programme Pour faire en sorte qu’un programme s’exécute sans les privilèges administrateurs :s’exécute sans les privilèges administrateurs :

ACT 4.01 (Application Compatibility Toolkit ) :ACT 4.01 (Application Compatibility Toolkit ) :Outil gratuit sur le site web de MicrosoftOutil gratuit sur le site web de MicrosoftRegmon et Filemon : outils gratuits de sysinternalsRegmon et Filemon : outils gratuits de sysinternals

Emprunt d’identité (Impersonation) : Emprunt d’identité (Impersonation) : lorsqu’un thread s’exécute sous un contexte lorsqu’un thread s’exécute sous un contexte de sécurité différent de son processus père.de sécurité différent de son processus père.Attention : tous les threads d’un processus Attention : tous les threads d’un processus partagent la même table des handles.partagent la même table des handles.

Page 37: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

LonghornLonghorn

LUA est un des objectifs de cette LUA est un des objectifs de cette versionversion

Page 38: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RessourcesRessourcesRessourcesRessources

Page 39: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RéférencesRéférences

Site sécurité :Site sécurité :http://www.microsoft.com/france/securite http://www.microsoft.com/france/securite

Le blog non-Admin d’Aaron Margosis : Le blog non-Admin d’Aaron Margosis : http://blogs.msdn.com/aaron_margosishttp://blogs.msdn.com/aaron_margosis

Le Wiki Non-Admin : Le Wiki Non-Admin : http://nonadmin.editme.comhttp://nonadmin.editme.com

““Browsing the Web and Reading E-mail Safely Browsing the Web and Reading E-mail Safely as an Administrator” Part 1: as an Administrator” Part 1: http://msdn.microsoft.com/library/en-us/dncohttp://msdn.microsoft.com/library/en-us/dncode/html/secure11152004.aspde/html/secure11152004.aspPart 2: http://msdn.microsoft.com/library/en-Part 2: http://msdn.microsoft.com/library/en-us/dncode/html/secure01182005.aspus/dncode/html/secure01182005.asp

Page 40: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RéférencesRéférences

TweakUI: TweakUI: http://www.microsoft.com/windowsxp/downlohttp://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspxads/powertoys/xppowertoys.mspxOutils SysInternals : Outils SysInternals : http://www.sysinternals.comhttp://www.sysinternals.comDeveloping Software in Visual Studio .NET Developing Software in Visual Studio .NET with Non-Administrative Privilegeswith Non-Administrative Privilegeshttp://msdn.microsoft.com/library/default.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/?url=/library/en-us/dv_vstechart/html/tchDevelopingSoftwareInVisualStudioNETWithtchDevelopingSoftwareInVisualStudioNETWithNon-AdministrativePrivileges.aspNon-AdministrativePrivileges.aspHow to develop code as a non-admin How to develop code as a non-admin http://www.pluralsight.com/keith/book/html/hhttp://www.pluralsight.com/keith/book/html/howto_runasnonadmin.htmlowto_runasnonadmin.html

Page 41: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Autre idée (peu Autre idée (peu recommandée)recommandée)

Pour les irréductibles : comment Pour les irréductibles : comment exécuter de applications avec des exécuter de applications avec des privilèges réduits lorsque l'on est privilèges réduits lorsque l'on est administrateur, avec l'outil administrateur, avec l'outil DropMyRights.exe de Michael Howard DropMyRights.exe de Michael Howard

http://msdn.microsoft.com/security/securechttp://msdn.microsoft.com/security/securecode/columns/default.aspx?pull=/library/en-ode/columns/default.aspx?pull=/library/en-us/dncode/html/secure11152004.aspus/dncode/html/secure11152004.asp

http://blogs.msdn.com/michael_Howard/archttp://blogs.msdn.com/michael_Howard/archive/2005/01/17/354708.aspxhive/2005/01/17/354708.aspx

Page 42: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

RemerciementsRemerciements

Aaron MargosisAaron Margosis

Arnaud JumeletArnaud Jumelet

Page 43: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Microsoft FranceMicrosoft France18, avenue du Québec18, avenue du Québec

91 957 Courtaboeuf Cedex91 957 Courtaboeuf Cedex

www.microsoft.com/france

0 825 827 8290 825 827 829

[email protected]@microsoft.com

Page 44: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

ComplémentsComplémentsComplémentsCompléments

Page 45: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Le panneau de configurationLe panneau de configuration

Access.cplAccess.cpl

Appwiz.cplAppwiz.cpl

Desk.cplDesk.cpl

Hdwwiz.cplHdwwiz.cpl

Inetcpl.cplInetcpl.cpl

Intl.cpl Intl.cpl

Irprops.cplIrprops.cpl

Firewall.cplFirewall.cpl

Joy.cplJoy.cpl

Main.cplMain.cpl

Mmsys.cplMmsys.cpl

Ncpa.cplNcpa.cpl

Nusrmgr.cplNusrmgr.cpl

Netsetup.cplNetsetup.cpl

Odbccp32.cplOdbccp32.cpl

Powercfg.cpl Powercfg.cpl

Sysdm.cpl Sysdm.cpl

Telephon.cplTelephon.cpl

Timedate.cpl Timedate.cpl

Wscui.cpl Wscui.cpl

Wuaucpl.cplWuaucpl.cpl

Propriétés d'accessibilitéPropriétés d'accessibilité

Ajout/Suppression de propriétés de programmesAjout/Suppression de propriétés de programmes

Propriétés d'affichagePropriétés d'affichage

Propriétés Ajout de matérielPropriétés Ajout de matériel

Propriétés InternetPropriétés Internet

Propriétés Paramètres régionauxPropriétés Paramètres régionaux

Propriétés Port infrarougePropriétés Port infrarouge

Pare-feu WindowsPare-feu Windows

Propriétés de manettePropriétés de manette

Propriétés de sourisPropriétés de souris

Propriétés multimédiaPropriétés multimédia

Propriétés Connexions réseauPropriétés Connexions réseau

Propriétés de comptes d'utilisateurPropriétés de comptes d'utilisateur

Assistant Réseau Sans-filAssistant Réseau Sans-fil

Propriétés Data Source Administrator (ODBC) Propriétés Data Source Administrator (ODBC)

Propriétés Options d'alimentationPropriétés Options d'alimentation

Propriétés systèmePropriétés système

Propriétés Options de modems et téléphoniePropriétés Options de modems et téléphonie

Propriétés de temps et datePropriétés de temps et date

Centre de sécurité WindowsCentre de sécurité Windows

Mises à jour AutomatiqueMises à jour Automatique

Utiliser cmd.exe + fichier .cplUtiliser cmd.exe + fichier .cpl

Page 46: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

ComplémentsCompléments

Runas /netonlyRunas /netonlyNe pas faire Ne pas faire save credentials save credentials avec runas avec runas (par principe de sécurité)(par principe de sécurité)Dans XP Home, pas de PowerUser, Dans XP Home, pas de PowerUser, seulement 2 groupes : Owners et Usersseulement 2 groupes : Owners et UsersUsage domestique – jeux : choisir Usage domestique – jeux : choisir l’option « Installer pour tous les l’option « Installer pour tous les utilisateurs de cet ordinateur » si utilisateurs de cet ordinateur » si l’application propose ce choix. Dans le l’application propose ce choix. Dans le cas contraire l’administrateur sera la cas contraire l’administrateur sera la seule personne capable de pouvoir jouer seule personne capable de pouvoir jouer au jeu à la fin de l’installationau jeu à la fin de l’installation

Page 47: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

Utilisation FamilialeUtilisation Familiale

Créer un Administrateur sans mot de Créer un Administrateur sans mot de passe (l’ouverture de session ne sera passe (l’ouverture de session ne sera possible que de façon interactive, pas possible que de façon interactive, pas de netlogon et runas)de netlogon et runas)

Créer un utilisateur limitéCréer un utilisateur limité

Différencier les 2 comptes avec un Différencier les 2 comptes avec un fond d’écran spécial pour fond d’écran spécial pour l’administrateurl’administrateur

Page 48: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

WinsudoWinsudo

Page 49: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

WinsudoWinsudo

Page 50: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

WinsudoWinsudo

%windir%\system32\runas /user:administrator %windir%\system32\runas /user:administrator "cmd /c start \"\" control timedate.cpl && %windir%\system32\"cmd /c start \"\" control timedate.cpl && %windir%\system32\eventcreate.exe /ID 700 /T INFORMATION eventcreate.exe /ID 700 /T INFORMATION /D \"WINSUDO:CPL_DATE_AND_TIME-RUNAS_ADMIN\""/D \"WINSUDO:CPL_DATE_AND_TIME-RUNAS_ADMIN\""

Page 51: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

JetonJeton

La fonction CreateProcessWithLogon La fonction CreateProcessWithLogon génère un jeton en créant une nouvelle génère un jeton en créant une nouvelle session de connexion avec un processus session de connexion avec un processus initial. initial. La commande RunAs fonctionne de cette La commande RunAs fonctionne de cette manière.manière.

Note : restriction mot de passe vide pour Note : restriction mot de passe vide pour Windows XP et Windows Server 2003Windows XP et Windows Server 2003

Page 52: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeCreateTokenPrivilegeSeCreateTokenPrivilege

SeLockMemoryPrivilegeSeLockMemoryPrivilege

SeMachineAccountPrivilege SeMachineAccountPrivilege

SeSecurityPrivilege SeSecurityPrivilege

SeLoadDriverPrivilegeSeLoadDriverPrivilege

SeSystemtimePrivilegeSeSystemtimePrivilege

SeIncreaseBasePriorityPrivilegSeIncreaseBasePriorityPrivilege e

SeCreatePermanentPrivilege SeCreatePermanentPrivilege

SeRestorePrivilegeSeRestorePrivilege

SeDebugPrivilegeSeDebugPrivilege

SeSystemEnvironmentPrivilegeSeSystemEnvironmentPrivilege

SeRemoteShutdownPrivilegeSeRemoteShutdownPrivilege

SeSyncAgentPrivilegeSeSyncAgentPrivilege

SeAssignPrimaryTokenPrivilegeSeAssignPrimaryTokenPrivilege

SeIncreaseQuotaPrivilegeSeIncreaseQuotaPrivilege

SeTcbPrivilegeSeTcbPrivilege

SeTakeOwnershipPrivilegeSeTakeOwnershipPrivilege

SeSystemProfilePrivilegeSeSystemProfilePrivilege

SeProfileSingleProcessPrivilegeSeProfileSingleProcessPrivilege

SeCreatePagefilePrivilegeSeCreatePagefilePrivilege

SeBackupPrivilegeSeBackupPrivilege

SeShutdownPrivilegeSeShutdownPrivilege

SeAuditPrivilegeSeAuditPrivilege

SeChangeNotifyPrivilegeSeChangeNotifyPrivilege

SeUndockPrivilegeSeUndockPrivilege

SeEnableDelegationPrivilegeSeEnableDelegationPrivilege

Page 53: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeBackupPrivilege : revient à donner SeBackupPrivilege : revient à donner les permissions suivantes sur les permissions suivantes sur l’ensemble du système de fichier l’ensemble du système de fichier présent sur l’ordinateur local :présent sur l’ordinateur local :

Traverse Folder/Execute File, List Traverse Folder/Execute File, List Folder/Read Data, Read Attributes, Folder/Read Data, Read Attributes, Read Extended Attributes et Read Read Extended Attributes et Read Permissions.Permissions.

Page 54: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeDebugPrivilege : L’utilisateur peut SeDebugPrivilege : L’utilisateur peut s’attacher à n’importe quel processus s’attacher à n’importe quel processus pour le débugger. pour le débugger.

Ce privilège n’est pas requis pour Ce privilège n’est pas requis pour débugger vos propres programmes.débugger vos propres programmes.

Page 55: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeLoadDriverPrivilege : L’utilisateur SeLoadDriverPrivilege : L’utilisateur est autorisé à installer et désinstaller est autorisé à installer et désinstaller un pilote de périphérique. Il peut un pilote de périphérique. Il peut également démarrer et stopper les également démarrer et stopper les périphériques.périphériques.

Les pilotes de périphériques Les pilotes de périphériques s’exécutent en mode noyau, et s’exécutent en mode noyau, et peuvent ainsi prendre le contrôle peuvent ainsi prendre le contrôle total du système.total du système.

Page 56: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeSytemTimePrivilege : L’utilisateur SeSytemTimePrivilege : L’utilisateur est autorisé à changer l’heure de est autorisé à changer l’heure de l’horloge interne de son ordinateur.l’horloge interne de son ordinateur.

A partir de Windows 2000, par A partir de Windows 2000, par défaut, les utilisateurs ne possèdent défaut, les utilisateurs ne possèdent pas ce privilège afin de pas interférer pas ce privilège afin de pas interférer avec l’authentification Kerberos.avec l’authentification Kerberos.

Page 57: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeRestorePrivilege : L’utilisateur est SeRestorePrivilege : L’utilisateur est autorisé à passer outre les permissions autorisé à passer outre les permissions sur le système de fichiers afin de sur le système de fichiers afin de restaurer des fichiers et des dossiers.restaurer des fichiers et des dossiers.Peut également redéfinir le Peut également redéfinir le propriétaire d’un objet .propriétaire d’un objet .

Page 58: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

PrivilègesPrivilèges

SeTakeOwnershipPrivilege : Permet à SeTakeOwnershipPrivilege : Permet à un utilisateur de devenir le un utilisateur de devenir le propriétaire de n’importe quel objet propriétaire de n’importe quel objet comportant un descripteur de sécurité. comportant un descripteur de sécurité.

Cela inclut les objets Active Directory, Cela inclut les objets Active Directory, les fichiers et les répertoires, les les fichiers et les répertoires, les imprimantes, les clés de registre, les imprimantes, les clés de registre, les processus…processus…

Page 59: Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft

AutresAutres

NeoExec de NeoValens - un outil qui NeoExec de NeoValens - un outil qui permet de définir des privilèges au permet de définir des privilèges au niveau des applications. Le principe est niveau des applications. Le principe est de définir pour certaines applications de définir pour certaines applications qu'elles s'exécuteront toujours avec le qu'elles s'exécuteront toujours avec le privilèges administrateur. Utile à la privilèges administrateur. Utile à la maison pour certains jeux. maison pour certains jeux. http://www.neovalens.com/ http://www.neovalens.com/