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
subparse — Framework modulare per la raccolta e la correlazione di artefatti di analisi malware | Kitploit
Strumenti/GitHubGitHub/jstrosch/subparse
Analisi StaticaAnalisi Dinamica (Sandboxing)Informatica ForenseRaccolta InformazioniAnalisi MalwareThreat Intelligence
GitHubjstrosch/subparse

subparse

Framework modulare per la raccolta e la correlazione di artefatti di analisi malware

Vedi Repository
56122 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
Sito web

subparse

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Subparse è un framework modulare sviluppato da Josh Strochein, Aaron Baker e Odin Bernstein. Il framework è progettato per analizzare e indicizzare file di malware e presentare le informazioni trovate durante l'analisi in un visualizzatore web ricercabile. Il framework è modulare e utilizza un motore di parsing principale, moduli di parsing e una varietà di arricchitori che aggiungono ulteriori informazioni agli indici dei malware. I valori di input principali per il framework sono directory di file malware, che il motore di parsing principale o un motore di parsing specificato dall'utente analizza prima di aggiungere ulteriori informazioni da qualsiasi motore di arricchimento specificato dall'utente, il tutto prima di indicizzare le informazioni analizzate in un indice Elasticsearch. Le informazioni raccolte possono quindi essere cercate e visualizzate tramite un visualizzatore web, che permette anche di filtrare in base a qualsiasi valore raccolto da qualsiasi file. Attualmente ci sono 3 motori di parsing, i motori di parsing predefiniti (PEParser, OLEParser e ELFParser), e 2 motori di arricchimento (ABUSEEnricher e CAPEEnricher).

 

Per Iniziare

Requisiti Software

Per iniziare a utilizzare Subparse, è necessario installare e configurare alcuni programmi richiesti/consigliati prima di provare a lavorare con il nostro software.

Software

Requisiti Aggiuntivi

Dopo aver installato il software richiesto/consigliato sul tuo sistema, ci sono alcuni altri passaggi da eseguire per installare Subparse.

Requisiti Python
Python richiede l'installazione di altri pacchetti da cui Subparse dipende per i suoi processi. Per completare la configurazione di Python, naviga nella cartella *parser* della tua installazione di Subparse. I comandi che dovrai utilizzare per installare i requisiti Python sono:
root@kitploit:~
sudo apt-get install build-essential
pip3 install -r ./requirements.txt
Requisiti Docker
Poiché Subparse utilizza Docker per il backend e l'interfaccia web, la configurazione dei contenitori Docker deve essere completata prima di poter utilizzare il programma. Per fare ciò, naviga nella directory principale della tua installazione di Subparse e usa il seguente comando per configurare le istanze Docker:
root@kitploit:~
docker-compose up

Nota: potrebbe richiedere un po' di tempo a causa del download delle immagini e della configurazione dei contenitori necessari a Subparse.

 

Passaggi di installazione

  • Passaggi di installazione

Utilizzo

Opzioni della riga di comando

Opzioni della riga di comando disponibili per subparse/parser/subparse.py:

Visualizzazione dei risultati

Per visualizzare i risultati dei parser di Subparse, naviga su localhost:8080. Se hai problemi a visualizzare il sito, assicurati che il contenitore sia avviato in Docker e che non ci sia un altro processo in esecuzione sulla porta 8080 che possa impedire l'accesso al sito.

 

Informazioni Generali Raccolte

Prima di eseguire qualsiasi parser, vengono raccolte informazioni generali sul campione indipendentemente dal tipo di file sottostante. Queste informazioni includono:

  • Hash MD5 del campione
  • Hash SHA256 del campione
  • Nome del campione
  • Dimensione del campione
  • Estensione del campione
  • Estensione derivata del campione

Moduli Parser

I parser vengono eseguiti SOLO sui campioni che corrispondono al tipo di file. Ad esempio, i file PE verranno eseguiti di default dal PEParser poiché il tipo di file corrisponde a quelli che il PEParser è in grado di esaminare.

Moduli Predefiniti

ELFParser
Questo è il modulo di parsing predefinito che verrà eseguito sui file ELF. Le informazioni raccolte sono:
  • Informazioni Generali
  • Intestazioni dei Programmi
  • Intestazioni delle Sezioni
  • Note
  • Dati Specifici dell'Architettura
  • Informazioni sulla Versione
  • Informazioni Arm Unwind
  • Dati di Relocazione
  • Tag Dinamici
OLEParser
Questo è il modulo di parsing predefinito che verrà eseguito sui file in formato OLE e RTF, utilizzando il pacchetto OLETools per ottenere i dati. Le informazioni raccolte sono:
  • Metadati
  • MRaptor
  • RTF
  • Tempi
  • Indicatori
  • VBA / Macro VBA
  • Oggetti OLE
PEParser
Questo è il modulo di parsing predefinito che verrà eseguito sui file PE che corrispondono o includono i tipi di file: PE32 e MS-Dos. Le informazioni raccolte sono:
  • Codice e conteggio delle sezioni
  • Punto di ingresso
  • Base dell'immagine
  • Firma
  • Importazioni
  • Esportazioni

 

Moduli di Arricchimento

Questi moduli sono opzionali e verranno eseguiti SOLO se specificati tramite il flag -e | --enrichers sulla riga di comando.

Moduli Predefiniti

ABUSEEnricher
Questo arricchitore utilizza l'API di [Abuse.ch](https://abuse.ch/) e [Malware Bazaar](https://bazaar.abuse.ch) per raccogliere ulteriori informazioni sui campioni analizzati da Subparse; le informazioni vengono quindi aggregate e memorizzate nel database Elastic.
CAPEEnricher
Questo arricchitore viene utilizzato per comunicare con un'istanza di CAPEv2 Sandbox, per raccogliere ulteriori informazioni sui campioni tramite analisi dinamica; le informazioni vengono quindi aggregate e memorizzate nel database Elastic utilizzando il servizio di messaggistica Kafka per l'elaborazione in background.
STRINGEnricher
Questo arricchitore è un arricchitore intelligente di stringhe, che analizza il campione alla ricerca di stringhe potenzialmente interessanti. Le categorie di stringhe che questo arricchitore cerca includono: Audio, Immagini, File Eseguibili, Chiamate a Codice, File Compressi, Documenti Office, Indirizzi IP, Indirizzo IP + Porta, URL di Siti Web, Argomenti della Riga di Comando.
YARAEnricher
Questo arricchitore utilizza un file yara precompilato situato in: parser/src/enrichers/yara_rules. Questo file precompilato include regole da VirusTotal e YaraRulesProject.

 

Sviluppo di Parser e Arricchitori Personalizzati

La vista web di Subparse è stata costruita utilizzando Bootstrap per il CSS, ciò permette di utilizzare qualsiasi CSS integrato di Bootstrap quando si sviluppano i propri file Vue.js personalizzati per Parser/Arricchitori. Abbiamo anche fornito un esempio per ciascuno per aiutare a iniziare e abbiamo implementato alcuni widget personalizzati per facilitare il processo di sviluppo e promuovere la standardizzazione nel modo in cui le informazioni vengono visualizzate. Tutti i file Vue.js vengono utilizzati per visualizzare dinamicamente le informazioni dal Parser/Arricchitore personalizzato e fungono da modelli per i dati.

Nota: Le convenzioni di denominazione sia per i nomi delle classi che dei file devono essere rigorosamente rispettate; questo è la prima cosa da controllare se si incontrano problemi nel far eseguire il proprio Parser/Arricchitore personalizzato. La convenzione di denominazione del tuo Parser/Arricchitore deve utilizzare lo stesso nome in tutti i file e nomi di classe.

  • Sviluppo Python
  • Sviluppo Vue
  • Helper Vue


Registrazione (Logging)

L'oggetto logger è un'implementazione singleton del logger Python predefinito. Per un uso approfondito, fare riferimento alla Documentazione Ufficiale. Per Subparse, gli unici metodi di logging che consigliamo di utilizzare sono i livelli di logging per l'output. Questi sono:

  • debug
  • warning
  • error
  • critical
  • exception
  • log
  • info


RICONOSCIMENTI

  • Questa ricerca e tutti i co-autori sono stati supportati dal grant NSA H98230-20-1-0326.
Scarica lo strumento
Stato
Collegamento
DockerRichiestoGuida all'installazione
Python3.8.1RichiestoGuida all'installazione
PyenvConsigliatoGuida all'installazione
ArgomentoAlternativaObbligatorioDescrizione
-h--helpNoMostra il menu di aiuto
-d SAMPLES_DIR--directory SAMPLES_DIRSìDirectory dei campioni da analizzare
-e ENRICHER_MODULES--enrichers ENRICHER_MODULESNoModuli di arricchimento da utilizzare per analisi aggiuntive
-r--resetNoResetta/elimina tutti i dati nel cluster Elasticsearch configurato
-v--verboseNoMostra output dettagliato della riga di comando
-s--service-modeNoEntra in modalità servizio che permette di aggiungere ulteriori campioni a SAMPLES_DIR durante l'elaborazione