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
latma — Raccoglie e analizza i log di autenticazione di AD e Azure AD per rilevare attacchi di lateral movement utilizzando il rilevamento anomalie basato su grafi, visualizzando pattern sospetti con timeline interattive e GIF. | Kitploit
Strumenti/GitHubGitHub/silverfort-open-source/latma
Movimento LateraleRaccolta InformazioniPenetration TestingSicurezza CloudThreat IntelligenceRisposta agli IncidentiRilevamento di AnomalieAnalisi dei Log

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
GitHub
silverfort-open-source/latma

latma

Raccoglie e analizza i log di autenticazione di AD e Azure AD per rilevare attacchi di lateral movement utilizzando il rilevamento anomalie basato su grafi, visualizzando pattern sospetti con timeline interattive e GIF.

Vedi Repository
80143 anni faRevisionato da Kitploit

Strumento di analisi del movimento laterale

L'analizzatore di movimento laterale (LATMA) raccoglie i log di autenticazione dal dominio e dagli ambienti Azure AD e cerca potenziali attacchi di movimento laterale e attività sospette. Il movimento laterale può avvenire nell'ambiente AD o tra cloud e on-prem. Lo strumento visualizza i risultati con diagrammi che mostrano i modelli di movimento laterale. Questo strumento contiene due moduli, uno che raccoglie i log e uno che li analizza. È possibile eseguire ciascun modulo separatamente; il raccoglitore di log eventi deve essere eseguito su una macchina Windows in un ambiente di dominio Active Directory con Python 3.8 o superiore. L'analizzatore può essere eseguito su una macchina Linux e su una macchina Windows.

Il Raccoglitore

Il Raccoglitore di Log Eventi ha due funzionalità: la scansione dei controller di dominio per i log di autenticazione NTLM riusciti e degli endpoint per i log di autenticazione Kerberos riusciti, e la raccolta dei log di accesso da Azure AD. La raccolta dei log dall'ambiente AD richiede l'accesso alle porte LDAP/S 389 e 636 e alla porta RPC 135 del controller di dominio e dei client. Inoltre, richiede privilegi di amministratore di dominio o un utente nel gruppo Lettori dei log eventi o con permessi equivalenti. Questo è necessario per estrarre i log eventi da tutti gli endpoint e controller di dominio. Per la raccolta degli accessi, è necessario avere un'applicazione nell'ambiente Azure AD e fornire le informazioni rilevanti nel file di configurazione. Assicurati che l'utente utilizzato per la raccolta degli accessi non sia configurato con 2FA.

Raccolta dei log AD

Il raccoglitore raccoglie i log NTLM dall'evento 8004 sui controller di dominio e i log Kerberos dall'evento 4648 sui client. Genera come output un file in formato CSV delimitato da virgole con tutto il traffico di autenticazione disponibile. L'output contiene i campi host sorgente, destinazione, nome utente, tipo di autenticazione, SPN e timestamp nel formato %Y/%m/%d %H:%M. Il raccoglitore richiede le credenziali di un utente valido con privilegi di visualizzazione degli eventi sull'intero ambiente e interroga i log specifici per ciascun protocollo.

Verifica che i protocolli Kerberos e NTLM siano sottoposti a audit nell'ambiente utilizzando i criteri di gruppo:

  1. Kerberos - Configurazione computer -> Criteri -> Impostazioni di Windows -> Impostazioni di sicurezza -> Criteri locali -> Criteri di controllo -> Controlla eventi di accesso account
  2. NTLM - Configurazione computer -> Criteri -> Impostazioni di Windows -> Impostazioni di sicurezza -> Criteri locali -> Opzioni di sicurezza -> Sicurezza di rete: Limita NTLM: Controlla l'autenticazione NTLM in questo dominio

Raccolta degli accessi Azure AD

Il raccoglitore raccoglie solo gli accessi riusciti da dispositivi ibridi o uniti ad Azure AD. Questi accessi rappresentano movimenti riusciti tra asset dell'ambiente Azure AD e on-prem o viceversa Il raccoglitore richiede le seguenti informazioni per raccogliere i dati:

  1. Tenant ID
  2. User without 2FA
  3. Password
  4. Client ID
  5. Client Secret Puoi utilizzare un'app predefinita o crearne una nuova.

L'Analizzatore

L'Analizzatore riceve come input un foglio di calcolo con dati di autenticazione formattati come specificato nella struttura di output del Raccoglitore. Cerca attività sospette con l'algoritmo di analisi del movimento laterale e rileva anche ulteriori IoC di movimento laterale. La sorgente e la destinazione dell'autenticazione devono essere formalizzate con nome NetBIOS e non indirizzi IP.

Preliminari e concetti chiave dell'algoritmo LATMA

LATMA riceve un lotto di richieste di autenticazione e invia un avviso quando rileva attacchi di movimento laterale sospetti. Definiamo quanto segue:

  • Grafo di autenticazione: Un grafo orientato che contiene informazioni sul traffico di autenticazione nell'ambiente. I nodi del grafo sono computer, e gli archi sono autenticazioni tra i computer. Gli archi del grafo hanno gli attributi: tipo di protocollo, data dell'autenticazione e l'account che ha inviato la richiesta. I nodi del grafo contengono informazioni sul computer che rappresentano, dettagliate di seguito.

  • Grafo di movimento laterale: Un sottografo del grafo di autenticazione che rappresenta il movimento dell'attaccante. Il grafo di movimento laterale non è sempre un percorso nel sottografo; in alcuni attacchi l'attaccante si muove in molte direzioni diverse.

  • Avviso: Un sottografo che l'algoritmo sospetta faccia parte del grafo di movimento laterale.

LATMA esegue diverse azioni durante la sua esecuzione:

  • Raccolta di informazioni: LATMA monitora il comportamento normale degli utenti e delle macchine e li caratterizza. L'apprendimento è utilizzato successivamente per decidere quali richieste di autenticazione si discostano dal comportamento normale e potrebbero essere coinvolte in un attacco di movimento laterale. Per un periodo di apprendimento di tre settimane LATMA non emette alcun avviso e impara solo l'ambiente. L'apprendimento continua dopo queste tre settimane.

  • Costruzione del grafo di autenticazione: Dopo il periodo di apprendimento ogni autenticazione rilevante viene aggiunta al grafo di autenticazione. È fondamentale filtrare solo le autenticazioni rilevanti, altrimenti il numero di archi che il grafo contiene potrebbe essere troppo grande. Filtriamo sui seguenti tipi di protocollo: NTLM e Kerberos con i servizi "rpc", "rpcss" e "termsrv."

Gestione degli avvisi:

L'aggiunta di un'autenticazione al grafo può attivare un processo di avviso. In generale, un nuovo arco può creare un nuovo avviso, unirsi a un avviso esistente o unire due avvisi.

Raccolta di informazioni

Ogni richiesta di autenticazione monitorata da LATMA viene utilizzata per l'apprendimento e memorizzata in una struttura dati dedicata. Innanzitutto, identifichiamo i sink e gli hub. Definiamo sink come macchine a cui accedono molti (almeno 50) account diversi, come un portale aziendale o un server di exchange. Definiamo hub come macchine da cui molti account diversi (almeno 20) effettuano l'autenticazione, come proxy e VPN. Le autenticazioni verso sink o da hub sono considerate benigne e quindi vengono rimosse dal grafo di autenticazione.

Oltre alla classificazione di base, LATMA abbina gli account alle macchine da cui si autenticano frequentemente. Se un account si autentica da una macchina per almeno tre giorni diversi in un periodo di tre settimane, significa che questo account corrisponde alla macchina e qualsiasi autenticazione di questo account da quella macchina è considerata benigna e rimossa dal grafo di autenticazione.

Gli IoC di movimento laterale sono:

White cane  - Account utente che si autenticano da una singola macchina verso molteplici in un tempo relativamente breve.

Bridge - L'account utente X si autentica dalla macchina A alla macchina B e successivamente, dalla macchina B alla macchina C. Questo IoC indica potenzialmente un attaccante che avanza effettivamente dal suo punto di partenza iniziale (A) verso una macchina di destinazione che serve meglio gli obiettivi dell'attacco.

Switched Bridge - L'account utente X si autentica dalla macchina A alla macchina B, seguito dall'account utente Y che si autentica dalla macchina B alla macchina C. Questo IoC indica potenzialmente un attaccante che scopre e compromette un account aggiuntivo lungo il suo percorso e usa il nuovo account per avanzare (un esempio comune è l'account X che è un utente di dominio standard e l'account Y che è un utente amministratore)

Weight Shift - White cane (vedi sopra) dalla macchina A alle macchine {B1,…, Bn}, seguito da un altro White cane dalla macchina Bx alle macchine {C1,…,Cn}. Questo IoC indica potenzialmente un attaccante che ha determinato che la macchina B servirebbe meglio gli scopi dell'attacco e d'ora in poi usa la macchina B come sorgente per ulteriori ricerche.

Blast - L'account utente X si autentica dalla macchina A verso molteplici macchine in un lasso di tempo molto breve. Un esempio comune è un attaccante che installa/esegue ransomware su un numero massivo di macchine simultaneamente

Output:

L'analizzatore produce diversi file:

  1. Un foglio di calcolo con tutte le autenticazioni sospette (all_authentications.csv) e la loro classificazione di ruolo, e un foglio di calcolo separato per le autenticazioni sospettate di far parte del movimento laterale (propagation.csv)
  2. Un file GIF che rappresenta la progressione, in cui ogni fotogramma del GIF specifica esattamente quale fosse l'azione sospetta
  3. Una timeline interattiva con tutti gli eventi sospetti. Gli eventi correlati tra loro hanno lo stesso colore

Dipendenze:

  1. Python 3.8
  2. librerie come specificato in requirements.txt
  3. Esegui pip install . per eseguire l'installazione automatica
  4. Esegui l'audit di Kerberos e NTLM nell'ambiente
  5. Query LDAP ai controller di dominio
  6. Credenziali di amministratore di dominio o qualsiasi credenziale con permessi di visualizzazione remota degli eventi MS-EVEN6.

utilizzo

Il Raccoglitore

Argomenti obbligatori:

  1. credentials [domain.com/]username[:password] formato delle credenziali in alternativa [domain.com/]username e poi la password verrà richiesta in modo sicuro. Per il dominio, inserisci il FQDN (Fully Qualified Domain Name). Argomenti opzionali:
  2. -ntlm Recupera i log di autenticazione NTLM dal DC
  3. -kerberos Recupera i log di autenticazione Kerberos da tutti i computer del dominio
  4. -debug Attiva l'output DEBUG
  5. -help Mostra questo messaggio di aiuto ed esci
  6. -filter Interroga una specifica OU o contenitore nel dominio, restituirà tutte le workstation nella sotto-OU. Ogni OU sarà nel formato DN (Distinguished Name). Supporta più OU con delimitatore punto e virgola. Esempio: OU=subunit,OU=unit;OU=anotherUnit,DC=domain,DC=com Esempio: CN=container,OU=unit;OU=anotherUnit,DC=domain,DC=com
  7. -date Data di inizio per la raccolta dei log eventi. Formato mese-giorno-anno, se non specificato prende tutti i dati disponibili
  8. -threads Numero di thread di lavoro da utilizzare
  9. -ldap Usa LDAP non sicuro invece di LDAP/S
  10. -ldap_domain Dominio personalizzato per le credenziali di accesso ldap. Se vuoto, userà il dominio della sessione corrente dell'utente

Utilizzo binario Apri il prompt dei comandi e naviga fino alla cartella del binario. Esegui gli eseguibili con gli argomenti specificati sopra.

Esempi

Nei file di esempio hai diversi campioni di ambienti reali (alcuni contengono attacchi di movimento laterale e altri no) che puoi fornire come input per l'analizzatore.

Esempio di utilizzo

  1. python eventlogcollector.py domain.com/username:password -ntlm -kerberos
Scarica lo strumento