Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pypykatz — Implementazione di Mimikatz in puro Python | Kitploit
Strumenti/GitHubGitHub/skelsec/pypykatz
Password CrackingStrumenti di Crittografia/DecrittografiaMemory ForensicsPost-ExploitDigital ForensicsPenetration TestingAutenticazione
GitHubskelsec/pypykatz

pypykatz

Implementazione di Mimikatz in puro Python

Vedi Repository
3.3k4294 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Supported Python versions Twitter

🚩 Sponsor

Se ti piace questo progetto, considera l'acquisto di licenze di OctoPwn, la nostra suite completa di penetration testing che gira nel tuo browser!
Per notifiche su nuove build/rilasci e altre informazioni, unisciti al nostro Discord

pypykatz

Implementazione di Mimikatz in puro Python. Almeno una parte di esso :)
Funziona su tutti i sistemi operativi che supportano Python>=3.6 pypy_card

🚩 Esegue nel browser

Questo progetto, insieme a molti altri strumenti per penetration tester, gira nel browser grazie alla potenza di OctoPwn!
Dai un'occhiata alla versione community su OctoPwn - Live

WIKI

Dalla versione 0.1.1 la riga di comando è cambiata un po'. Non preoccuparti, ho un'ottima WIKI per te.

Installazione

Installalo tramite pip o clonandolo da GitHub.
L'installer creerà un eseguibile pypykatz nella directory Script di Python. Puoi eseguirlo da lì, dovrebbe essere nel tuo PATH.
Attenzione: la versione master di GitHub potrebbe fallire perché sono pigro per creare un branch appropriato per le nuove versioni. Cercherò comunque di creare un branch della versione stabile.

Tramite PIP

root@kitploit:~
pip3 install pypykatz

Tramite GitHub

Installa i prerequisiti

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

Clona questo repository

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

Installalo

root@kitploit:~
python3 setup.py install

Caratteristiche

Generale

Indipendente dalla piattaforma – tutti i comandi hanno una versione "live" e una versione normale dove applicabile. La versione "live" utilizza il sistema corrente e funziona solo su Windows. I comandi normali sono indipendenti dalla piattaforma.
Può essere utilizzato come libreria per i tuoi progetti.

Elaborazione LSASS

Può analizzare i segreti nascosti nel processo LSASS. Questo è simile a sekurlsa:: di mimikatz, ma con comandi diversi.
La differenza principale è che tutta la logica di parsing è separata dalla fonte dei dati, quindi se definisci un nuovo oggetto reader puoi eseguire il parsing di LSASS da qualsiasi luogo.

Fonti dati attualmente supportate:

  1. live – legge direttamente la memoria del processo LSASS
  2. minidump – elabora un file minidump creato scaricando il processo LSASS
  3. rekall (fork di volatility) – elabora praticamente qualsiasi dump di memoria Windows che rekall può analizzare
  4. pcileech – non più supportato
  5. remoto – questo è un altro progetto. Da definire :)
  6. il tuo progetto qui seriamente, è super-semplice da integrare.

Elaborazione del Registro di sistema

Analizza gli hive del registro per ottenere credenziali memorizzate, come hash NT e LM, credenziali memorizzate nella cache di dominio (DCC/DCC2) e segreti LSA.

Fonti dati attualmente supportate:

  1. live – utilizza due tecniche per analizzare il registro live. La prima è in memoria e non tocca il disco; la seconda consiste nello scaricare gli hive e analizzarli con il parser offline
  2. offline (file hive)
  3. il tuo progetto qui seriamente, è super-semplice da integrare.

Funzioni DPAPI - MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI è il protettore dei segreti locali di vario tipo. Attualmente il progetto supporta la decifratura di masterkey, blob dpapi, file di credenziali, file vault.
I risultati non sono corretti al 100%, poiché non esiste molta documentazione sulla maggior parte di queste cose. Le pull request sono sempre benvenute!

Fonti dati attualmente supportate:

  1. live – ottiene le masterkey direttamente da LSASS -OPPURE- le chiavi utente/macchina dal registro live e decifra il file masterkey.
  2. file hive (offline) – le chiavi utente/macchina dal registro live e decifra il file masterkey
  3. credenziali valide (offline) – può decifrare i file masterkey permettendoti di inserire il SID e la password corretti.
  4. per favore non integrare questa parte nel tuo progetto, è in beta

Impersonazione utenti

Può avviare un nuovo processo come qualsiasi utente che abbia un processo in esecuzione sulla macchina.
Può assegnare qualsiasi token disponibile alla tua thread.
Questa è solo una funzionalità di base. Il motivo per cui esiste è che odio usare costantemente psexec per ottenere una shell di sistema da amministratore...

Altre cose

sì... controlla il codice. Ha commenti e roba...

Opzioni del comando Rekall

Override del timestamp

Motivo per cui esiste questo parametro: per scegliere la struttura corretta per il parsing abbiamo bisogno delle informazioni sul timestamp del file dll msv. Rekall purtroppo non sempre ha queste informazioni, quindi il parsing potrebbe fallire.
Se il parsing fallisce, questo potrebbe risolvere il problema.

Parametro: -t
Valori: 0 o 1
Esempio:

root@kitploit:~
pypykatz.py rekall <file_dump_memoria> -t 0

Utilizzo di Rekall

Ci sono due modi per utilizzare il parsing della memoria basato su Rekall.

Tramite il comando pypykatz rekall

Dovrai specificare il file di memoria da analizzare.

Tramite la riga di comando di Rekall

AVVISI IMPORTANTI:

  1. Se stai solo decidendo di installare rekall, tieni presente che DEVE essere eseguito in un virtualenv, e dovrai installare pypykatz nello stesso virtualenv!
  2. La riga di comando di Rekall non è adatta per mostrare tutte le informazioni acquisite dalla memoria; dovresti usare gli switch di comando out_file e kerberos_dir!

Puoi trovare un file plugin rekall chiamato pypykatz_rekall.py nella cartella plugins di pypykatz.
Dovrai copiarlo nella cartella plugins/windows di rekall e rinominarlo in pypykatz.py.
Dopodiché modifica il file __init__.py situato nella stessa cartella e aggiungi la seguente riga alla fine: from rekall.plugins.windows import pypykatz.
Se tutto è a posto, puoi usare il comando pypykatz direttamente dalla riga di comando di rekall.

AIUTO RICHIESTO

Se vuoi aiutarmi a portare questo progetto a una versione stabile, puoi inviare i minidump del processo lsass.exe al seguente link: https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA IMPORTANTE: per favore NON inviare dump del processo lsass della tua macchina personale!!! Potrò vedere i tuoi segreti, inclusi hash/password! Invia file dump da macchine come sistemi di test virtuali per i quali non ti dispiace che qualcuno veda le credenziali. (se hai un sistema di test di dominio con Kerberos configurato, sarebbe l'ideale)
Inoltre, apprezzerei se non mi spammassi...

Perché ho bisogno di questi file di dump?

Per creare mimikatz in Python, bisognerebbe creare definizioni di struttura per una miriade di strutture diverse (controlla il codice originale) senza l'aiuto del parser integrato che si otterrebbe naturalmente usando un compilatore nativo. Ora, il problema è che anche un singolo byte di disallineamento renderà il parsing di queste strutture soggetto a errori. Il problema riguarda principalmente gli allineamenti 32-64, quindi sono apprezzati anche i dump LSASS di Windows a 32 bit!

Riepilogo

Ho bisogno di dati su cui poter verificare il codice e apportare le modifiche necessarie ai parser finché tutto non funzioni correttamente.
Inviare segnalazioni su questa pagina GitHub non aiuterebbe affatto senza il file reale, e a GitHub non piacerebbero allegati di 40-300 MB.

Prerequisiti

La maggior parte dei miei grandi progetti Python mirano alla massima portabilità, quindi utilizzo pacchetti di terze parti solo dove assolutamente necessario. Al momento vengono utilizzati tre pacchetti aggiuntivi, e intendo mantenerli tali.

Python>=3.6
minidump
minikerberos
asn1crypto

Riconoscimenti

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

Crittografia

Richard Moore per il modulo AES
Todd Whiteman per il modulo DES

Utilità

David Buxton per lo script di conversione dei timestamp

Scarica lo strumento