頻道欄目
首頁 > 資訊 > 工具軟件 > 正文

Loki:一款簡單強大的IOC和事件響應掃描器

18-04-11        來源:[db:作者]  
收藏   我要投稿

Loki:一款簡單強大的IOC和事件響應掃描器。Loki是一款簡單的IOC和事件響應掃描器。

其檢測主要基于以下四種檢測方法:

文件名IOC 正則表達式匹配完整的文件路徑/名稱

Yara規則檢查 Yara簽名匹配文件數據和進程內存

哈希檢查 將已知的惡意哈希(MD5,SHA1,SHA256)與掃描的文件進行比較

C2連接后檢查 將進程連接端點與C2 IOC進行比較(版本v.10后新增)

其他檢查:

Regin文件系統檢查(通過–reginfs)

處理異常檢查(基于Sysforensics)

SWF解壓縮掃描(從版本v0.8開始新增)

SAM轉儲檢查

DoublePulsar檢查 – 嘗試檢測端口445/tcp和3389/tcp上的DoublePulsar后門程序

PE-Sieve進程檢查

Windows二進制文件使用PyInstaller 2.1進行編譯,并且應該在基于x86和x64的系統上作為x86應用程序運行。

下載

LOKI的最新發布版本可以在這里下載到。

如何運行LOKI并分析報告

運行

下載最新的LOKI版本

運行一次以檢索最新的簽名庫存儲庫

將文件夾提供給應掃描的目標系統:可移動媒體,網絡共享,目標系統上的文件夾

右鍵單擊loki.exe,然后選擇“以管理員身份運行”或以管理員身份打開命令行“cmd.exe”,然后從中運行它(您也可以在沒有管理權限的情況運行LOKI,但某些檢查將被禁用且相關對象磁盤將無法訪問)

報告

報告內容將會以不同的顏色區分(綠色,黃色或紅色)其重要程度。

請自行對報告內容研究分析:

將非保密樣本上傳到 Virustotal.com

在網上搜索文件名

在網絡上搜索規則名稱中的關鍵字(例如,EQUATIONGroupMalware_1>搜索“方程組”)

在網上搜索樣本的MD5哈希

在我的客戶APT搜索引擎中搜索文件名或標識符

歡迎大家通過Issuesx’axai向我們報告相關的誤報問題(誤報例如散列和/或文件名以及觸發的規則名稱)

更新

自版本0.21.0以來,LOKI包含了一個名為loki-upgrader.exe或loki-upgrader.py的獨立更新工具。

usage: loki-upgrader.py [-h] [-l log-file] [--sigsonly] [--progonly] [--nolog]

[--debug]

Loki - Upgrader

optional arguments:

-h, --help 顯示幫助信息并退出

-l log-file 日志文件

--sigsonly 僅更新簽名

--progonly 僅更新程序文件

--nolog 不要編寫本地日志文件

--debug 調試輸出

它允許更新Windows上已編譯的loki.exe和基于簽名的源代碼。

當運行loki.exe –update時,它會創建一個新的升級程序并退出LOKI,以便用新的升級程序代替loki.exe,否則將被鎖定。

使用

usage: loki.exe [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]

[-a alert-level] [-w warning-level] [-n notice-level]

[--printAll] [--allreasons] [--noprocscan] [--nofilescan]

[--scriptanalysis] [--rootkit] [--noindicator] [--reginfs]

[--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog]

[--update] [--debug]

Loki - Simple IOC Scanner

optional arguments:

-h, --help 顯示幫助信息并退出

-p path 掃描路徑

-s kilobyte 最大文件大小KB(默認5000 KB)

-l log-file 日志文件

-r remote-loghost 遠程系統日志

-a alert-level 警報評分

-w warning-level 警告評分

-n notice-level 注意評分

--printAll 打印所有掃描的文件

--allreasons 打印導致得分的所有原因

--noprocscan 跳過進程掃描

--nofilescan 跳過文件掃描

--scriptanalysis 激活腳本分析(beta版)

--rootkit 跳過rootkit檢查

--noindicator 不顯示進度指示器

--reginfs 檢查Regin虛擬文件系統

--dontwait 不要等待退出

--intense 變態掃描模式(也掃描未知的文件類型和所有擴展)

--csv 將CSV日志格式寫入標準輸出(machine prcoessing)

--onlyrelevant 僅打印警告或警報

--nolog 不要編寫本地日志文件

--update 從"signature-base"子知識庫更新簽名

--debug 調試輸出

構建LOKI

如果你使用的是release部分的預編譯的可執行文件,則無需任何要求。

如果你想自己構建LOKI:

Linux 或 OS X

yara:只需使用最新版本的源代碼,編譯并安裝它(或者通過pip install yara-python安裝)

一些Python軟件包:pip install yara-python psutil netaddr pylzma colorama

Windows

yara:建議使用最新版本的Windows編譯軟件包(例如yara-python-3.5.0.0.win32-py2.7.exe – 從這里下載:https://github.com/VirusTotal/yara/releases

pywin32:路徑轉換(PyInstaller issue;僅限Windows)

Microsoft Visual C++ 2010 Redistributable Package(https://www.microsoft.com/en-US/download/details.aspx?id=5555)

Microsoft Visual C++Compiler for Python 2.7(https://www.microsoft.com/en-us/download/details.aspx?id=44266):pylzma

c:\Python27\python.exe -m pip install --upgrade pip

pip.exe install psutil netaddr wmi colorama pylzma pycrypto

LOKI可以使用定制的加密規則集進行打包,該規則集嵌入在pyinstaller軟件包中。為了包含你自己的規則,你需要將它們放在LOKI目錄下名為private-signature的目錄中并執行build.bat。

loki/

├── private-signatures/ in here will by added to loki.exe

├── signature-base/ and still required (retrieved by loki-upgrader.exe)

│ ├── iocs/

│ ├── yara/

為了成功運行構建腳本,你需要安裝PyInstaller。我們使用PyInstaller 2.1是因為使用PyInstaller 3構建的軟件包不能在基于Windows 2003和XP的系統上運行。(在事件響應中 – 甚至有運行Windows 2000或Windows NT的生產系統)

安裝PyInstaller最簡單的方法是:

pip install pyinstaller==2.1

之后,你可以運行構建腳本。

build.bat

你可以手動調用loki-package-builder.py來驗證簽名集是否有效。

C:\Python27\python.exe loki-package-builder.py --ruledir signatures --target rules

該工具的用法:

usage: loki-package-builder.py [-h] --ruledir RULEDIR --target TARGET

Package builder for Loki

optional arguments:

-h, --help 顯示幫助信息并退出

--ruledir RULEDIR 包含要構建到Loki中的規則的目錄

--target TARGET 目標存儲編譯的規則集的位置

威脅Intel接收器的必要條件

OTX Python SDK

pyMISP

簽名和IOCs

你可以下載LOKI發布的ZIP壓縮包并運行一次LOKI,以下載帶有所有簽名的“signature-base”子庫。 從版本0.21.0開始,提供了一個單獨的更新程序loki-upgrader.exe或loki-upgrader.py。

IOC文件哈希和文件名存儲在’./signature-base/iocs’文件夾中。 放置在’./signature-base/yara’文件夾中的所有’.yar’文件將與已包含的規則集一起初始化。使用’score’值來定義簽名匹配時的消息級別。

你可以通過將文件添加到’./signature-base/iocs’子文件夾來添加散列,c2和文件名IOC。 所有散列IOC和文件名IOC文件必須采用LOKI使用的格式(請參閱默認文件)。 這些文件的名稱中必須包含字符串“hash”,“filename”或“c2”以在初始化過程中被拉取。

對于散列IOC(以換行符分割;自動檢測散列類型)

Hash;Description [Reference]

對于文件名IOC(以換行符分割)

# Description [Reference]

Regex;Score;False Positive Regex

你可以在你提供給LOKI的YARA規則中使用以下外部變量

filename - e.g. condition: $s1 and not filename == 'nmap.exe'

filepatch - e.g. condition: filepath == 'C:\Windows\cmd.exe'

extension - e.g. condition: uint32(0) == 0x5a4d and extension == ".txt"

filetype - eg. condition: extension == ".txt" and filetype == "EXE"

(see file-type-signatures.cfg in signature-base repo for all detected file types)

md5 - legacy value

用戶定義不包含的掃描目錄

自版本v0.16.2開始LOKI支持通過新的“./config”文件夾中的“excludes.cfg”來定義用戶排除的掃描范圍。

”exclude.cfg”文件的內容格式如下所示:

# Excluded directories

#

# - add directories you want to exclude from the scan

# - double escape back slashes

# - values are case-insensitive

# - remember to use back slashes on Windows and slashes on Linux / Unix / OSX

# - each line contains a regex that matches somewhere in the full path (case insensitive)

# e.g.:

# Regex: \\System32\\

# Matches C:\Windows\System32\cmd.exe

#

# Regex: /var/log/[^/]+\.log

# Matches: /var/log/test.log

# Not Matches: /var/log/test.gz

#

# Useful examples

\\Ntfrs\\

\\Ntds\\

\\EDB[^\.]+\.log

Sysvol\\Staging\\Nntfrs_cmp

\\System Volume Information\\DFSR

PE-Sieve

自0.26版本以來,LOKI集成了@hasherezade的工具PE-Sieve來檢測異常進程。

如果LOKI在啟動過程中在./tools子文件夾中找到它,該工具將被初始化。

威脅Intel接收器

自v0.10版本以來,LOKI包含各種威脅接收器,使用這些服務的公共API來檢索和存儲LOKI了解的IOC。Loki僅會使用一次文件名正則表達式或散列,因此對性能不會產生影響)

威脅intel接收器也已被轉移到版本為0.15的基于簽名的子庫中,并可在“./signature-base/threatintel”中找到。

通過-k APIKEY提供你的API密鑰或在腳本中配置。

OTX接收器

這是一個簡單的腳本,用于下載你訂閱的事件/ioc,并將它們以正確的格式存儲在’./iocs’子文件夾中。 該腳本位于“./threatintel”文件夾中,名為“get-otx-iocs.py”。

usage: get-otx-iocs.py [-h] [-k APIKEY] [-o dir] [--verifycert] [--debug]

OTX IOC Receiver

optional arguments:

-h, --help 顯示幫助信息并退出

-k APIKEY OTX API key

-o dir 輸出目錄

--verifycert 驗證服務器證書

--debug 調試輸出

MISP接收器

一個簡單的腳本,用于從自定義MISP實例下載你訂閱的事件/ioc,并以正確格式將它們存儲在’./iocs’子文件夾中。 存儲在MISP中的YARA規則將寫入’./iocs/yara’子文件夾,并在啟動過程中自動初始化。該腳本位于“./threatintel”文件夾中,名為“get-misp-iocs.py”。

usage: get-misp-iocs.py [-h] [-u URL] [-k APIKEY] [-l tframe] [-o dir]

[-y yara-dir] [--verifycert] [--debug]

MISP IOC Receiver

optional arguments:

-h, --help 顯示幫助信息并退出

-u URL MISP URL

-k APIKEY MISP API key

-l tframe 時間范圍(例如2天,12小時-默認=30天)

-o dir 輸出目錄

-y yara-dir YARA規則輸出目錄

--verifycert 驗證服務器證書

--debug 調試輸出

截圖

Loki掃描

命令行掃描輸出

基于哈希的IOCs

基于文件名的IOC

生成的日志文件

編譯掃描器

下載PyInstaller v2.1,切換到pyinstaller程序目錄并執行:

python ./pyinstaller.py -F C:\path\to\loki.py

這將在子文件夾./loki/dist中創建一個loki.exe。

Mac OS X上的使用

從這里下載Yara源

安裝openssl(brew install openssl,然后sudo cp -r /usr/local/Cellar/openssl/1.0.2h_1/include /usr/local)

運行./build.sh

sudo make install

轉到文件夾yara-python

運行python setup.py install

安裝必要軟件包,sudo pip install colorama gitpython, netaddr, pylzma 等…

將https://github.com/Neo23x0/signature-base下載并解壓到Loki文件夾中

cd loki文件夾,sudo python loki.py -p /

殺毒軟件誤報

殺毒引擎可能會對LOKI誤報,這是由于其中編譯的部分代碼也被用于一些惡意軟件中。如果你對此并不信任,你可以自行進行編譯。

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片