Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pypykatz — Implémentation de Mimikatz en Python pur | Kitploit
Outils/GitHubGitHub/skelsec/pypykatz
Cassage de Mots de PasseOutils de Chiffrement/DéchiffrementCriminalistique MémoirePost-ExploitationCriminalistique NumériqueTests d'IntrusionAuthentification
GitHubskelsec/pypykatz

pypykatz

Implémentation de Mimikatz en Python pur

Voir le dépôt
3.3k429il y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Supported Python versions Twitter

🚩 Sponsors

Si vous aimez ce projet, envisagez d'acheter des licences d'OctoPwn, notre suite complète de pentest qui fonctionne dans votre navigateur !
Pour les notifications concernant les nouvelles versions et autres informations, rejoignez notre Discord

pypykatz

Implémentation de Mimikatz en Python pur. Du moins une partie :)
Fonctionne sur tous les systèmes d'exploitation supportant python>=3.6 pypy_card

🚩 Fonctionne dans le navigateur

Ce projet, ainsi que de nombreux autres outils de pentest, fonctionne dans le navigateur grâce à la puissance d'OctoPwn !
Consultez la version communautaire sur OctoPwn - Live

WIKI

Depuis la version 0.1.1, la ligne de commande a légèrement changé. Ne vous inquiétez pas, j'ai un super WIKI pour vous.

Installation

Installez-le via pip ou en clonant depuis github.
L'installateur créera un exécutable pypykatz dans le répertoire Scripts de Python. Vous pouvez l'exécuter depuis là, il devrait être dans votre PATH.
Attention, la version master de github peut échouer car je suis trop paresseux pour faire une branche appropriée pour les nouvelles versions. Je vais essayer de créer une branche de version stable cependant.

Via PIP

root@kitploit:~
pip3 install pypykatz

Via Github

Installer les prérequis

root@kitploit:~
pip3 install minidump minikerberos aiowinreg msldap winacl

Cloner ce dépôt

root@kitploit:~
git clone https://github.com/skelsec/pypykatz.git
cd pypykatz

Installer

root@kitploit:~
python3 setup.py install

Fonctionnalités

Général

Indépendant de la plateforme – toutes les commandes ont une version "live" et une version normale là où applicable. La version "live" utilisera le système actuel et ne fonctionne que sur Windows. Les commandes normales sont indépendantes de la plateforme.
Peut être utilisé comme bibliothèque pour vos projets.

Traitement LSASS

Permet d'analyser les secrets cachés dans le processus LSASS. Cela ressemble à sekurlsa:: de mimikatz mais avec des commandes différentes.
La principale différence ici est que toute la logique d'analyse est séparée de la source de données, donc si vous définissez un nouvel objet de lecture, vous pouvez essentiellement effectuer l'analyse de LSASS depuis n'importe où.

Sources de données actuellement prises en charge :

  1. live – lit la mémoire du processus LSASS directement
  2. minidump – traite un fichier minidump créé en vidant le processus LSASS
  3. rekall (fork de volatility) – traite essentiellement TOUT vidage mémoire Windows que rekall peut analyser
  4. pcileech – plus supporté
  5. distant – c'est un autre projet. À déterminer :)
  6. votre projet ici sérieusement, c'est super simple à intégrer.

Traitement du registre

Analyse les ruches du registre pour obtenir les informations d'identification stockées, comme les hash NT et LM, les informations d'identification mises en cache du domaine (DCC/DCC2) et les secrets LSA.

Sources de données actuellement prises en charge :

  1. live – dispose de deux techniques pour analyser le registre en direct. La première est en mémoire, ne touche pas au disque, la seconde consiste à vider les ruches et à les analyser avec l'analyseur hors ligne
  2. hors ligne (fichiers de ruche)
  3. votre projet ici sérieusement, c'est super simple à intégrer.

Fonctions DPAPI – MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI est le protecteur des secrets locaux de nombreux types. Actuellement, le projet prend en charge le déchiffrement des masterkeys, des blobs dpapi, des fichiers d'identification, des fichiers de coffre.
Les résultats ne sont pas corrects à 100 %, car il n'y a pas beaucoup de documentation sur la plupart de ces éléments. Les PR sont toujours les bienvenus !

Sources de données actuellement prises en charge :

  1. live – obtient les masterkeys directement depuis LSASS -OU- les clés utilisateur/machine depuis le registre en direct et déchiffre le fichier masterkey.
  2. fichiers de ruche (hors ligne) – les clés utilisateur/machine depuis le registre en direct et déchiffre le fichier masterkey
  3. informations d'identification valides (hors ligne) – peut déchiffrer les fichiers masterkey en vous permettant de saisir le bon SID et mot de passe.
  4. s'il vous plaît, n'intégrez pas cette partie à votre projet, c'est une version bêta

Usurpation d'utilisateurs

Peut créer un nouveau processus en tant que n'importe quel utilisateur ayant un processus en cours d'exécution sur la machine.
Peut attribuer n'importe quel jeton disponible de votre choix à votre thread
C'est vraiment basique. La raison est que j'ai horreur d'utiliser constamment psexec pour obtenir un shell système à partir d'admin...

Autres trucs

ouais... vérifiez le code. Il a des commentaires et tout...

Options de commande Rekall

Remplacement de l'horodatage

Raison d'être de ce paramètre : pour choisir la bonne structure d'analyse, nous avons besoin des informations d'horodatage du fichier msv dll. Rekall n'a malheureusement pas toujours ces informations pour une raison quelconque, donc l'analyse peut échouer.
Si l'analyse échoue, cela pourrait résoudre le problème.

Paramètre : -t
Valeurs : 0 ou 1
Exemple :

root@kitploit:~
pypykatz.py rekall <fichier_vidage_mémoire> -t 0

Utilisation de Rekall

Il existe deux façons d'utiliser l'analyse mémoire basée sur rekall.

Via la commande pypykatz rekall

Vous devrez spécifier le fichier mémoire à analyser.

Via la ligne de commande rekall

AVIS IMPORTANTS :

  1. Si vous décidez maintenant d'installer rekall, veuillez noter : il DOIT être exécuté dans un environnement virtuel, et vous devrez installer pypykatz dans le même environnement virtuel !
  2. La ligne de commande rekall n'est pas adaptée pour afficher toutes les informations extraites de la mémoire, vous devez utiliser les commutateurs de commande out_file et kerberos_dir !

Vous trouverez un fichier de plugin rekall nommé pypykatz_rekall.py dans le dossier plugins de pypykatz.
Vous devrez le copier dans le dossier plugins/windows de rekall, et le renommer en pypykatz.py.
Après cela, modifiez le fichier __init__.py situé dans le même dossier et ajoutez la ligne suivante à la fin : from rekall.plugins.windows import pypykatz
Si tout va bien, vous pouvez utiliser la commande pypykatz directement depuis la ligne de commande rekall.

AIDE RECHERCHÉE

Si vous voulez m'aider à obtenir une version stable de ce projet, vous pouvez envoyer des minidumps du processus lsass.exe au lien suivant : https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA IMPORTANT : veuillez NE PAS envoyer de dumps du processus lsass de votre propre machine ! Je pourrai voir vos secrets, y compris les hash/mots de passe ! Envoyez des fichiers de dump provenant de machines comme des systèmes de test virtuels sur lesquels vous ne craignez pas que quelqu'un voie les informations d'identification. (si vous avez un système de domaine de test où Kerberos est configuré, ce serait le mieux)
J'apprécierais également que vous ne me spammiez pas...

Pourquoi ai-je besoin de ces fichiers de dump ?

Pour créer mimikatz en Python, il faudrait définir les structures d'une myriade de structures différentes (vérifiez le code original) sans l'aide de l'analyseur intégré que l'on obtient naturellement avec un compilateur natif. Le problème est que même un seul octet de décalage rendra l'analyse de ces structures erronée. Le problème concerne principalement les alignements 32-64 bits, donc les dumps LSASS de Windows 32 bits sont également appréciés !

Résumé

J'ai besoin de données pour vérifier le code et appliquer les modifications nécessaires aux analyseurs jusqu'à ce que tout fonctionne correctement.
Soumettre des problèmes sur cette page github ne servirait à rien sans le fichier réel, et github n'aimerait pas les pièces jointes de 40 à 300 Mo.

Prérequis

La plupart de mes grands projets Python visent une portabilité maximale, ce qui signifie que je n'utilise des packages tiers que lorsque cela est absolument nécessaire.
Pour l'instant, trois packages supplémentaires sont utilisés, et j'ai l'intention de rester ainsi.

Python>=3.6
minidump
minikerberos
asn1crypto

Remerciements

Benjamin DELPY @gentilkiwi pour Mimikatz
Francesco Picasso pour le plugin mimikatz.py pour volatility
Alberto Solino (@agsolino) pour impacket

Crypto

Richard Moore pour le module AES
Todd Whiteman pour le module DES

Utilitaires

David Buxton pour le script de conversion d'horodatage

Télécharger l’outil