以下為利用虛擬機器在VM上的LAB實作的步驟
Step 1:先在DNS Sever上將偵錯模式打開,記錄DNS的查詢封包的Log,選勾以下選項可以知道哪些內部電腦查詢了哪些網址,之後會透過Splunk分析這些網址與C&C伺服器清單做大數據比對,不需要勾選到詳細資料的欄位,因為這樣子Log會長的太快,而且不利分析,只需要知道簡單的幾個必要欄位即可


Step 2:透過Splunk的Forward功能將DNS主機上的dnslog.txt Import到index的機器上做檔案監控分析,在Import時要注意中文亂碼與網址格式難辦視的問題如下圖

所以需要在加入以下的參數來做修正語系與正規化表示法來顯示簡單易讀的網址格式
CHARSET = Big5
MAX_TIMESTAMP_LOOKAHEAD = 150
NO_BINARY_CHECK = 1
TZ = Asia/Taipei
pulldown_type = 1
SEDCMD-ad1 = s/\(\d+\)/./g
(?i) .*? \.(?P[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4})
利用上面的正規化表示法定義字串,並確保網址都有被列入索引字串,後面會透過這個來做分析比對惡意網址
Splunk查詢網址的結果如下

利用上面的正規化表示法定義字串,並確保網址都有被列入索引字串,後面會透過這個來做分析比對惡意網址

Splunk查詢網址的結果如下

Step4:安裝Splunk App Getwatchlist來做C&C伺服器清單的Import,輸入以下指令產生CSV檔
| getwatchlist http://mirror1.malwaredomains.com/files/domains.txt relevantFieldName="domain" relevantFieldCol=3 categoryCol=4 referenceCol=5 dateCol=6 isbad=true | outputlookup malwaredomains.csv
malwaredomains.csv 清單會產生於下列路徑C:\ProgramFiles\Splunk\etc\apps\search\lookups/malwaredomains.csv
| getwatchlist http://mirror1.malwaredomains.com/files/domains.txt relevantFieldName="domain" relevantFieldCol=3 categoryCol=4 referenceCol=5 dateCol=6 isbad=true | outputlookup malwaredomains.csv
malwaredomains.csv 清單會產生於下列路徑C:\ProgramFiles\Splunk\etc\apps\search\lookups/malwaredomains.csv
接著在Splunk中去定義查閱表格
Manager >> Lookups >> Lookup table filesManager >> Lookups >>Lookup definitions
定義完成後,測試一下比對分析結果,會利用我們DSN Server上的Log記錄與malwaredomains.csv裡的網址去做查詢Filter後,就可以看到哪些Client IP有去連到惡意網址了,接著再將結果定義成Splunk裡的事件告警後,便可以知道到底哪些電腦是中毒、哪些只是不小心點到惡意的廣告連結了!!
sourcetype="ad1" NOT 8.8.8.8 | lookup malwaredomains domain | search isbad=true
sourcetype="ad1" NOT 8.8.8.8 | lookup malwaredomains domain | search isbad=true
sourcetype="ad1" NOT 8.8.8.8 | lookup malwaredomains domain | search isbad=true | stats count by domain QueryIP | sort 100 -count

sourcetype="ad1" NOT 8.8.8.8 | lookup malwaredomains domain | search isbad=true | chart count by domain QueryIP

sourcetype="ad1" NOT 8.8.8.8 | lookup malwaredomains domain | search isbad=true | chart count by domain QueryIP
0 回應:
張貼留言