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
WonkaVision — Rileva ticket Kerberos contraffatti estraendo i dati di sessione e dei ticket, assegnando un punteggio alle anomalie e generando indicatori dai log eventi di Windows per la risposta agli incidenti basata su SIEM. | Kitploit
Strumenti/GitHubGitHub/0xe7/wonkavision
Strumenti DifensiviGestione Identità e Accessi (IAM)AutenticazioneRilevamento IntrusioniRisposta agli IncidentiRilevamento di AnomalieAnalisi dei Log
GitHub0xe7/wonkavision

WonkaVision

Rileva ticket Kerberos contraffatti estraendo i dati di sessione e dei ticket, assegnando un punteggio alle anomalie e generando indicatori dai log eventi di Windows per la risposta agli incidenti basata su SIEM.

Vedi Repository
8993 anni 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

WonkaVision


WonkaVision è uno strumento proof of concept (POC) per analizzare i ticket Kerberos e tentare di determinare se sono contraffatti. Questo strumento è stato creato da Charlie Clark e Andrew Schwartz.

Va notato che questo POC non è pensato per essere un'applicazione enterprise pronta per la produzione, ma piuttosto per generare idee su come rilevare meglio i ticket contraffatti, divulgando al contempo le IOA scoperte.

Charlie Clark è l'autore principale di questa base di codice.

Gran parte del codice per scaricare le informazioni sulle sessioni, scaricare i ticket Kerberos e decrittare/crittare i ticket Kerberos è stata presa da Rubeus. Il codice GetNCChanges è stato adattato da Vincent Le Toux's MakeMeEnterpriseAdmin.

Ha 3 funzioni:

  • /createkeys - Crea una coppia di chiavi pubblica/privata per l'uso da parte del dumper e dell'analizzatore
  • /dump - Da eseguire su server/workstation, scarica i dati delle sessioni con i ticket Kerberos associati
  • /analyze - Eseguito su una directory contenente tutti i file di dump, analizza tutte le sessioni e i ticket all'interno dei dump, genera punteggi e scrive nel registro eventi

WonkaVision ha le seguenti dipendenze:

  • Newtonsoft.Json - Per serializzare/deserializzare oggetti json
  • dnMerge - Per unire la DLL di Newtonsoft.Json in un unico binario per semplificare la distribuzione durante il dump dei ticket

Le slide della presentazione sono qui.

WonkaVision è concesso in licenza sotto la licenza BSD 3-Clause.

Indice

  • WonkaVision
    • Crea chiavi
    • Dump
    • Analizza
      • Esempio di registro eventi
      • Esempio di inoltro dei log al SIEM
        • Esempio con Splunk
        • Esempio con Sentinel
  • Demo del talk
  • POC KrbSniffer
  • Ringraziamenti
  • TODO

CreateKeys

Genera una coppia di chiavi pubblica e privata utilizzando l'algoritmo di scambio di chiavi Elliptic Curve Diffie-Hellman (ECDH) con la curva P-256. Di default, scrive le chiavi sul terminale come blob codificati in base64, ma ha l'argomento /outdir:PATH per scrivere le chiavi su file.

SE SI SCRIVONO SU FILE, IL FILE private.key DEVE ESSERE PROTETTO COME SE FOSSE LA CHIAVE KRBTGT

Esempio 1:

root@kitploit:~
C:\WonkaVision>WonkaVision.exe /createkeys
====================PublicKey====================
RUNLMSAAAABN/odC5C5W7meBvf6rKmWOoVW9qRTRcyCJBFuvRbEvMFuMa8cV20W1e+rRd4f9jSfr5vDVJ0+I/SJsZI1ondws
==================End PublicKey==================


====================PrivateKey====================
RUNLMiAAAABN/odC5C5W7meBvf6rKmWOoVW9qRTRcyCJBFuvRbEvMFuMa8cV20W1e+rRd4f9jSfr5vDVJ0+I/SJsZI1ondwsto7Fc/J4akdJdCix51F0ELLKWlsdMDlkYx2shFEV3AA=
==================End PrivateKey==================

Esempio 2:

root@kitploit:~
C:\WonkaVision>WonkaVision.exe /createkeys /outdir:.
[!] Writing key files to ., be sure to protect the private key as if it was the krbtgt key!
[*] Written public key to .\public.key
[*] Written private key to .\private.key

C:\WonkaVision>dir
 Volume in drive C is System
 Volume Serial Number is 22BC-4361

 Directory of C:\WonkaVision

10/14/2022  01:10 PM    <DIR>          .
10/14/2022  01:10 PM    <DIR>          ..
10/14/2022  01:10 PM               104 private.key
10/14/2022  01:10 PM                72 public.key
10/14/2022  01:08 PM         1,383,424 WonkaVision.exe
               3 File(s)      1,383,600 bytes
               2 Dir(s)  71,813,464,064 bytes free

Dump

Scarica le informazioni sulle sessioni che contengono ticket Kerberos, inclusi i ticket Kerberos stessi in formato KERB-CRED. Lo fa eseguendo LsaCallAuthenticationPackage per richiedere informazioni sulle sessioni, informazioni sulla cache dei ticket e richiedere i ticket come KERB-CRED (nello stesso modo in cui lo fa il comando dump di Rubeus).

Sono richiesti 2 argomenti principali:

  • /publickey:KEY - chiave pubblica da usare per la crittografia dei dati scaricati
  • /dumpdir:DIR - directory in cui salvare i dati scaricati

Una volta che i dati sono stati scaricati, WonkaVision esegue le seguenti operazioni:

  1. Memorizza i dati in una stringa Json
  2. Genera una coppia di chiavi pubblica/privata per il dumper
  3. Usa la sua chiave privata insieme alla chiave pubblica passata tramite l'argomento /publickey:KEY per derivare una chiave simmetrica
  4. Crittografa la stringa Json con AES usando la chiave simmetrica
  5. Memorizza i dati crittografati, la sua chiave pubblica e l'IV in una stringa Json e la scrive nella directory specificata dall'argomento /dumpdir:DIR

È possibile specificare sessioni specifiche (con l'argomento /luid:X), utenti (con l'argomento /user:USER), servizi (con l'argomento /service:SVC) e/o server (con l'argomento /server:Y), ma queste opzioni non sono state ancora testate a fondo.

Esempio:

root@kitploit:~
WonkaVision.exe /dump /publickey:\\server\dumpshare\public.key /dumpdir:\\server\dumpshare\dumps

Analyze

Analizza i dump creati con il comando /dump. Scorre ricorsivamente tutte le sottodirectory indicate da /dumpdir:DIR e legge tutti i file .json che incontra. Dopo aver deserializzato il file json, scorre tutte le sessioni in esso memorizzate e tutti i ticket all'interno delle sessioni e li analizza nel modo più approfondito possibile, assegnando un punteggio per ogni deviazione rilevata rispetto a quanto atteso. Successivamente, somma questi punteggi per produrre un punteggio totale e genera 2 diversi tipi di eventi Windows, 9988 e 9989, rispettivamente per WonkaVision Session e WonkaVision Ticket, contenenti tutti i problemi scoperti.

È possibile specificare /creduser:USER, /creddomain:DOMAIN e /credpass:PASSWORD per usare credenziali alternative per le query LDAP e il DCsync. Questo però non è consigliato in produzione; sono stati implementati per semplificare il debug dei problemi.

Sono richiesti 2 argomenti principali:

  • /privatekey:KEY - chiave privata usata per decrittare i dump crittografati
  • /dumpdir:DIR - directory in cui sono salvati i dump crittografati

Esempio:

root@kitploit:~
WonkaVision.exe /analyze /privatekey:C:\keys\private.key /dumpdir:C:\dumpshare\dumps

Esempio di registro eventi

Anche se WonkaVision restituisce l'esito dell'analisi tramite terminale, una descrizione più dettagliata dell'analisi degli Indicator of Attack (IOA) si trova nel canale Registro eventi applicazione di Windows. È qui che all'analista vengono forniti maggiori dettagli e contesto in termini di punteggio totale, delle IOA specifiche, dei motivi delle IOA e dei punteggi degli strumenti. Vengono scritti due eventi: 9988 (Evento sessione) e 9989 (Evento ticket). Un esempio degli eventi può essere trovato qui.

Quello che segue è un esempio di un evento di sessione WonkaVision (9988): Evento 9988

Quello che segue è un esempio di un evento ticket WonkaVision (9989):

Esempio di possibile Golden Ticket contraffatto con Mimikatz nei log EVTX: Evento 9989

Evento 9989 2

Esempio di inoltro dei log al SIEM

Come indicato sopra, i log di WonkaVision vengono scritti nel canale Registro eventi applicazione di Windows. Se configurato, questi log possono essere inoltrati a un SIEM (ad es. Splunk, Sentinel, ecc.).

Esempio con Splunk

Si può usare anche una query suggerita con il logging WinEvent "Classic" di Splunk:

root@kitploit:~
index="wv_demo_wineventlog" source="WinEventLog:Application" (Total_Score>=8) | table _time,Total_Score,User,Machine_Name,Service_Principal_Name,Mimikatz_Score,Rubeus_Score,Impacket_Score,Cobalt_Strike_Score,IOA_Reasons

Esempio di possibile Golden Ticket contraffatto con Mimikatz in WonkaVision su Splunk: Mimikatz WonkaVision Splunk

Esempio di possibile Golden Ticket contraffatto con Rubeus da WonkaVision in Splunk:Rubeus WonkaVision Splunk

Esempio con Sentinel

Il logging con Sentinel può essere realizzato anch'esso. Tuttavia, potrebbe richiedere un parsing aggiuntivo. Di seguito è riportata una query di esempio di Jonathan Johnson (@jsecurity101) su come WonkaVision potrebbe apparire una volta analizzato in Sentinel:

root@kitploit:~
Event
    | where Computer contains "asgard" and Source contains "Wonka"
    | extend ParsedEventData=parse_xml(EventData)
    | extend Data=ParsedEventData.DataItem.EventData.Data
    | parse-where Data with *
            "Total Score: " TotalScore:string
            "Session: " Session:string
            "Machine Name: " MachineName:string
            "User: " User:string
            "Service Principal Name: " ServicePrincipalName:string
            "IOAs: " IOAs:string
            "SessionUser: " IOA_SessionUser:string
            "KDCCalled: " IOA_KDCCalled:string
            "Mimikatz Score: " TScore_MimikatzScore:string 
            "Impacket Score: " TScore_ImpacketScore:string 
            "Rubeus Score: " TScore_RubeusScore:string 
            "Cobalt Strike Score: " TScore_CobaltStrikeScore:string 
            "IOA Reasons: " IOA_Reasons:string
    | where IOA_SessionUser contains "thor"

Esempio di possibile Golden Ticket contraffatto da WonkaVision in Sentinel: WonkaVision Sentinel

Demo del talk

Demo 1 - Creazione del Golden Ticket:

https://user-images.githubusercontent.com/13423848/202441525-aec75260-a991-4a4d-8df1-6fbf92ddbb4c.mp4

Demo 2 - Creazione della coppia di chiavi e dump di sessione/ticket:

https://user-images.githubusercontent.com/13423848/202441775-b753ae06-d012-4258-9ea0-25d88dc80549.mp4

Demo 3 - Analisi del dump e output degli eventi Windows:

https://user-images.githubusercontent.com/13423848/202441909-04bd1b2a-f204-41c4-a13a-dcfa42eebcf3.mp4

Demo 4 - Sniffer di rete Kerberos:

https://user-images.githubusercontent.com/13423848/202442125-822cc4a4-1c87-447f-88ae-2e5c2fbf58d3.mp4

POC KrbSniffer

Il POC dello sniffer del traffico Kerberos che abbiamo mostrato nella nostra presentazione (Demo 4) è stato implementato con SharpPCap, ma potrebbe essere facilmente modificato per usare socket raw, eliminando così anche la dipendenza e la necessità di installare npcap sul sistema.

Poiché era solo un POC minimale, la maggior parte degli indicatori implementati erano quelli non crittografati menzionati nell'intervento di Charlie alla YASCON 2020, descritti nella slide 18 di questa presentazione, anche se molti altri potrebbero essere implementati.

Ringraziamenti

  • Will Schroeder (@harmj0y) per la base di codice di Rubeus
  • Vincent Le Toux (@mysmartlogon) per la base di codice di 'Make Me Enterprise Admin'
  • Jared Atkinson (@jaredcatkinson) per le basi di codice di 'Get-KerberosTicketGrantingTicket.ps1' e 'Test-KerberosTicketGrantingTicket.ps1'
  • Jonathan Johnson (@jsecurity101) per l'aiuto nella risoluzione di un errore DCSync :), i test del POC, i test con Microsoft Sentinel e i consigli/le indicazioni sulla scrittura nel registro eventi di Windows
  • Elad Shamir (@elad_shamir) per consigli/indicazioni
  • Il team 'sisoc-tokyo' (The University of Tokyo, Wataru Matsuda, Mariko Fujimoto e Takuho Mitsunaga), che ha presentato 'Real-time detection of attacks leveraging Domain Administrator privilege' al BlackHat Europe 2018 e il cui lavoro abbiamo scoperto dopo il POC. Il loro progetto può essere trovato qui
  • Semperis (@SemperisTech) e Trustedsec (@TrustedSec) per averci permesso di completare questo progetto

TODO

  • Refactor e pulizia del codice
  • Implementare il recupero della chiave di trust
Scarica lo strumento