Avviso contenuto: Autore: Andrea Cavallini Oggi è sempre più importante e significativo essere efficienti nel controllo delle proprie infrastrutture; le azioni da mettere in atto per questo processo di verifica richiedono un doppio approccio, uno proattivo e l’altro post-a
Oggi è sempre più importante e significativo essere efficienti nel controllo delle proprie infrastrutture; le azioni da mettere in atto per questo processo di verifica richiedono un doppio approccio, uno proattivo e l’altro post-azione: quest’ultimo aspetto è fondamentale quando un attacco o, in generale, qualsiasi tentativo di comportamento dannoso viene condotto su un sistema oggetto e dobbiamo, in quanto amministratori, sapere tutto di questa azione, dal suo inizio alla sua parte finale.
Il paradigma “è successo e devo saperne tutto” può essere verificato in modo ottimale da Loki.
Loki è uno strumento open source, sviluppato in Python da Florian Roth (aka Neo23x0) ed è una suite di strumenti molto semplice, utilizzabile per il rilevamento IOC (Indicatore di compromissione) nei nostri sistemi.
Il punto di forza di Loki è l’interazione con un insieme dinamico di regole, liberamente aggiornabile, che sono applicate agli elementi del filesystem e non solo (ad esempio lato Windows ispeziona anche la memoria condivisa ad esempio); gli utenti possono personalizzare le regole o scriverne di nuove per essere costantemente aggiornati con gli ultimi modelli IOC.
Nome file, utilizzando la corrispondenza tramite espressione regolare sul percorso/nome completo del file per cercare un nome file specifico
Yara rule checksum, utilizzando la corrispondenza della firme Yara rilasciate verificando files e memoria dei processi
Hash check, confrontando gli hash dannosi noti (MD5, SHA1, SHA256) con i file scansionati
C2 back connect check, confrontando gli endpoint di connessione del processo con gli IOC di Command and Control
Loki può essere eseguito su sistemi operativi Linux, Mac e Windows, ma solo localmente. Partendo da un fork del prodotto sul mio repository GitHub è possibile l’esecuzione centralizzata mediante l’opzione –ip: Loki mapperà il filesystem remoto dell’host specificato tramite indirizzo IP mediante connessione SSH (è richiesto il pacchetto SSHFS localmente e che sul server remoto il demone SSH sia in esecuzione).
Questo è molto utile per le infrastrutture centralizzate per raccogliere in un unico punto i risultati di ogni scansione e, aggiungendo un’altra opzione che ho implementato (–locallogging), è anche possibile reindirizzare il log di Loki come output nel Syslog/Event Viewer per raccogliere i dati nei registri gestiti nativamente dal sistema operativo.