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
ossem-power-up — Uno strumento per valutare la qualità dei dati, basato sul fantastico OSSEM. | Kitploit
Strumenti/GitHubGitHub/hxnoyd/ossem-power-up
Threat IntelligenceApprendimento e FormazioneRisorse CurateAnalisi dei Log
GitHubhxnoyd/ossem-power-up

ossem-power-up

Uno strumento per valutare la qualità dei dati, basato sul fantastico OSSEM.

Vedi Repository
79111 mese 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

OSSEM

Uno strumento per valutare la qualità dei dati, costruito sopra l'eccezionale OSSEM progetto.

Missione

  • Rispondere alla domanda: Voglio iniziare a cacciare le tecniche ATT&CK, quali fonti di log ed eventi sono più adatti?
  • Creare trasparenza sui punti di forza e di debolezza delle tue fonti di log
  • Fornire un modo semplice per valutare i tuoi log

OSSEM Power-up Panoramica

Power-up utilizza il Modello di Rilevamento dei Dati (DDM) dell'OSSEM come fondamento della sua valutazione della qualità dei dati. La ragione principale è che fornisce un modo strutturato per correlare Fonti di Dati ATT&CK, Entità del Modello Informativo Comune (CIM) e Dizionari di Dati (eventi) tra loro.

Per chi non conosce la struttura DDM, ecco un esempio:

Come puoi vedere, ogni voce nel DDM definisce una sotto fonte di dati (ambito) utilizzando entità astratte come process, user, file, ecc. Ogni voce contiene anche un ID evento, a cui l'ambito si applica. Puoi leggere di più su queste entità qui.

In sintesi, le voci DDM giocano un ruolo importante nel rimuovere la complessità degli eventi grezzi, fornendo un ambito che definisce come una fonte di log (canali di dati) può essere consumata.

Dimensioni della Qualità dei Dati

Power-up valuta il punteggio di qualità dei dati secondo cinque dimensioni distinte:

Ogni dimensione viene valutata con un punteggio da 0 (nessuno) a 5 (eccellente).

Copertura, Tempestività e Conservazione

Queste dimensioni sono legate ai canali di dati e si propagano a tutti gli eventi da essi forniti.

A causa della natura di queste dimensioni, devono essere valutate manualmente, in base alle specificità dei canali di dati.

Power-up utilizza resources/dcs.yml per definire il canale di dati e valutare le dimensioni:

root@kitploit:~
data channel: sysmon
description: monitoraggio sysmon
coverage: 2
timeliness: 5
retention: 2
---
data channel: security
description: controllo di sicurezza di Windows
coverage: 5
timeliness: 5
retention: 2

Struttura

Per calcolare quanto è completa la struttura dell'evento, power-up confronta i nomi standard del dizionario di dati con i campi delle entità (CIM) referenziate nella voce DDM (sorgente e destinazione).

Poiché non tutti i campi delle entità sono rilevanti (dipende dal contesto), power-up utilizza il concetto di profili per selezionare quali campi devono corrispondere ai nomi standard del dizionario di dati. Ad esempio:

root@kitploit:~
# Profilo CIM OSSEM
process:
    - process_name
    - process_path
    - process_command_line

Nota: C'è un profilo di esempio in profiles/default.yml con cui giocare.

Il punteggio di struttura viene calcolato con la seguente formula:

SCORE_PERCENT = (MATCHED_FIELDS / TOTAL_RELEVANT_FIELDS) * 100

Per chiarezza, ecco un esempio di come viene calcolato il punteggio di struttura:

Nota: Poiché il dizionario di dati di Sysmon Event Id 1 corrisponde al 100% dei campi dell'entità rilevanti, il punteggio di struttura sarà valutato 5 (eccellente).

Il punteggio di struttura viene tradotto nella scala 0-5 nel modo seguente:

PercentualePunteggio

Nota: A seconda del caso d'uso (SIEM, Threat Hunting, Forensics), puoi definire diversi profili per valutare i tuoi log in modo diverso.

Consistenza

Per calcolare la consistenza, power-up calcola semplicemente la percentuale di campi con un nome standard in un dizionario di dati. I dizionari di dati con un numero elevato di campi mappati a un nome standard hanno maggiori probabilità di correlarsi con le entità CIM.

Il punteggio di consistenza viene calcolato con la seguente formula:

SCORE_PERCENT = (STANDARD_NAME_FIELDS / TOTAL_FIELDS) * 100

Il punteggio di consistenza viene tradotto nella scala 0-5 nel modo seguente:

PercentualePunteggio
00
da 1 a 501
da 51 a 993
1005

Come usare

Prima di iniziare

  • Power-up è uno script python, assicurati di fare pip install -r requirements.txt
  • Assicurati di avere una copia locale del repository OSSEM

Eseguire power-up

root@kitploit:~
$> python3 powerup.py --help
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

usage: powerup.py [-h] [-o OSSEM] [-y OSSEM_YAML] [-p PROFILE] [--excel]
                  [--elastic] [--yaml]

A tool to assess ATT&CK data source coverage, built on top of awesome OSSEM.

optional arguments:
  -h, --help            show this help message and exit
  -o OSSEM, --ossem OSSEM
                        path to import OSSEM markdown
  -y OSSEM_YAML, --ossem-yaml OSSEM_YAML
                        path to import OSSEM yaml
  -p PROFILE, --profile PROFILE
                        path to CIM profile
  --excel               export OSSEM DDM to excel
  --elastic             export OSSEM data models to elastic
  --yaml                export OSSEM data models to yaml
  --layer               export OSSEM data models to navigator layer

Come puoi vedere, power-up può consumare dati OSSEM da due formati diversi:

  • OSSEM markdown - Il formato nativo di OSSEM quando lo cloni da git.
  • OSSEM yaml - Un formato riassuntivo di OSSEM, solo i campi dati e pochi metadati. Puoi usare power-up per convertire OSSEM markdown in yaml.

Attualmente, Power-up esporta l'output OSSEM in:

  • Yaml - Crea strutture OSSEM in yaml, nella cartella output/
  • Excel - Crea una tabella DDM OSSEM, arricchita con i punteggi di qualità dei dati, nella cartella output/
  • Elastic - Crea una struttura OSSEM in elastic, gli indici sono i seguenti:
    • ossem.ddm - Tabella DDM OSSEM, arricchita con i punteggi di qualità dei dati
    • ossem.cim - Voci CIM OSSEM
    • ossem.dds - Dizionari di Dati OSSEM
    • ossem.dcs - Canali di Dati OSSEM

Nota: se non viene specificato un percorso del file di profilo, power-up utilizza profiles/default.yml per impostazione predefinita.

Esportazione in YAML

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --yaml
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Percorso profilo: profiles/default.yml
[*] Analisi OSSEM da markdown
[*] Esportazione OSSEM in YAML
[*] Creato output/ddm_20191114_160246.yml
[*] Creato output/cim_20191114_160246.yml
[*] Creato output/dds_20191114_160246.yml

L'obiettivo dell'esportazione/importazione da/verso YAML è facilitare la personalizzazione di OSSEM. È probabile che la prima cosa che farai sia creare i tuoi dizionari di dati e poi aggiungere nuove voci DDM, quindi YAML renderà gli aggiornamenti più facili.

Nota 1: modifica resources/config.yml per istruire power-up sui nomi dei file per le strutture corrette. Poi ti basta metterli in una cartella e passarli all'argomento OSSEM_YAML.

Nota 2: power-up non analizza l'intero oggetto OSSEM in YAML, solo i campi dati e alcuni metadati (ad es. descrizione). Il motivo è che volevo mantenere l'oggetto YAML il più snello possibile, solo con i dati necessari per valutare la qualità dei dati.

Esportazione in EXCEL

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --excel
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Percorso profilo: profiles/default.yml
[*] Analisi OSSEM da markdown
[*] Esportazione DDM OSSEM in Excel
[*] Salvato Excel in output/ddm_enriched_20191114_160041.xlsx

Quando esporti in Excel, power-up creerà un DDM accattivante, con le rispettive dimensioni di qualità dei dati per ogni voce:

Esportazione in ELASTIC

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --elastic
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Percorso profilo: profiles/default.yml
[*] Analisi OSSEM da markdown
[*] Esportazione OSSEM in Elastic
[*] Creazione indice elastic ossem.ddm
[*] Creazione indice elastic ossem.cim
[*] Creazione indice elastic ossem.dds
[*] Creazione indice elastic ossem.dcs

Quando esporti in Elastic, power-up memorizzerà tutti i dati OSSEM in elastic. Poiché il DDM è anche arricchito con le rispettive dimensioni di qualità dei dati, sarai in grado di creare dashboard come questa:

Esportazione in ATT&CK Navigator

root@kitploit:~
$> python3 powerup.py -o ../OSSEM --layer
  _____ _____ _____ _____ _____    _____ _____ _ _ _ _____ _____     _____ _____ __
 |     |   __|   __|   __|     |  |  _  |     | | | |   __| __  |___|  |  |  _  |  |
 |  |  |__   |__   |   __| | | |  |   __|  |  | | | |   __|    -|___|  |  |   __|__|
 |_____|_____|_____|_____|_|_|_|  |__|  |_____|_____|_____|__|__|   |_____|__|  |__|

[*] Percorso profilo: profiles/default.yml
[*] Analisi OSSEM da markdown
[*] Esportazione OSSEM in Layer Navigator
[*] Recupero dati ATT&CK
[*] Generazione layer qualità fonti dati
[*] Creato output/ds_layer_20191119_220141.json

Quando esporti in layer, power-up creerà un file JSON del Layer ATT&CK Navigator, con le rispettive dimensioni di qualità dei dati per ogni tecnica:

Nota: i punteggi delle tecniche sono derivati dalle medie dei punteggi delle fonti dati nel DDM.

Ringraziamenti

  • Roberto Rodriguez @Cyb3rWard0g, Jose Luis Rodriguez @Cyb3rPandaH e tutti i membri della community per supportare OSSEM.
  • Marcus Bakker @bakk3rm e Ruben Bouman @rubenb_2 per l'ispirazione sulle Dimensioni della Qualità dei Dati da DeTTECT.

Da Fare

  • Creare documentazione aggiuntiva
  • Esportazione in Layer ATT&CK Navigator
  • Gestire correttamente i dizionari di dati che condividono lo stesso canale di dati, ma hanno uno schema diverso a seconda del sistema operativo
  • Fornire oggetti Kibana (visualizzazioni e dashboard)
Scarica lo strumento
Fonte di Dati ATT&CKSotto Fonte di DatiOggetto Dati SorgenteRelazioneOggetto Dati DestinazioneEventID
Process monitoringcreazione processoprocesscreatedprocess4688
Process monitoringcreazione processoprocesscreatedprocess1
Process monitoringterminazione processoprocessterminated-4689
Process monitoringterminazione processoprocessterminated-5
DimensioneTipoDescrizione
CoperturaCanale di datiQuanti dispositivi o segmenti di rete sono coperti dal canale di dati
TempestivitàCanale di datiQuanto tempo impiega l'evento per essere disponibile
ConservazioneCanale di datiPer quanto tempo l'evento rimane disponibile
StrutturaEventoQuanto completo è l'evento, se i campi rilevanti sono disponibili
ConsistenzaEventoQuanto sono standardizzati i campi dell'evento, se i campi sono stati normalizzati
00
da 1 a 251
da 26 a 502
da 51 a 753
da 76 a 994
1005