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
sysmon-modular — Un repository di moduli di configurazione sysmon | Kitploit
Strumenti/GitHubGitHub/olafhartong/sysmon-modular
Strumenti DifensiviDigital ForensicsRilevamento IntrusioniRisposta agli IncidentiAnalisi dei Log
GitHubolafhartong/sysmon-modular

sysmon-modular

Un repository di moduli di configurazione sysmon

Vedi Repository
3.1k65392 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

sysmon-modular | Un repository di configurazioni Sysmon personalizzabile da tutti

license Maintenance GitHub last commit Build Sysmon config with all modules Twitter Discord Shield

Questo è un repository di configurazioni per Sysmon di Microsoft Sysinternals (scarica qui), strutturato in modo modulare per semplificare la manutenzione e la generazione di configurazioni specifiche.

Tieni presente che ciascuna di queste configurazioni va considerata un punto di partenza: la messa a punto per ambiente è fortemente consigliata.

Nota: per ottenere ancora più valore dall'evento FileExecutable, valuta di integrare nella configurazione anche la versione più aggiornata della config LOLdrivers. Puoi farlo facilmente recuperando il file e aggiungendolo nella cartella 29_file_execute_detected, quindi generando una nuova configurazione.

Scarica lo strumento

Il file sysmonconfig.xml nel repository viene generato automaticamente dopo un merge riuscito tramite lo script PowerShell e un caricamento riuscito da parte di Sysmon in un'esecuzione di Azure Pipeline. Ulteriori informazioni su come generare una configurazione personalizzata, includendo i tuoi moduli, qui

Configurazioni pre-generate

TipoConfigDescrizione
defaultsysmonconfig.xmlQuesta è la configurazione bilanciata, la più utilizzata, maggiori informazioni qui
default+sysmonconfig-with-filedelete.xmlQuesta è la configurazione bilanciata, la più utilizzata, maggiori informazioni incluse le registrazioni dei file FileDelete
verbosesysmonconfig-excludes-only.xmlQuesta è la configurazione molto verbosa: tutti gli eventi sono inclusi, vengono applicati solo i moduli di esclusione. Non dovrebbe essere usata in produzione senza validazione; genererà una quantità significativa di dati e potrebbe influire sulle prestazioni. Maggiori informazioni qui
super verbosesysmonconfig-research.xmlUna configurazione con verbosità estrema. Il volume di log atteso da questo file è significativamente alto: davvero NON USARE IN PRODUZIONE! Questa configurazione è solo per ricerca e richiederà molta più CPU/Memoria. Abilitala solo prima di eseguire la tecnica da investigare; al termine, carica una configurazione più leggera.
MDE augmentsysmonconfig-mde-augmentation.xmlUna configurazione per potenziare Defender for Endpoint, pensata per arricchire le informazioni e avere la minima sovrapposizione possibile. Si basa sulla configurazione predefinita/bilanciata e non genererà tutti gli eventi per Sysmon; nella configurazione sono presenti commenti. A beneficio dell'IR, valuta di usare la configurazione solo esclusioni e acquisire solo gli eventi di arricchimento. (Blog con ulteriori motivazioni in arrivo)

Indice

  • Azioni richieste
    • Personalizzazione
    • Generazione di una configurazione
      • PowerShell
    • Generazione di configurazioni personalizzate
  • Utilizzo
    • Installazione
    • Aggiornamento della configurazione esistente
  • Strumento generatore Python
  • Comunità Sysmon
  • Contribuire
  • Ulteriori informazioni

Oltre alla documentazione qui sotto, c'è anche un video su come utilizzare questo progetto.

come utilizzare questo progetto


NOTA; Sysmon precedente alla versione 15 non sarà completamente compatibile con questa configurazione

Le versioni precedenti sono ancora disponibili nei branch, ma non sono complete come il branch attuale

  • V8.x >> qui
  • V9.x >> qui
  • V10.4 >> qui
  • V12.x >> qui
  • V13.x / 14.x >> qui

Per comprendere le funzionalità aggiunte nelle versioni, dai un'occhiata al mio piccolo post sul blog e agli articoli più recenti, oppure guarda il mio talk al DerbyCon

Nota: Consiglio di utilizzare un numero minimo di configurazioni nel tuo ambiente per molteplici ovvie ragioni, come manutenzione, uniformità dell'output, gestibilità e così via. Ma crea configurazioni su misura per Domain Controller, Server e workstation.


Azioni richieste

Consiglio vivamente di esaminare le configurazioni prima di implementarle nel tuo ambiente di produzione. Questo ti consente di ottenere un logging il più possibile utilizzabile e con il minimo rumore.

Personalizzazione

Dovrai installare e osservare i risultati della configurazione nel tuo ambiente prima di distribuirla su larga scala. Ad esempio, dovrai escludere le azioni del tuo antivirus, che altrimenti riempiranno probabilmente i tuoi log con informazioni inutili.

Generazione di una configurazione

PowerShell

root@kitploit:~
$> git clone https://github.com/olafhartong/sysmon-modular.git
$> cd sysmon modular
$> . .\Merge-SysmonXml.ps1
$> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

Generazione di configurazioni personalizzate

Di seguito le funzioni, con un grande ringraziamento a mbmy

Nuova funzione: Find-RulesInBasePath - accetta un percorso di base (ad es. C:\folder\sysmon-modular) e trova tutti i file di regole xml candidati in base a un pattern regex

Esempio: PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt

Nuovi parametri di Merge-AllSysmonXml:

-BasePath - trova tutti i file di regole xml candidati da un percorso fornito in base a un pattern regex e li unisce

Esempio: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\

-ExcludeList - In combinazione con -BasePath, accetta un elenco di regole e le esclude dalle regole trovate prima del merge

Esempio: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt

-IncludeList - In combinazione con -BasePath, trova tutte le regole disponibili dal percorso di base ma unisce solo quelle definite in un elenco

Esempio: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt

NOTA Il BasePath deve essere il percorso completo dei file sysmon-modular (ad esempio c:\tools\sysmon-modular), altrimenti PowerShell non riuscirà a individuarli, con il risultato di una configurazione predefinita.

Esempio di formato dell'elenco Include/Exclude:

root@kitploit:~
3_network_connection_initiated\include_native_windows_tools.xml
12_13_14_registry_event\exclude_internet_explorer_settings.xml
12_13_14_registry_event\exclude_webroot.xml
17_18_pipe_event\include_winreg.xml
19_20_21_wmi_event\include_wmi_create.xml
2_file_create_time\exclude_chrome.xml
3_network_connection_initiated\include_native_windows_tools.xml
3_network_connection_initiated\include_ports_proxies.xml
8_create_remote_thread\include_general_commment.xml
8_create_remote_thread\include_psinject.xml
9_raw_access_read\include_general_commment.xml

Creare una configurazione con tutte le regole sysmon-modular per determinati event ID (includendo l'intera directory) e poi disabilitare tutti gli event id senza regole importate

Esempio:

root@kitploit:~
# generate the config
$sysmonconfig =  Merge-AllSysmonXml  -BasePath . -IncludeList $workingFolder\include.txt -VerboseLogging -PreserveComments

# flip off any rule groups where rules were not imported
foreach($rg in $sysmonconfig.SelectNodes("/Sysmon/EventFiltering/RuleGroup [*/@onmatch]"))
{
    $ruleNodes = $rg.SelectNodes("./* [@onmatch]")

    if(     $ruleNodes -eq $null `
        -or $ruleNodes.ChildNodes.count -gt 0)
    {
        # no rule nodes found (unlikely) or more than one rule found
        continue
    }

    # RuleGroup with only one rule node
    $ruleNode = $ruleNodes[0]

    if($ruleNode.onmatch -eq "exclude" -and $ruleNode.ChildNodes.count -eq 0 )
    {
        $message = "{0} {1} has no matching conditions.  Toggled to 'include' to limit output" -f $ruleNode.Name,$rg.Name
        Write-Warning $message

        $ruleNode.onmatch = "include"
        $comment = $sysmonconfig.CreateComment($message)
        $rg.AppendChild($comment) | Out-Null
    }
}

Esempio di formato dell'elenco Include/Exclude (per intere famiglie di regole/eventi):

root@kitploit:~
1_process_creation
5_process_ended
11_file_create
23_file_delete
7_image_load
17_18_pipe_event

Utilizzo

Installazione

Eseguire con diritti di amministratore

root@kitploit:~
sysmon.exe -accepteula -i sysmonconfig.xml

Aggiornamento della configurazione esistente

Eseguire con diritti di amministratore

root@kitploit:~
sysmon.exe -c sysmonconfig.xml

Strumento generatore Python

Questa è una nuova funzionalità, creata da cnnrshd

Ordinamento delle regole basato sulla priorità

  1. Semplice script Python che può effettuare il merge basandosi su un formato simile agli elenchi Include esistenti; l'unica differenza è che accetta un CSV con due colonne: filepath e priorità.
  2. Una configurazione formattata usando un file csv
  3. Un semplice template
  4. La versione dello schema è dinamica e si basa sulla versione di schema più alta tra le regole fornite.

Le configurazioni generate con questo script mantengono i commenti e viene applicata una corretta indentazione XML, aumentando la leggibilità e consentendo un più facile riferimento incrociato dei file di regole

esempio di prompt

root@kitploit:~
python merge_sysmon_configs.py config_lists/default_list/default_list.csv -f csv -b templates/sysmon_template.xml  -o test.xml

** Questa modalità di generazione dei contenuti è ancora nuova e sperimentale. Non è ancora previsto il supporto per le versioni personalizzate come la MDE augment e le versioni solo esclusioni.


Comunità Sysmon

Ci sono tre principali configurazioni Sysmon:

  • @SwiftOnSecurity: ottima guida introduttiva a molte delle impostazioni. Inizia con 1 comando https://github.com/SwiftOnSecurity/sysmon-config/.

  • @cyb3rops: Un fork di SwiftOnSecurity, all'avanguardia e proattivo. **https://github.com/Neo23x0/sysmon-config

  • @olafhartong: Questo repository, che si concentra sull'essere molto manutenibile con note dettagliate sulle regole per una risposta guidata e per i SIEM.

  • Un'ottima guida comunitaria di @Carlos_Perez: https://github.com/trustedsec/SysmonCommunityGuide

Contribuire

Pull request / ticket di issue e nuove aggiunte saranno molto apprezzati!

Ulteriori informazioni

Ho iniziato una serie di post sul blog che trattano questo repository;

  • Superpoteri di rilevamento endpoint a basso costo - parte 1 - MITRE ATT&CK, Sysmon e la mia configurazione modulare

  • Superpoteri di rilevamento endpoint a basso costo — parte 2 — Distribuzione e manutenzione

  • Superpoteri di rilevamento endpoint a basso costo — parte 3 — Manomissione di Sysmon

  • Un confronto tra Sysmon e Microsoft Defender for Endpoint

MITRE ATTACK

Mi sforzo di mappare tutte le configurazioni al framework ATT&CK ogni volta che Sysmon è in grado di rilevarlo. Nota: questa è una possibile voce di log che potrebbe portare a un rilevamento; non in tutti i casi questa è l'unica telemetria per quella tecnica. Inoltre, potrebbero esserci più tecniche correlate a quella regola; quella mappata è quella che ho ritenuto più probabile.