Mimikatz (1/4) : présentation, fonctionnement et contre-mesures (tuto de A à Z)

Embed Size (px)

DESCRIPTION

Présentation de l'outil de récupération des mots de passe Mimikatz. Détail du fonctionnement du processus LSASS

Citation preview

  • 1

    Mimikatz (1/4) : prsentation, fonctionnement, contre-mesures

    et processus LSASS (v3.04)

    Tutorial conu et rdig par Michel de CREVOISIER - aot 2014

    ARTICLES ASSOCIES

    1. Mimikatz : prsentation, fonctionnement, contre-mesures et processus LSASS (lien) 2. Mimikatz : extraction de mots de passe partir dun dump du processus LSASS (lien) 3. Mimikatz : rcupration de mots de passe via Metasploit et Meterpreter (lien) 4. Mimikatz : matrice de tests de fonctionnement en environnement Windows (lien)

  • 2

    INDEX

    1. Prsentation de Mimikatz ..................................................................................................................... 3

    2. Prsentation du processus LSASS .......................................................................................................... 4

    3. Fonctionnement du processus dauthentification ................................................................................. 5

    3.1 Processus dauthentification........................................................................................................... 5

    3.2 Fournisseurs dauthentification (SSP).............................................................................................. 6

    4. Rcupration des mots de passe ........................................................................................................... 6

    5. Recommandations de scurit .............................................................................................................. 7

    5.1 Comptes locaux .............................................................................................................................. 7

    5.2 Comptes privilges ...................................................................................................................... 8

    5.3 Administration des serveurs ........................................................................................................... 8

    5.4 Pare-feu ......................................................................................................................................... 8

    5.5 LSASS et SSP ................................................................................................................................... 9

    Conclusion................................................................................................................................................... 10

  • 3

    1. Prsentation de Mimikatz Derrire ce nom aux apparences douces et dlicates se cache en ralit un puissant outil capable de djouer les mcanismes de scurit les plus robustes des systmes dexploitation Windows. Dvelopp par Benjamin DELPY (alias @gentilkiwi) et apparu pour la premire fois en 2007, Mimikatz (source) est capable de rcuprer :

    Les mots de passe en mmoire Les mots de passe du gestionnaire didentification de Windows Les certificats ainsi que leur clef prive Les tickets Kerberos ( des fins de rejeu) Et bien dautres encore

    Plus rcemment, une deuxime version de Mimikatz est apparue. Elle remet de lhuile sur le feu en soulevant de nouvelles interrogations autour de la scurit de Windows et de lutilisation peu louable dun tel logiciel : usurpation didentit, accs frauduleux des donnes, vol dinformations, compromission de systmes dinformation Pour mener bien ces diffrents exploits, Mimikatz dispose dun arsenal de modules la carte lists ci-dessous :

    Dans cet article nous nous focaliserons uniquement sur le module sekurlsa dont la finalit est de rcuprer lensemble des mots de passe dtenus en mmoire par le processus LSASS. Les rles et le fonctionnement de ce processus seront par ailleurs prsents la suite.

  • 4

    2. Prsentation du processus LSASS LSASS ( Local Security Authority Subsystem Service ) est un processus systme en charges des rles suivants (source) :

    Authentification des utilisateurs via les diffrents fournisseurs de scurit (SSP ou Security Support Provider ) (source)

    Gestion des politiques de scurit locales (domaines et utilisateurs autoriss, politiques de mot de passe, gestion des privilges, )

    Envoi des alertes de scurit au journal dvnements Ce processus ainsi que son tat sont visibles depuis le gestionnaire des tches :

  • 5

    3. Fonctionnement du processus dauthentification

    3.1 Processus dauthentification Dans le cadre du processus dauthentification des utilisateurs, le processus LSASS est en charge de fournir un mcanisme de SSO ( Single SignOn ) transparent lors de ltablissement dune connexion. Pour se faire, le systme dinterface SSPI (source) est utilis afin dtablir un lien entre les applications externes et les diffrents fournisseurs de scurit (ou SSP) prsents au sein de Windows. Ce systme permet galement une application dappeler simultanment plusieurs SSP tout en ignorant leurs caractristiques. Le schma ci-dessous liste ces diffrents fournisseurs ainsi que leurs rles et connexions au sein du processus LSASS.

  • 6

    3.2 Fournisseurs dauthentification (SSP) Les diffrents SSP prsents au sein de Windows ainsi que leurs rles sont prsents ci-dessous :

    NTLMSSP : est utilis pour une authentification par challenge/response au travers des protocoles LM, NTLM et NTLMv2

    Kerberos : est utilis lors dune connexion rseau pour sauthentifier auprs du service KDC ( Key Distribution Center ) prsent sur un contrleur domaine Active Directory

    DigestSSP : est utilis pour une authentification web de type http ou SASL (source) LiveSSP : apparu avec Windows 8, il permet lauthentification au poste de travail via un

    compte LiveID (Outlook.com, Hotmail, Live) CredSSP : apparu avec Windows Vista, ce fournisseur apporte un nouveau mcanisme de

    scurisation du protocole RDP ( Remote Desktop Protocol ) dnomm NLA ( Network Level Authentication ) permettant ltablissement dun canal TLS durant le processus dauthentification. Ce SSP est prsent sous lappellation tskpg

    Schannel : est utilis par les applications ncessitant un canal de transport scuris tels que TLS, SSL et PCT ( Private Communications Transport )

    Il existe galement dautres fournisseurs de scurit moins connus ou avec un rle distinct :

    Negociate : nest pas un SSP classique . Il est en effet utilis lorsquune application tente dtablir une connexion sans prciser de SSP particulier. Dans ce cas, une ngociation sera initie afin de dterminer le fournisseur didentit le plus adapt parmi les suivants : Kerberos, NTLMSSP ou NegoExts. Ce fournisseur de scurit est galement connu sous les appellations de SPNego ou Integrated Windows Autentication

    NegoExts : apparu avec Windows 7. Il se prsente comme une extension du SSP Negociate en apportant le support de SSP personnaliss dont PKU2U (source)

    PKU2U ( Public Key Cryptography Based User-to-User ) : permet dtablir une authentification paire paire entre deux quipements. Il est utilis par la fonctionnalit Home Group afin doffrir un partage simplifi de fichiers hors-domaine

    A titre dinformation, sachez quil existe des SSP malveillants (PDF) pouvant tre exploits par des attaquants.

    4. Rcupration des mots de passe Pour fournir ledit mcanisme de SSO, LSASS charge en mmoire lensemble des mots de passe utiliss par lutilisateur au dmarrage du systme. Ces mots de passe sont chiffrs laide dune clef symtrique (en AES ou 3DES depuis la version 6 du noyau Windows NT) galement stocke en mmoire. Dans les premires versions de Mimikatz, le processus LSASS tait ouvert afin de lui injecter la librairie sekurlsa.dll et ainsi rcuprer les mots de passe et clefs de (d)chiffrement prsents en mmoire (source). Cette mthode est toutefois rvolue puisquelle est dtecte par lensemble des antivirus rcents et quelle peut entrainer un crash complet du processus voir du systme. Dans les dernires montures, les clefs de chiffrements prsentes en mmoire sont lues et copies vers Mimikatz. Une fois cette action ralise, ce dernier na plus qu appeler les diffrentes routines publiques de dchiffrement pour obtenir les mots de passe en clair (source). On soulignera au passage que cette technique passe totalement inaperue lgard des antivirus actuels.

  • 7

    5. Recommandations de scurit Les recommandations cites la suite sont utiliser selon les contextes prsents dans ce tuto et sont adapter selon les politiques et besoins de votre entreprise.

    5.1 Comptes locaux

    Nattribuez pas le privilge dadministrateur local aux comptes utilisateurs standards Supprimez lattribution du privilge debug aux administrateurs locaux par GPO partir du

    chemin suivant : Computer configuration > Windows settings > Security settings > Local policies > User rights assignement

    Limitez lutilisation de comptes locaux (avec ou sans privilges) pour lexcution de services

    ou applications Windows. Prfrez pour cela lutilisation de comptes MSA ( Managed Service Account ) ou gMSA ( Group Managed Service Account ) (tuto)

    Activez lUAC ( User Account Control ) sur lensemble des postes et serveurs par GPO

    (source) : Computer configuration > Windows settings > Security settings > Security options > User account control : *

  • 8

    5.2 Comptes privilges

    Contrlez et rduisez au maximum le nombre dadministrateurs membres des groupes : o Domain admins (DA) o Enterprise admins (EA)

    Empchez les membres des groupes Enterprise admins et Domain admins de se

    connecter localement sur les postes de travail et les serveurs de faible confiance Utilisez la fonctionnalit Protected Users group pour protger les comptes sensibles. Cette

    fonctionnalit nest toutefois disponible qu partir de Windows 8.1 et Windows Server 2012 R2 (source)

    o Information : les membres de ces groupes ne pourront utiliser que lauthentification Kerberos, leur mot de passe ne sera pas stock en cache et ils devront obligatoirement utiliser un algorithme de chiffrement robuste tel que lAES. Par ailleurs, ces comptes ne disposeront daucune possibilit de dlgation et la dure des tickets dlivrs sera de 4h

    5.3 Administration des serveurs

    Utilisez des stations de relais ( jump station ) pour raliser les tches dadministration des serveurs distance

    Utilisez des comptes distincts pour lusage du poste de travail et ladministration des serveurs Rduisez 2 le nombre didentifiants en cache ( cached logons ) (source)

    5.4 Pare-feu

    Dsactivez le partage de fichiers (SMB 445) sur les postes clients par GPO via le chemin suivant pour empcher lutilisation de PSexec : Computer configuration > Windows settings > Security settings > Windows Firewall with advanced security

  • 9

    5.5 LSASS et SSP

    Dsactivez les fournisseurs didentit (SSP) tels que DigestSSP (WDigest) et tspkg (CredSSP). Cette action na toutefois plus dintrt depuis que Mimikatz est capable de rvler les mots de passe du SSP Kerberos. A titre dinformation, la liste des fournisseurs activs est disponible dans le registre lemplacement suivant (Windows 8.1) :

    o HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\

    Activez le mode LSA Protection alias RunAsPPL (source) :

    o Information : le mode LSA protection permet de protger le processus LSASS contre toute tentative daccs par un processus non sign par Microsoft. Un processus malveillant mme excut par le compte SYSTEM ne pourra donc pas accder au contenu du processus LSASS. Pour rendre permanent lactivation de ce mcanisme, un paramtre est stock dans la partition (masque) UEFI du systme.

    o Prrequis : la mise en place de ce mcanisme ncessite lutilisation dun BIOS de type

    UEFI (source) conjointement au Secure Boot (source). Si ces prrequis ne sont pas respects, un attaquant pourra facilement dsactiver cette fonctionnalit en supprimant la clef de registre concerne. Il devra toutefois redmarrer la machine afin dappliquer les modifications.

    o Dsactivation : pour dsactiver ce mcanisme de protection, il est ncessaire de tlcharger le fichier *.EFI suivant et de suivre la procdure indique.

    Activez lenregistrement dvnements associs au chargement de SSP non signs. Pour cela,

    crez la clef AuditLevel avec la valeur 8 lemplacement suivant : o HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image

    File Execution Options\LSASS.exe\

    o Auditez les vnements avec les ID 3065 et 3066

  • 10

    Conclusion Mimikatz se prsente donc comme un outil innovant de par son fonctionnement et alarmant de par ses fonctionnalits. Toutefois, de nouvelles techniques dattaques reposant sur Mimikatz se sont dveloppes au fil des annes. Elles rendent son utilisation beaucoup plus souple en permettant son excution distance et son exploitation partir de la bibliothque Metasploit (source).

    Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante : m.decrevoisier A-R-0-B-A-5 outlook . com

    Soyez-en dores et dj remerci

    1. Prsentation de Mimikatz2. Prsentation du processus LSASS3. Fonctionnement du processus dauthentification3.1 Processus dauthentification3.2 Fournisseurs dauthentification (SSP)

    4. Rcupration des mots de passe5. Recommandations de scurit5.1 Comptes locaux5.2 Comptes privilges5.3 Administration des serveurs5.4 Pare-feu5.5 LSASS et SSP

    Conclusion