Wazuh – FIM (File Alteration Monitor)
Vediamo come utilizzare Wazuh per intercettare delle modifiche non autorizzate al nostro file system; nel caso di macchine Windows, possiamo anche controllare alterazione del registry.
Questa caratteristica viene identificata in genere come FIM (File Alteration Monitor).
Per questo test, utilizzaremo come macchina target una MS Windows Server 2019 standard; procediamo inizialmente con l’installazione dell’agent sulla nostra macchina target.
Colleghiamoci, tramite Kibana, all’interfaccia di Wazuh e creiamo il nuovo agent: dal menù “Agent” scegliamo “Deploy New Agent” ed inseriamo (viene proposto di default) l’indirizzo IP su cui è installato Wazuh manager. A questo punto ci verrà proposto un URL del seguente tipo, che dovremo eseguire sulla machina target:
Invoke-WebRequest -Uri https://packages.wazuh.com/3.x/windows/wazuh-agent-3.13.0-1.msi -OutFile wazuh-agent.msi; ./wazuh-agent.msi /q WAZUH_MANAGER='192.168.xxx.xxx' WAZUH_REGISTRATION_SERVER='192.168.xxx.xxx'
Sulla macchina target, apriamo una PowerShell con diritti di amministratore ed inseriamo la stringa precedente; il client verrà scaricato dal sito di Wazuh, verrà installato e la nostra macchina target verrà registrata su Wazuh Manager.
Per testare le funzionalità FIM di Wazuh, creiamo due directory di test:
c:\test-1 c:\test-2
Sulla prima directory abilitiamo il FIM in realtime, mentre sulla seconda solo il test periodico (di default il test viene effettuato ogni 43200 secondi, cioè ogni 12 hours il test viene effettuato anche all’avvio dell’agent).
Per far ciò, apriamo il file di configurazione sul client ( C:\Program Files (x86)\ossec-agent\ossec.conf ) ed modifichiamo la sezione syscheck:
<directories check_all="yes" realtime="yes" report_changes="yes">C:/test-1</directories> <directories check_all="yes">C:/test-2</directories> <!--frequency>43200</frequency--> <frequency>300</frequency>
Potete notare come la directory c:\test-1 viene in realtà inserita come “c:/test-1” (con il forwardslash invece del backslash perchè il backslash può venire interpretrato come un carattere di escape e potrebbe portare a generare confusione); inoltre abbiamo abbassato il tempo tra due scansioni successive a 5min (300sec) invece che ogni 12h (43200sec).
Riavviamo sulla macchina target il l’agent; apriamo il programma “Manage Agent” e successivamente dal menù “Manage” scegliamo restart.
Sempre dallo stesso programma, apriamo il file di log dell’agent (“View” –> “View log“) per verificare che le configurazioni precedenti sono state correttamente caricate :
2020/07/02 21:56:18 ossec-agent: INFO: (6003): Monitoring directory/file: 'c:\test-1', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | attributes | report_changes | realtime'. 2020/07/02 21:56:18 ossec-agent: INFO: (6003): Monitoring directory/file: 'c:\test-2', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | attributes | scheduled'.
Procediamo ad effettuare qualche test sulle directory c:\test-1 e c:\test-2: editiamo e modifichiamo file, copiamo, cancelliamo, creiamo file e directory, facciamo tutti i test che ci vengono in mente.
Dopo aver effettuato i test che reputiamo necessari, andiamo nell’app Wazuh su Kibana per vederne i risultati. Ricordiamoci che gli avvisi sulla directory c:\test-1 vengono visulizzati in realtime, mentre quelli sulla directory c:\test-2 solo alla successiva scansione (allo scadere dei 5 min che abbiamo impostato od eventualmente al riavvio dell’agent).
Apriamo la app di Wazuh e vediamo cosa viene riportato; andiamo su “Agents” –> “Win2019“:
Andiamo nel dettaglio e scegliamo la dashboard “Integrity Monitor” e vediamo in successione la dashboard, l’inventory e il dettaglio:
Possiamo notare come TUTTE le operazioni che abbiamo effettuato, sono state correttamente registrate.
Vedremo ora come modificare le regole esistenti di Wazuh o crearne delle personalizzate.