
Strumento di Threat Hunting su Sysmon e grafici

Grafiki è un progetto Django riguardante Sysmon e grafi, per il momento.
A mio parere EventViewer, Elastic e anche Kibana non sono abbastanza grafici. Le minacce attuali sono complicate e se gli attaccanti pensano in grafi, anche i difensori devono farlo.
Questo è un proof of concept, il codice non è stato ancora debuggato ma potrebbe essere utile a qualcuno, lo migliorerò.
Questo progetto è iniziato come un parser EVTX per database SQL e forse questo è il cuore del progetto.
Il progetto non è ancora abbastanza maturo, anche se funziona, il piano di test non è ancora definito.
Qualsiasi opinione, bug trovato, richiesta di miglioramento ... sarà ben accetta.
git clone https://github.com/lucky-luk3/Grafiki.git
cd Grafiki
sudo -- sh -c -e "echo '127.0.0.1 grafiki.local' >> /etc/hosts"
docker compose up --build &
docker exec -it -d grafiki-app-1 /init_django.sh
Nel tuo browser vai a http://127.0.0.1:8000/ o http://grafiki.local:8000/
Caccia, impara e divertiti!
Questa applicazione può elaborare due tipi di file.

In questa pagina puoi caricare file evtx o file di eventi elastic ed elaborarli.

Questa pagina è utile per creare una libreria di file di esempio online.
Quando crei un esempio, inserisci l'URL del file e quando lo elabori, l'applicazione scarica il file di evento e lo elabora.

In questa pagina puoi creare ricerche nella tua istanza Elastic e creare un grafo del risultato. Puoi creare filtri su:

La pagina del grafo è il cuore di questa applicazione e l'interfaccia di ricerca.
Nelle altre pagine selezioni i tuoi dati e queste pagine ti inviano alla pagina del grafo; se vai direttamente alla pagina del grafo, non ci sarà nulla o ci saranno gli ultimi dati cercati per te.
In questa pagina ci sono due schede, una per gli eventi Sysmon e l'altra per gli eventi PowerShell.
Ci sono due tipi di elementi, nodi e archi. I nodi rappresentano entità come processi, file o chiavi di registro e gli archi rappresentano azioni come creare, eliminare o connettere.

Siamo nel cuore.
Questa parte utilizza le informazioni nel database per creare grafi sugli eventi analizzati.
Puoi navigare nel grafo, osservando la creazione di processi, named pipe connessi ... ma di solito ci sono troppe informazioni per lavorare comodamente.
All'interno della scheda c'è una sezione nascosta sui filtri del grafo.
In questa area puoi lavorare con i dati di filtro del grafo.
Puoi filtrare i nodi per queste entità:
Puoi anche filtrare i nodi processo per:
Inoltre, puoi filtrare gli archi per queste azioni:
Una grande caratteristica è creare animazioni sui dati nel grafo, questo è molto utile ad esempio nello spoofing del PID padre o
quando un utente in un computer esegue comandi in remoto.

Quando il grafo ha troppe informazioni, è possibile eliminare un nodo, un arco, un gruppo di nodi o un gruppo di nodi in modo ricorsivo.
Eliminare un gruppo di nodi funziona selezionando un nodo e l'applicazione eliminerà tutti i nodi il cui genitore è il nodo selezionato.
Eliminare un gruppo in modo ricorsivo funziona anche selezionando un nodo, ma l'applicazione attraverserà i nodi eliminando fino a terminare questo ramo dell'albero. Se il ramo ha molte informazioni, ci vorrà molto tempo.
In fondo allo schermo è possibile cambiare la fisica del grafo.
Quando il grafo ha molte informazioni, potrebbe essere utile disabilitare la fisica per stabilizzare il grafo.
Puoi giocare con la fisica, è divertente.
Nella scheda PowerShell è possibile analizzare i comandi PowerShell.
I comandi sono mostrati in un accordion e all'interno di ogni riga, se il comando contiene un comando base64, verrà decodificato e analizzato.
Puoi cercare in tutti gli eventi la parte codificata o decodificata del comando.





