攻擊溯源作為安全事故中事后響應(yīng)的重要組成部分,通過對受害資產(chǎn)與內(nèi)網(wǎng)流量進行分析一定程度上還原攻擊者的攻擊路徑與攻擊手法,有助于修復(fù)漏洞與風(fēng)險避免二次事件的發(fā)生。攻擊知識可轉(zhuǎn)換成防御優(yōu)勢,如果能夠做到積極主動且有預(yù)見性,就能更好地控制后果。
說人話:被黑了就要知道為什么被黑了怎么被黑的,不能這么不明不白。
主體思路
溯源的過程當中的時候除開相關(guān)的技術(shù)手段之外,首先還是需要確認一個整體的思路。對異常點進行一個整體的分析并根據(jù)實際環(huán)境給出幾種可能的方案,這樣處理起問題相對就可以游刃有余心里有譜,手上就不慌了。
常規(guī)出現(xiàn)的、容易被用戶感知的異常點舉例如下:
web系統(tǒng)
掃描出來的webshell時間上傳時間、文件創(chuàng)建時間、文件修改時間往往準確性都比較高,一般不會去更改這個時間,用來在日志當中排查就相對容易的多。
主機系統(tǒng)
以前一直覺得一些蠕蟲病毒都挺逗的很多傳播方法居然只是依靠暴力破解和MS17-010之類的漏洞傳播,感覺波及面應(yīng)該比較小后面才發(fā)現(xiàn)這個方法簡單粗暴反而最有效。
對于Linux平臺相對安全性偏高一些,常見的幾個病毒如XorDDOS、DDG、XNote系列的普遍也是依靠暴力破解進行傳播,溯源的過程中也重點考慮暴力破解。
常用的一些日志舉例如下:
grep,sed,sort,awk幾個命令靈活運用、關(guān)注Accepted、Failed password 、invalid特殊關(guān)鍵字一般也能輕松發(fā)現(xiàn)一些端倪如下:
經(jīng)常一些攻擊者忘記清除日志,就很方便能查看詳細了。一個history命令,黑客的操作就一目了然。
當然了一些腳本執(zhí)行完了之后往往最后會清除日志比如下面這樣的往往就加大了難度,日志被清除了往往就更顯得異常了??梢灾攸c看一下還剩下那些日志、或者關(guān)注一下網(wǎng)絡(luò)層面是不是還有其他的安全設(shè)備可以在流量層進行溯源分析的。
源于Linux一切皆文件與開源的特性,在溯源的過程中也有好處也有壞處,rootkit就是最麻煩的一件事情了。由于系統(tǒng)一些常用的命令明文都已經(jīng)被更改和替換,此系統(tǒng)已經(jīng)變得完全不可信,在排查溯源的過程中往往不容易發(fā)覺對安全服務(wù)的人員就有較高的技術(shù)要求了。
Windows平臺下面的溯源就相對容易一些當然主要還是依靠windows的日志一般用 eventvwr命令打開事件查看器。默認分為三類:l應(yīng)用程序、安全、性統(tǒng) 以evt文件形式存儲在%systemroot%\system32\config目錄
合理使用篩選器往往可以幫助我們更好的排查日志,比如懷疑是暴力破解入侵的篩選事件ID == 4625審核失敗的日志,后續(xù)通過對時間的排查、以及源IP地址、類型與請求的頻率進行分析來判斷是否是來源于內(nèi)網(wǎng)的暴力破解。
通過系統(tǒng)內(nèi)部的日志來判斷是否是惡意進程的運行狀態(tài)。
通過對logontype的數(shù)值確認就可以確認到底是通過什么協(xié)議進行暴力破解成功的。相對的數(shù)值關(guān)系如下:
如下圖就是一個典型的SMB的認證失敗情況:
Windows系統(tǒng)的補丁相對重要一些,一些關(guān)鍵的補丁沒有打很容易遭受到攻擊成功的事件。重點就關(guān)注一些常見的比如ms17-010 ms08-067 ms16-032等安全補丁都是內(nèi)網(wǎng)滲透常用的攻擊包??梢酝ㄟ^sysintemfo可以查看到當前系統(tǒng)當中已經(jīng)安裝的補丁。
此外windows下面還包括很多域控的安全日志,因為內(nèi)容太多就不再展開敘述,溯源主要還是想還原攻擊路徑,通過windows日志搞明白訪問關(guān)系攻擊者的攻擊鏈條,給用戶一個交代就好。
其他常用系統(tǒng)
數(shù)據(jù)庫系統(tǒng)也是攻擊者入口點的一些重災(zāi)區(qū),常見的比如msssql server由于數(shù)據(jù)往往在window環(huán)境下安裝后具有較高的權(quán)限,一些用戶經(jīng)常安裝完成之后也不會怎么去加固數(shù)據(jù)庫,基于庫站分離的原則很多mssql公網(wǎng)直接就可以訪問訪問控制策略比較弱,弱口令的問題尤為突出。
比如下對于mssql的sa用戶暴力破解日志,里面也記錄著客戶端的IP地址如果沒有配置相關(guān)的鎖定策略在密碼不夠嚴格的情況下容易被攻陷。
攻擊者爆破成功之后啟動xp_shell往往就可以以高權(quán)限執(zhí)行系統(tǒng)命令,拿到了一個windows的shell豈不是為所欲為。
Linux平臺下面還有一個redis也很熱門,就一個幾年的默認安裝后的未授權(quán)訪問的問題卻流傳的相對廣泛。比如最近一段事件相對比較熱門的DDG挖礦、WatchDog挖礦等病毒都主要利用redis未授權(quán)訪問執(zhí)行命令,從互聯(lián)網(wǎng)拉取挖礦程序?qū)懭雜sh的公鑰等功能。
看見本地開放了6379端口的時候還是需要重點關(guān)注這個問題,多向用戶咨詢一下使用情況查看一下默認配置。
還有一些常用的系統(tǒng)比如mysql數(shù)據(jù)庫暴力破解提權(quán)一套裝、hadoop未授權(quán)訪問漏洞、釣魚郵件、破解軟件后門、惡意的office宏、office的代碼執(zhí)行漏洞、郵箱缺陷、VPN配置缺陷等情況都可能是攻擊者的入口點具體情況需要結(jié)合用戶當前的情況具體進行排查。
總結(jié)
都說安全本質(zhì)到最后就是人與人之間的一個較量,對于很多定向攻擊的安全事件排查起來估計就比較有意思,主機端的日志被清除掉流量層面全程隧道通信就呵呵了。
站在攻防的角度從攻擊者的思維模型去做應(yīng)急,思考更多的攻擊者可能的途徑,經(jīng)常利用的姿勢、漏洞與常用的攻擊手法再用數(shù)據(jù)去加以驗證,不局限在已知漏洞中而放過其他的問題,如果能夠做到積極主動且有預(yù)見性,就能更好地控制后果,說不過在過程中還能發(fā)現(xiàn)幾個0day也算是意外之喜了。