Zdravo,
Na radionici u sredu (26.Jul) smo pokazali par open-source alata za bolju zastitu linux masina i detekciju upada tzv. HIDS (host Intrusion Detection Systems).
ClamAV je open-source antivirus koji moze detektovati neke viruse na sistemu. Koristi se na svim platformama Linux (ClamAV, Clamtk…) Windows (ClamWin, Immunet), Mac (ClamXAV), Android (Hypatia, LibreAV).
ClamAV ima mogucnost da se podesi da radi ‘real-time’ scan nad zeljenim folderima kroz opciju on access scanning (Setting up ClamAV · GitHub) sto znaci da svaki novi fajl u nadgledanom direktorijumu bude skeniran i ukoliko je maliciozan bude permesten u karantin-folder.
Mi smo pokazali samo najosnovniju funkciju ClamAV-a kroz detektovanje testnog EICAR virus fajla po uputstvu.
ClamAV tesko moze da se meri sa modernim antivirusima koji nisu otvoreni, ali je svakako dobar dodatak za Web server, fajl/FTP/NAS server, mejl server (Amavis), cPanel,… sa svojih skromnih ~60% uspesnih detekcija
Medjutim ozbiljnije kompromitacije sistema kao sto su rootkit-i clamAV ne moze da detektuje. Zanimljiv rad na ovu temu mozete pogledati na sledecem linku http://jultika.oulu.fi/files/nbnfioulu-202004201485.pdf gde su testirani Linux rootkit-i i open-source softveri za detekciju istih.
Mi smo probali Diamorphine ali mozete odabrati bilo koji sa liste rootkita da testirate.
UPOZORENJE! Ne instalirati rootkite na tudjim ili svojim sistemima koji se aktivno koriste jer je ukljanjanje tesko.
Na slici iznad se vidi da smo skinuli Diamorphine, kompajlirali ga i dobili diamorphine.ko (loadable kernel module) koji ClamAV nije deektovao da je maliciozan.
Kada se insti ucita sa komandom
insmod diamorphine.ko
mozemo poceti da skeniramo zarazeni sistem alatima za otkrivanje rootkita na sistemu.
Prvi takav je Chkrootkit
install: sudo apt install -y chkrootkit
run: sudo chkrootkit
(ili sa opcijom -q za samo bitne stvari ili sa | grep INFECTED da ispise samo detektovane)
I kao sto mozemo videti, chkrootkit nije uspeo da detektuje Diamorphine rootkit na Ubuntu 22.04 sto se slaze sa nalazima iz pomenutog .PDF fajla.
RootkitHunter je sledeci
install: sudo apt install rkhunter
update: sudo rkhunter --update
Skeniranje
Kao sto vidimo rkhunter nije uspeo da detektuje rootkit, iako je Diamorphine prisutan na sistemu. Postoji manuelan nacin da se Diamorphine detektuje. Kao sto vidimo na slici gore posle zavrsetka skeniranja sa rkhunter-om pokusali smo otkriti diamorphine proces na sistemu sa lsmod komandom, zatim ubiti nepostojeci proces sto aktivira diamorphine i onda ponovo izlistati sa lsmod i nasli smo ga.
To potvrdjuje da je diamorphine rootkit zaista prisutan na sistemu i pokusava da se sakrije.
Sledeci alat koji imamo na raspolaganju je Unhide, koji je ujedno i moj omiljeni jer koristi jednostavne ali efektivne metode za tako tezak zadatak kao sto je otkrivanje rootkita sto pokazuje genijalnost autora koji su ga osmislili. Unhide je forenzicki alat koji poredi rezultate listanja procesa na sistemu na razlicite nacine i po odstuoanju od poklapanja detektuje moguci rootkit.
Sa leve strane mozemo videti moj laptop(kali linux t480)a sa desne polovine slike zarazeni ubuntu server sa Diamorphine rootkitom.
Pokrenut je unhide na obe masine i rezultat se moze jasno uporediti.
Na zarazenoj masini Unhide detektuje nepoznati proces koji u nedogled menja PID-ove u pokusaju da se sakrije, ali zapravo bas to neocekivano ponasanje biva prouzrokuje da Unhide detektuje sakriven PID.
Medjutim najbolji otvoreni i besplatni alat do sada je Wazuh koji je dostupan i za Linux i za Windows sisteme. Wazuh je SIEM/EDR/XDR alat nastao od starijeg Ossec-a koji je bio samo HIDS. Ossec ima mogucnosti da pradi promene fajlova i foldera (FIM - File integrity monitoring) pomocu pracnje i poredjenja hesheva istih. Detekcija ruutkita analizom procesa i upada u sistem analizom logova, kao i procera usaglasenosti sistema sa PCI-DSS i CIS standardima. Wazuh na sve to ima vizualizaciju i lakse pretrazivanje pomocu ELK steka (Elasticsearch + Logstash + Kibana), a oba sistema imaju i mogucnost automatskog odgovora na detektovano ugrozavanje sistema.
Ossec se razvija i u drugim pravcima tako da sada postoji i Ossec+ koji koristi masinsko ucenje / vestacku inteligenciju, a postoji i Atomic ossec verzija koja se placa za firme, vise na linku OSSEC-a.
Wazuh mozete
besplatno probati dve nedelje samo sa registrazijom bez kreditne kartice ili broja telefona. Kada se registrujete i napravite svoj tenat, mozete ici na dodavanje agenta gde ce vam kreirati komandu za instalaciju na endpointu zavisno od parametara sistema.
Mozete videti instalacija Wazuha je jedna duza komanda, a pokretanje i provera jos 3 manje tako da je sve gotovo za manje od jednog minuta. Kada
Kada se instalira videce ga konzola na kojoj ce te videti status i logove sa vec predefinisanim vizualizacije istih.
Ono sto je zanimljivo je zapravo pisanje upita tj. filtriranje kako bi dosli do zeljenih rezultata iz gomile logova.
rule.groups:rootcheck
Sa primenjenim filterom vidimo detektovan moguci rootkit zbog pokusaja sakrivanja procesa na sistemu. Mozete se dalje igrati sa RuleID-evima, Severity level-om, i MITRE ATT&CK taktima za filtriranje iz rezultata.
Dodatni alati koji vam mogu pomoci da identifikujete potencijalne propuste u sistemu su:
A Linux sistem dodatno mozete ojacati (hardening) primenom sugestija iz rezultata navedenih open-source skenera kao i sa