一、排查思路
在攻防演練保障期間,一線工程師在實施主機(jī)入侵痕跡排查服務(wù)時可能面臨時間緊、任務(wù)急、需要排查的主機(jī)數(shù)量眾多情況。為了確保實施人員在有限的時間范圍內(nèi),可以高效且保證質(zhì)量的前提下完成主機(jī)入侵痕跡排查工作,本人總結(jié)了自己的一些經(jīng)驗,下面的內(nèi)容特此分享主機(jī)入侵痕跡排查服務(wù)中重點、關(guān)鍵的排查項,僅作為參考使用。
1.1初步篩選排查資產(chǎn)
一般情況下,客戶資產(chǎn)都比較多,想要對所有的資產(chǎn)主機(jī)進(jìn)行入侵痕跡排查基本不太現(xiàn)實,等你全部都排查完了,攻擊者該做的事早就做完了,想要的目的也早就達(dá)到了。那么針對客戶資產(chǎn)量大的情況,我們應(yīng)該怎么處理? 首先,在排查前,作為項目經(jīng)理,應(yīng)該與客戶溝通好,取得授權(quán),確認(rèn)排查范圍和排查方案和辦法,客戶若是沒有授意或者同意,那么下面的操作都是違規(guī)操作,甚至有的還違法。 取得客戶同意后,我們再從資產(chǎn)面臨的風(fēng)險等級、資產(chǎn)的重要程度、攻擊者的攻擊思路、手法及目標(biāo)選擇傾向幾個方面去初步篩選出排查資產(chǎn)。這里建議從以下資產(chǎn)范圍選?。?①曾失陷資產(chǎn):在以前的紅藍(lán)對抗、攻防演練、或者真實的黑客攻擊事件中被攻陷的主機(jī),曾失陷資產(chǎn)應(yīng)作為排查的重點對象。 ②互聯(lián)網(wǎng)暴露脆弱資產(chǎn):從互聯(lián)網(wǎng)暴露資產(chǎn)中篩選出使用了高危漏洞頻發(fā)的組件/應(yīng)用(組件如Weblogic、JBoss、Fastjson、Shiro、Struts2等)。還有一個點需要注意,就是客戶是否具有有效的資產(chǎn)管理,是否能夠清晰明確識別出哪些資產(chǎn)用了什么組件,如果不能的話,只能通過之前的滲透測試結(jié)果來篩選出脆弱資產(chǎn)。 ③關(guān)鍵資產(chǎn):如域控等可以導(dǎo)致大量主機(jī)失陷的集權(quán)類資產(chǎn)。
1.2確定排查資產(chǎn)
主機(jī)入侵痕跡排查工作建議在一周內(nèi)對數(shù)量控制在20臺以內(nèi)的主機(jī)進(jìn)行排查。經(jīng)過初步篩選的資產(chǎn)數(shù)量如果遠(yuǎn)遠(yuǎn)大于20臺主機(jī),需要從資產(chǎn)里面進(jìn)行二次篩選,如果存在曾失陷資產(chǎn),排查主機(jī)范圍可以定為曾失陷資產(chǎn);如果不存在曾失陷資產(chǎn),排查主機(jī)范圍可以定為脆弱資產(chǎn),具體可以根據(jù)客戶自身實際情況調(diào)整。 需要注意是,如果排查資產(chǎn)中包含曾失陷資產(chǎn)的話,需要向客戶索要歷史攻防演練/應(yīng)急等報告,在排查時需結(jié)合歷史報告和指導(dǎo)手冊內(nèi)容一起進(jìn)行排查,需要特別留意歷史報告中攻擊者的入侵痕跡是否已經(jīng)完全清理。
1.3入侵痕跡排查
在實際情況下,攻擊者在進(jìn)行攻擊時使用的攻擊手法、攻擊思路、行為等各有差異,無論是考慮實現(xiàn)成本還是效率問題,都難以通過很精細(xì)很全面的排查項去實施主機(jī)入侵痕跡排查,但是我們可以從攻擊中可能會產(chǎn)生的一些比較共性的行為特征、關(guān)鍵的項進(jìn)行排查。 對于主機(jī)的入侵痕跡排查,主要從網(wǎng)絡(luò)連接、進(jìn)程信息、后門賬號、計劃任務(wù)、登錄日志、自啟動項、文件等方面進(jìn)行排查。比如,如果存在存活后門,主機(jī)可能會向C2發(fā)起網(wǎng)絡(luò)連接,因此可以從網(wǎng)絡(luò)連接排查入手,如果存在異常的網(wǎng)絡(luò)連接,則必然說明存在惡意的進(jìn)程正在運行,則可以通過網(wǎng)絡(luò)連接定位到對應(yīng)進(jìn)程,再根據(jù)進(jìn)程定位到惡意文件。如果攻擊者企圖維持主機(jī)控制權(quán)限的話,則可能會通過添加后門賬號、修改自啟動項,或者添加計劃任務(wù)等方式來維持權(quán)限,對應(yīng)的我們可以通過排查賬號、自啟動項、計劃任務(wù)來發(fā)現(xiàn)相應(yīng)的入侵痕跡。
二、排查內(nèi)容
2.1windows主機(jī)
攻擊者一般使用 attrib <程序> +s +h 命令隱藏惡意程序,故在排查痕跡前需打開“工具—文件夾選項—查看”。按照下圖中的設(shè)置,即可顯示所有文件。
2.1.1網(wǎng)絡(luò)連接排查步驟: 在CMD中執(zhí)行 netstat -ano 查看目前的網(wǎng)絡(luò)連接。
這種情況一般都比較正常,只有80和443端口,一般都是正常業(yè)務(wù)開放端口。分析方法:如果網(wǎng)絡(luò)連接出現(xiàn)以下情況,則當(dāng)前主機(jī)可能已經(jīng)失陷: 1、主機(jī)存在對內(nèi)網(wǎng)網(wǎng)段大量主機(jī)的某些端口(常見如22,445,3389,6379等端口)或者全端口發(fā)起網(wǎng)絡(luò)連接嘗試,這種情況一般是當(dāng)前主機(jī)被攻擊者當(dāng)作跳板機(jī)對內(nèi)網(wǎng)實施端口掃描或者口令暴力破解等攻擊。
2、主機(jī)和外網(wǎng)IP已經(jīng)建立連接(ESTABLISHED狀態(tài))或者嘗試建立連接(SYN_SENT狀態(tài)),可以先查詢IP所屬地,如果IP為國外IP或者歸屬各種云廠商,則需要重點關(guān)注。進(jìn)一步可以通過威脅情報(https://x.threatbook.cn/等)查詢IP是否已經(jīng)被標(biāo)注為惡意IP。
3、如果無法直接從網(wǎng)絡(luò)連接情況判斷是否為異常連接,可以根據(jù)網(wǎng)絡(luò)連接找到對應(yīng)的進(jìn)程ID,判斷進(jìn)程是否異常。如果不能從進(jìn)程判斷,可以進(jìn)一步找到進(jìn)程對應(yīng)文件,將對應(yīng)文件上傳至virustotal(https://www.virustotal.com)進(jìn)行檢測。如上面截圖中對內(nèi)網(wǎng)掃描的進(jìn)程ID是2144,在任務(wù)管理器中發(fā)現(xiàn)對應(yīng)的文件是svchost.exe。
上傳至virustotal檢測的結(jié)果為惡意文件。
若在排查網(wǎng)絡(luò)連接中,任務(wù)管理器只能看到有命令行工具(如powershell、cmd)powershell進(jìn)程與外聯(lián)IP建立會話,無法看到進(jìn)程對應(yīng)的運行參數(shù)。此時可借助Process Explorer進(jìn)一步觀察powershell的運行參數(shù)。如下在Process Explorer中發(fā)現(xiàn)powershell執(zhí)行了cobalt strike腳本的痕跡。
2.1.2敏感目錄排查步驟:查看攻擊方常喜歡上傳的目錄是否有可疑文件。分析方法:1、各個盤符下的臨時目錄,如C:TEMP、C:WindowsTemp等。
2、%APPDATA%,在文件夾窗口地址欄輸入%APPDATA%,回車即可打開當(dāng)前用戶的appdata目錄。
如Administrator用戶對應(yīng)的%APPDATA%目錄C:UsersAdministratorAppDataRoaming。可以按照修改日期排序篩選出比較臨近時間有變更的文件。
3、瀏覽器的下載目錄
4、用戶最近文件%UserProfile%Recent,如Administrator對應(yīng)的目錄為C:UsersAdministratorRecent
5、回收站,如C盤下回收站C:$Recycle.Bin 對于腳本文件可直接查看內(nèi)容判定是否為惡意,若是遇到exe可執(zhí)行文件,可將對應(yīng)文件上傳至virustotal(https://www.virustotal.com)進(jìn)行檢測。
2.1.3后門文件排查步驟:
查看粘滯鍵exe; 查看注冊表中映像的鍵值。
分析方法:1、查看粘滯鍵exe 查看C:WindowsSystem32下的sethc.exe文件的創(chuàng)建、修改時間是否正常,如下圖,一般情況下,系統(tǒng)文件的創(chuàng)建時間與修改時間應(yīng)相同,sethc的創(chuàng)建時間與修改時間不同,可確定sethc已被替換成后門文件。由于攻擊者可修改文件時間,上述簡單粗暴的判斷方式可能不靠譜,可將sethc拷貝出來、上傳至VT檢測危害。
2、查看注冊表中映像的鍵值 檢查注冊表“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options”下所有exe項中是否有debugger鍵,若有debugger鍵,將其鍵值對應(yīng)的程序上傳至VT檢測。如下圖,攻擊者利用該映像劫持的攻擊者方式,在sethc.exe項中新建debugger鍵值指向artifact.exe,攻擊效果為當(dāng)連續(xù)按5下shift鍵后,不會執(zhí)行sethc.exe,而是轉(zhuǎn)而執(zhí)行劫持后的artifact.exe文件。于是在排查中發(fā)現(xiàn)有debugger鍵值,均可認(rèn)為指定的文件為后門文件,待上傳VT后確認(rèn)其危害。
這里沒有debugger鍵,下面的圖是有的:
2.1.4后門賬號排查步驟:
打開regedit查看注冊表中的賬號; 查看administrators組中是否存在賦權(quán)異常的賬號。
分析方法:查看注冊表中HKLMSAMSAMDomainsAccountUsersNames中是否有多余的賬號(可詢問客戶運維人員以確定賬號存在的必要性)。正常情況下,上述路徑的SAM權(quán)限僅system用戶可查看,需要給administrator用戶授權(quán)才能打開完整路徑。對SAM右鍵、給administator用戶添加完全控制權(quán)限(下圖的權(quán)限操作方法適用于win7及以上操作系統(tǒng)):
win2003、XP等低版本系統(tǒng)的操作方法請使用下圖的流程給administrators組添加權(quán)限。
帶有$符號的賬號特指隱藏賬號(如aaaa$),正常業(yè)務(wù)中不需要創(chuàng)建隱藏賬號,可判斷帶有$符號的均為后門賬號。然后在客戶運維的協(xié)助下排查其他的異常賬號。 如下圖中,除了aaaa$可直接判斷外,root賬號為高度關(guān)注對象。(注:aaaa$中的鍵值0x3ea表示該賬號與Users表中相應(yīng)數(shù)值的表相對應(yīng),在刪除賬號時需一起刪除)
注:異常賬號刪除后需要將之前授權(quán)的administrator移除SAM權(quán)限。 查看administrators組中是否存在賦權(quán)異常的賬號。比如正常情況下guest用戶處于禁用狀態(tài)、普通應(yīng)用賬戶(weblogic、apache、mysql)不需要在administrators組中。如下圖,執(zhí)行命令net user guest查看guest賬號的信息,如果guest賬號被啟用,且在管理員組成員中有g(shù)uest用戶,需要詢問客戶運維人員該guest賬戶啟用的必要性以及加入管理組是否有必要,否則可認(rèn)為攻擊者將系統(tǒng)自帶用戶guest啟用并提權(quán)至管理員組后作為后門賬號使用。
執(zhí)行net localgroup Administrators關(guān)注管理員組別是否存在異常賬號:
2.1.5自啟動項排查步驟:
使用Autoruns工具查看自啟動項 查看組策略中的腳本 查看注冊表中的腳本、程序等 查看各賬號自啟目錄下的腳本、程序等 查看Windows服務(wù)中的可執(zhí)行文件路徑
分析方法:1、使用Autoruns: 使用工具能較全面地查看系統(tǒng)中的自啟動項。在得到客戶授權(quán),能夠在可能失陷的主機(jī)上傳排查工具時,可使用Autoruns工具進(jìn)行詳細(xì)的自啟動項排查。排查中主要關(guān)注粉色條目,建議與客戶運維人員一同查看,以及時排除業(yè)務(wù)所需的正常自啟項。如下圖,在Everything欄中,查看粉色的條目中發(fā)現(xiàn)常見的sethc被劫持為cmd,Command Processor鍵值(默認(rèn)為空)關(guān)聯(lián)到名為windowsupdate.exe(效果為啟動cmd時,被關(guān)聯(lián)的程序會靜默運行)。sethc的劫持可確認(rèn)為入侵痕跡,Command Processor鍵值的關(guān)聯(lián)程序需要找客戶進(jìn)一步確認(rèn)是否業(yè)務(wù)所需,或?qū)indowsupdate.exe上傳VT檢測。
另外,這個工具很好用 ,特別小,可以直接上傳文件到VT進(jìn)行檢測。 2、查看組策略: 在無法使用工具、只能手工排查的情況下,可查看常見的自啟項是否有異常文件。打開gpedit.msc—計算機(jī)配置/用戶配置—Windows設(shè)置—腳本,在此處可設(shè)置服務(wù)器啟動/關(guān)機(jī)或者用戶登錄/注銷時執(zhí)行的腳本。下圖1、2兩處的腳本均需要查看是否添加有腳本。
我這里沒有腳本。2.1.6日志工程師基本都會看日志,windows日志也就那些內(nèi)容,比較簡單,我就不細(xì)述,主要寫一下幾個比較重要的點,基本上就可以排查出是否有異常登錄了。排查步驟:
查看登錄日志中暴力破解痕跡; 查看賬號管理日志中賬號的新增、修改痕跡; 查看遠(yuǎn)程桌面登錄日志中的登錄痕跡。
三、總結(jié)一下
技能都是需要動手的,然后思路需要清晰,操作要細(xì)致,跟客戶要保持溝通,切記不能悶著擅自操作! 作者:白衣不再少年,文章來源:FreeBuf
-End-
審核編輯 :李倩
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3554瀏覽量
89010 -
程序
+關(guān)注
關(guān)注
117文章
3793瀏覽量
81229
原文標(biāo)題:Windows主機(jī)入侵痕跡排查辦法
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論