La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Principe du moindre privilège en action

Présentations similaires


Présentation au sujet: "Principe du moindre privilège en action"— Transcription de la présentation:

1 Principe du moindre privilège en action
3/25/2017 1:12 AM Principe du moindre privilège en action Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft France Cyril Voisin Chef de programme Sécurité Microsoft France © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

2 Bon à savoir Pour récupérer les présentations mises à jour, se connecter sur rubrique événements Pour poser une question que vous n’avez pas eu le temps de poser durant une session

3 Sommaire Pourquoi vous auriez tout intérêt à utiliser un compte utilisateur normal, même si vous êtes administrateur Comment faire sans devenir dingue Les conseils Des démos, des démos, des démos !

4 Définitions Non-Admin LUA Principe du moindre privilège
3/25/2017 1:12 AM Non-Admin “Utilisateur avec pouvoir” N’est PAS un Non-Admin ! Typiquement : “Utilisateurs”, “Utilisateurs du domaine” LUA Limited User Account Least-privileged User Account Principe du moindre privilège © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 Les expositions aux risques ne manquent pas
Navigation sur le Web Messagerie instantanée Jeux sur Internet Lecteurs audio/vidéo Et ce, quel que soit le fournisseur des applications

6 Ce qu’un compte Admin peut faire, qu’un LUA ne peut pas faire :
3/25/2017 1:12 AM Installer des rootkits en mode noyau Installer des keyloggers au niveau système (pour capture les mots de passe, y compris ceux saisis à l’ouverture de session) Installer des contrôles ActiveX, y compris des extensions de l’explorateur ou d’IE (activité courante pour les spywares) Installer et démarrer des services Arrêter des services existants (comme le pare-feu par exemple) Accéder à des données qui appartiennent à d’autres utilisateurs Faire en sorte que du code s’exécute lorsqu’un autre utilisateur ouvrira une session Remplacer des fichiers d’applications ou du système d’exploitation par des chevaux de Troie Accéder aux secrets LSA (dont les mots de passe des comptes de service du domaine servant) Désactiver ou désinstaller l’anti-virus Créer ou modifier des comptes utilisateurs Réinitialiser des mots de passe Modifier le fichier hosts et d’autres paramètres de configuration du système Éliminer ses traces dans le journal des événements Rendre votre machine incapable de démarrer © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7 “Mais mon métier est d’être administrateur…”
Dans ce cas, ouvrir une session avec un compte normal et exécuter en tant qu’admin uniquement les tâches administratives La plupart des utilisateurs en entreprise ne devrait jamais avoir besoin de privilèges élevés

8 Le cas des développeurs
3/25/2017 1:12 AM Développer sans être administrateur Améliore votre logiciel Vous permet de trouver les bugs plus rapidement Diminue les coûts de développement Est plus sûr Les bugs LUA La fonctionnalité ne marche que si on est admin Cause : le développeur était admin de sa machine ! “ça marche sur ma machine !” Dépense non nécessaire Résolution: Refaire l’implémentation ou même ré-architecturer ou Demander les privilèges admin pour exécuter le produit © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

9 “Je suis en sécurité parce que …”
3/25/2017 1:12 AM … je suis à jour au niveau des correctifs … je maintiens à jour mon antivirus … j’utilise un pare-feu … j’utilise Windows XP SP2 … j’utilise Microsoft AntiSpyware ! … j’ai un mot de passe fort … je n’ouvre pas les pièces jointes étranges dans les s … je fais attention à où je navigue … je n’installe pas n’importe quel logiciel … j’ai du bon sens / je suis rusé … je n’ai jamais été infecté © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 Et les Zero-Day Exploits ?
3/25/2017 1:12 AM Vulnérabilités sans correctifs Reverse-engineering du correctif dès sa sortie Divulgation publique avant l’arrivée du correctif Vulnérabilités inconnues jusqu’alors L’exploitation précède la divulgation publique © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

11 Exemple : Download.Ject
3/25/2017 1:12 AM Zero-day pour Internet Explorer Exploitation venant de sites Web légitimes Ce n’était pas la première fois, et ça ne sera probablement pas la dernière © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 Non-admin et les rootkits
3/25/2017 1:12 AM Sujet de la dernière session de la journée La plupart des rootkits nécessitent des privilèges Admin Installent/chargent des pilotes noyau Installent des services Détournent des fonctions noyau ou des interruptions Modifient les structures de données du noyau Les rootkits en mode LUA Plus faciles à détecter Moins d’endroits où se cacher et assurer leur démarrage automatique N’affectent qu’un seul utilisateur © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

13 “OK, c’est bon je suis convaincu. Et comment fait-on ?”

14 Passer Admin quand c’est nécessaire
Changement rapide d’utilisateur (Fast User Switching) Windows XP Edition Familiale Windows XP Professionnel, hors domaine Les sessions de logon sont isolées les unes des autres Suggestion pour l’usage domestique : Un LUA par personne, compte invité optionnel Un compte Admin Pas de mots de passe !

15 Changement rapide d’utilisateur
3/25/2017 1:12 AM démo Changement rapide d’utilisateur © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

16 RunAs Démarre un programme avec un utilisateur différent (ou le même mais avec un jeton de sécurité modifié) Même bureau En ligne de commande ou avec une boîte de dialogue dans l’interface graphique Les programmes « fils » héritent du contexte de sécurité de leur « parent » Démarrer CMD en tant qu’admin Lancer des applications depuis ce CMD Elles s’exécutent en tant qu’admin

17 Boîte de dialogue Exécuter en tant que (RunAs)
3/25/2017 1:12 AM Menu contextuel par clic droit Applis, raccourcis Console MMC (.msc) Shift+clic droit pour : Les applis du Panneau de configuration (.cpl) “Les liens spéciaux Windows Installer” © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

18 Boîte de dialogue Exécuter en tant que (RunAs)
Faire en sorte qu’un raccourci propose systématiquement la boîte de dialogue “Exécuter en tant que” Propriétés du raccourci, Propriétés avancées

19 RunAs en ligne de commande
3/25/2017 1:12 AM En ligne de commande (plus riche, authentification par smart card et possibilité de ne pas charger le profil) Ne pas charger le profil : si on crée un compte et qu’on n’ouvre pas de session interactive, il n’y a pas de création du profil => échec /noprofile Exemple : runas /u:Administrateur cmd.exe © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

20 RunAs – Indication visuelle
3/25/2017 1:12 AM cmd.exe /t:4f /k cd c:\ && title ***** Console admin ***** runas.exe /user:%computername%\Administrator "cmd.exe /k color 4f && title ** Console Admin **" Utiliser la commande color -? pour trouver les couleurs qui vous vont bien.. © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 RunAs – indication visuelle
Image de fond pour IE et l’explorateur Réglé via TweakUI par ex.

22 PrivBar Exécution d’IE en tant qu’admin:
… comme utilisateur avec pouvoir : … comme utilisateur normal : … avec “Protéger ma machine”:

23 PrivBar (suite)

24 RunAs / PrivBar / TweakUI
démo RunAs / PrivBar / TweakUI

25 RunAs et les fichiers .MSI
3/25/2017 1:12 AM Les fichiers Windows Installer (.msi) n’offrent pas l’option RunAs On peut l’ajouter dans les Options des dossiers ou En exécutant tout simplement le fichier depuis un CMD Admin : C:\Downloads> gpmc.msi © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 Parfois RunAs ne fonctionne pas
Certaines applications sont mono-instances L’explorateur de Windows Microsoft Office Word Certaines applications sont lancées par le shell ShellExecute[Ex] DDE La version précédente de WindowsUpdate (v5)!  (v6 dispo depuis le 6 juin !!)

27 RunAs et l’explorateur
Deux solutions : Indiquer à l’explorateur d’exécuter plusieurs instances “Launch folder windows in a separate process” Avertissement concernant ce paramétrage Ou utiliser Internet Explorer à la place ie.cmd @start "" /b "%ProgramFiles%\Internet Explorer\iexplore.exe" %* Exemple : ie c:\

28 RunAs et l’explorateur
démo RunAs et l’explorateur

29 Problèmes liés à l’utilisation d’un compte Admin local
Pas d’accès aux ressources du domaine Des paramètres de profil différents Certaines applications supposent que la personne qui l’installe est celle qui va l’utiliser Paramètres de stratégie par utilisateur Options d’alimentation Solution ? Script MakeMeAdmin d’Aaron Margosis

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

31 démo MakeMeAdmin

32 Autres remarques Il n’est pas possible d’utiliser un IE admin via RunAs pour mettre à jour la machine depuis Windows Update v5 (il faut soit ouvrir une session complète séparée, soit faire une installation automatique ; l’installation de mise à jour à l’extinction de la machine fonctionne en LUA) Regedit est mono-instance (utiliser /m) Changement d’heure non permis en tant que LUA Attribuer le privilège SeSytemTimePrivilege Attention : tolérance limitée de Kerberos

33 Autres remarques Pour savoir quel est le compte
Set username Whoami Dans un CMD en RunAs, le Ctrl+C ne marche pas : utiliser Ctrl+Break Panneau de configuration : possibilité de lancer des .cpl directement (si Explorateur configuré correctement) Winsudo

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

35 Astuces pour les scripts
Trouver le nom du groupe local Administrateurs avec psgetsid.exe : @echo off setlocal for /F "skip=1 tokens=2" %%x in ('psgetsid S ') do set ADMINNAME=%%x echo ADMINNAME=%ADMINNAME% endlocal Trouver le nom de l'administrateur local avec off setlocal for /F "skip=1" %%x in ('psgetsid %computername%') do set COMPSID=%%x for /F "skip=1 tokens=2" %%x in ('psgetsid %COMPSID%-500') do set ADMINNAME=%%x echo ADMINNAME=%ADMINNAME% endlocal Déterminer si on est administrateur ou non, avec whoami.exe des Support Tools de Windows XP : @echo off whoami.exe /groups /noverbose | find "BUILTIN\Administrat" if "%ERRORLEVEL%"=="0" ( echo Admin!! ) else ( echo Non admin !! )

36 Développeurs 3/25/2017 1:12 AM 90% des programmes ne fonctionnent pas sans les privilèges administrateurs à cause de : Écriture dans %ProgramFiles%, %windir% Écriture dans HKEY_LOCAL_MACHINE (HKLM) Pour faire en sorte qu’un programme s’exécute sans les privilèges administrateurs : ACT 4.01 (Application Compatibility Toolkit ) : Outil gratuit sur le site web de Microsoft Regmon et Filemon : outils gratuits de sysinternals Emprunt d’identité (Impersonation) : lorsqu’un thread s’exécute sous un contexte de sécurité différent de son processus père. Attention : tous les threads d’un processus partagent la même table des handles. Source : WSC2 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

37 Longhorn LUA est un des objectifs de cette version

38 Ressources

39 Références Site sécurité : http://www.microsoft.com/france/securite
Le blog non-Admin d’Aaron Margosis : Le Wiki Non-Admin : “Browsing the Web and Reading Safely as an Administrator” Part 1: Part 2:

40 Références TweakUI: Outils SysInternals : Developing Software in Visual Studio .NET with Non-Administrative Privileges How to develop code as a non-admin

41 Autre idée (peu recommandée)
Pour les irréductibles : comment exécuter de applications avec des privilèges réduits lorsque l'on est administrateur, avec l'outil DropMyRights.exe de Michael Howard

42 Remerciements Aaron Margosis Arnaud Jumelet

43 Microsoft France 18, avenue du Québec 91 957 Courtaboeuf Cedex
3/25/2017 1:12 AM Microsoft France 18, avenue du Québec Courtaboeuf Cedex © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

44 Compléments

45 Le panneau de configuration
Utiliser cmd.exe + fichier .cpl Access.cpl Appwiz.cpl Desk.cpl Hdwwiz.cpl Inetcpl.cpl Intl.cpl Irprops.cpl Firewall.cpl Joy.cpl Main.cpl Mmsys.cpl Ncpa.cpl Nusrmgr.cpl Netsetup.cpl Odbccp32.cpl Powercfg.cpl Sysdm.cpl Telephon.cpl Timedate.cpl Wscui.cpl Wuaucpl.cpl Propriétés d'accessibilité Ajout/Suppression de propriétés de programmes Propriétés d'affichage Propriétés Ajout de matériel Propriétés Internet Propriétés Paramètres régionaux Propriétés Port infrarouge Pare-feu Windows Propriétés de manette Propriétés de souris Propriétés multimédia Propriétés Connexions réseau Propriétés de comptes d'utilisateur Assistant Réseau Sans-fil Propriétés Data Source Administrator (ODBC) Propriétés Options d'alimentation Propriétés système Propriétés Options de modems et téléphonie Propriétés de temps et date Centre de sécurité Windows Mises à jour Automatique

46 Compléments Runas /netonly
3/25/2017 1:12 AM Runas /netonly Ne pas faire save credentials avec runas (par principe de sécurité) Dans XP Home, pas de PowerUser, seulement 2 groupes : Owners et Users Usage domestique – jeux : choisir l’option « Installer pour tous les utilisateurs de cet ordinateur » si l’application propose ce choix. Dans le cas contraire l’administrateur sera la seule personne capable de pouvoir jouer au jeu à la fin de l’installation Use RUNAS /NETONLY: RUNAS /NETONLY /u:domain\username "explorer /e,/root,\\servername" /NETONLY creates a new logon session with your existing token, but with the account you specify for all SSPI-based network access. Because Explorer needs to run in this new logon session instead of that of your desktop, you need to set the SeparateProcess flag for your *current* account to make this work. © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

47 Utilisation Familiale
Créer un Administrateur sans mot de passe (l’ouverture de session ne sera possible que de façon interactive, pas de netlogon et runas) Créer un utilisateur limité Différencier les 2 comptes avec un fond d’écran spécial pour l’administrateur

48 Winsudo

49 Winsudo

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

51 Jeton La fonction CreateProcessWithLogon génère un jeton en créant une nouvelle session de connexion avec un processus initial. La commande RunAs fonctionne de cette manière. Note : restriction mot de passe vide pour Windows XP et Windows Server 2003

52 Privilèges SeCreateTokenPrivilege SeLockMemoryPrivilege
3/25/2017 1:12 AM SeCreateTokenPrivilege SeLockMemoryPrivilege SeMachineAccountPrivilege SeSecurityPrivilege SeLoadDriverPrivilege SeSystemtimePrivilege SeIncreaseBasePriorityPrivilege SeCreatePermanentPrivilege SeRestorePrivilege SeDebugPrivilege SeSystemEnvironmentPrivilege SeRemoteShutdownPrivilege SeSyncAgentPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege SeTcbPrivilege SeTakeOwnershipPrivilege SeSystemProfilePrivilege SeProfileSingleProcessPrivilege SeCreatePagefilePrivilege SeBackupPrivilege SeShutdownPrivilege SeAuditPrivilege SeChangeNotifyPrivilege SeUndockPrivilege SeEnableDelegationPrivilege © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

53 Privilèges SeBackupPrivilege : revient à donner les permissions suivantes sur l’ensemble du système de fichier présent sur l’ordinateur local : Traverse Folder/Execute File, List Folder/Read Data, Read Attributes, Read Extended Attributes et Read Permissions.

54 Privilèges SeDebugPrivilege : L’utilisateur peut s’attacher à n’importe quel processus pour le débugger. Ce privilège n’est pas requis pour débugger vos propres programmes.

55 Privilèges SeLoadDriverPrivilege : L’utilisateur est autorisé à installer et désinstaller un pilote de périphérique. Il peut également démarrer et stopper les périphériques. Les pilotes de périphériques s’exécutent en mode noyau, et peuvent ainsi prendre le contrôle total du système.

56 Privilèges SeSytemTimePrivilege : L’utilisateur est autorisé à changer l’heure de l’horloge interne de son ordinateur. A partir de Windows 2000, par défaut, les utilisateurs ne possèdent pas ce privilège afin de pas interférer avec l’authentification Kerberos.

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

58 Privilèges SeTakeOwnershipPrivilege : Permet à un utilisateur de devenir le propriétaire de n’importe quel objet comportant un descripteur de sécurité. Cela inclut les objets Active Directory, les fichiers et les répertoires, les imprimantes, les clés de registre, les processus…

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


Télécharger ppt "Principe du moindre privilège en action"

Présentations similaires


Annonces Google