Скандинавски богове и IOC
Предполагам повечето от нас когато чуят Loki се сещат за героя, представящ бога на хитростите, от филмите на Марвел, изигран по един изключителен начин от Том Хидълстън. Други може да направят асоциация със скандинавския епос и картини от преди няколко века, а някои от нас свързват името и с един много полезен инструмент за откриване на IOC.
Преди да разгледаме накратко Loki (инструмента, не бога) нека да си зададем въпроса - важно ли е да извършваме периодично търсене на IOC и какви ще са позлите от това? Също така е едно предупреждение - заредете се с търпение, защото анализите изискват немалко време.
Nextron Systems разработват комерсиални инструменти за анализ и откриване на инциденти, свързани с киберсигурността. Един от основните продукти е THOR - APT скенер за Microsoft Windows, включващ 26 отделни модула и около 9000 Yara сигнатури. За LOKI може да се каже, че е по-малкия брат на THOR - безплатен скенер за IOC, поддържащ Microsoft Windows, Linux и MacOS, който по същество е базиран на пренаписани основни модули на THOR. LOKI поддържа три основни категории IOC:
- MD5/SHA1/SHA256 хешове;
- Yara правила (анализиращи файлове и процесите в паметта на системата);
- Имена на файлове (базирани на RegEx).
Въпреки, че Yara правилата са около 3000, те могат успешно да установят наличие на зловреден код, пропуснат от антивирусни системи, както и голям брой инструменти, използвани от злонамерени лица.
Резултатите от работата на LOKI могат да попаднат в една от следните три групи:
- Системата е чиста - всички редове в конзолата са в зелен цвят;
- Открити са съмнителни файлове - текста в конзолата е в жълто;
- Налични са IOC - текстът е в червен цвят.
За мен цветовото кодиране е много полезно, защото с бърз поглед се вижда, дали докато се изпълняват проверките, инструмента е открил нещо, с две думи не се налага да се чете текста от конзолата.
Инсталиране на LOKI
Ако е необходимо LOKI да се стартира под Microsoft Windows просто трябва да се изтеглят компилираните файлове от GitHib.
При Linux стъпките са няколко - клониране с git и инсталиране на необходимите компоненти:
git clone https://github.com/Neo23x0/Loki.git
pip install -r requirements.txt
Стартиране на анализ
LOKI поддържа следните програмни аргументи:
usage: loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]
[-t remote-syslog-port] [-a alert-level] [-w warning-level]
[-n notice-level] [--printAll] [--allreasons] [--noprocscan]
[--nofilescan] [--nolevcheck] [--scriptanalysis] [--rootkit]
[--noindicator] [--reginfs] [--dontwait] [--intense] [--csv]
[--onlyrelevant] [--nolog] [--update] [--debug]
[--maxworkingset MAXWORKINGSET]
Loki - Simple IOC Scanner
optional arguments:
-h, --help show this help message and exit
-p path Path to scan
-s kilobyte Maximum file size to check in KB (default 5000 KB)
-l log-file Log file
-r remote-loghost Remote syslog system
-t remote-syslog-port
Remote syslog port
-a alert-level Alert score
-w warning-level Warning score
-n notice-level Notice score
--printAll Print all files that are scanned
--allreasons Print all reasons that caused the score
--noprocscan Skip the process scan
--nofilescan Skip the file scan
--nolevcheck Skip the Levenshtein distance check
--scriptanalysis Activate script analysis (beta)
--rootkit Skip the rootkit check
--noindicator Do not show a progress indicator
--reginfs Do check for Regin virtual file system
--dontwait Do not wait on exit
--intense Intense scan mode (also scan unknown file types and
all extensions)
--csv Write CSV log format to STDOUT (machine prcoessing)
--onlyrelevant Only print warnings or alerts
--nolog Don't write a local log file
--update Update the signatures from the "signature-base" sub
repository
--debug Debug output
--maxworkingset MAXWORKINGSET
Maximum working set size of processes to scan (in MB,
default 100 MB)
Важно е да се отбележи, че са необходими административни права за правилната работа на инструмента.
За базова проверка, аз използвам следните параметри:
loki.py --update
loki.py -l "/tmp/$(date +"%m_%d_%Y")_loki.txt" --allreasons
Инструмент Thor Lite
Въпреки че Loki има добра функционалност, неговият по-голям брат Thor е основният инструмент на Nextron Systems. Той е платен, но безплатно може да се използва негова ограничена версия.
За разлика от работата на Loki под Linux, тук ще трябва да проявите търпение, защото сканирането може да отнеме значително време.
Най-често стартирам Thor Lite със следните параметри:
thor-lite-util upgrade
thor-lite64.exe --allhds --lowprio --cpulimit 50 --allreasons --htmlfile --dbfile f:\THOR\thor_lite.db
Генерираните резултати от Thor Lite са достатъчно подробни и най-вече полезни.
Очаквани резултати
Да се върнем на въпроса от началото на публикацията. Личното ми мнение е, че е препоръчително периодично да се извършва сканиране с инструменти като Loki и Thor (Lite), а причината за това е, че винаги съществува риск антивирусната система да пропусне зловреден код, както и да открием артефакти за наличието на такъв, който е бил премахнат.
Да не забравяме, че на много малко Linux системи имат инсталирани продукти за защита от зловреден код и при необходимост от одит, Loki е едно не-лошо решение.
Както се казва "малко повече предпазливост, не вреди".