應急響應概述#
當企業發生黑客入侵、系統崩潰或其它影響業務正常運行的安全事件時,急需第一時間進行處理,使企業的網絡信息系統在最短時間內恢復正常工作,進一步查找入侵來源,還原入侵事故過程,同時給出解決方案與防範措施,為企業挽回或減少經濟損失。
常見的應急響應事件分類:
web 入侵:網頁掛馬、首頁篡改、Webshell
系統入侵:病毒木馬、勒索軟件、遠控後門
網絡攻擊攻擊、DNS 劫持、ARP 欺騙
基礎信息獲取#
這部分基礎信息獲取都是使用 Windows 自身命令或者工具即可實現。這部分包括系統信息獲取、網絡信息獲取、進程信息獲取、用戶信息獲取、歷史流量獲取。
系統信息獲取#
這裡有兩種方式,可以獲取系統的相關信息。第一種,低版本操作系統,例如可以通過 winmsd 來獲取相關信息,具體操作信息如下:
開始 -> 運行 ->winmsd
點擊軟件環境 -> 系統驅動程序,可查看當前加載的驅動程序
點擊軟件環境 -> 正在運行任務,可查看當前運行的進程
點擊軟件環境 -> 加載的模塊,可查看程序加載的 dll 文件
但是這部分功能在高版本操作系統中,已經被移除了,例如 Windows Server 2008, 所以下面介紹第二種方法。
第二種辦法就是命令行輸出,我們可以在 cmd 命令行中輸入 systeminfo,我們可以看到下圖中標紅框的地方有系統打過的補丁信息。這裡我們可以了解到系統可能存在的一些漏洞信息。
但是很明顯,這裡和第一種的差別,就是沒有列出加載的進程, dll 文件,驅動等信息,但是這些信息可以通過其他工具去獲取到,在 Windows server 2008 以及 windows7 之後,Windows 引入了資源控制器。兩種方式打開
1.運行 ->resmon
2. 任務管理器 -> 性能 -> 資源監視器
這部分可根據相關 exe 搜索加載的 dl 等文件。
網絡信息獲取#
Windows 下的 cmd 命令行輸入 ipconfig,先確認當前網卡的 ip 地址分配情況。
然後可以進一步確認網絡連接情況,通過 cmd 命令行輸入 netstat - ano,獲取網絡進程連接的狀態,檢查是否存在可疑進程網絡連接信息。
netstat 的幾種狀態#
CLOSED
初始(無連接)狀態。-9-
LISTEN
侦听状态,等待遠程機器的連接請求。
SYN_SEND
在 TCP 三次握手期間,主動連接端發送了 SYN 包後,進入 SYN_SEND 狀態,等待對方的 ACK 包。
SYN_RECV
在 TCP 三次握手期間,主動連接端收到 SYN 包後,進入 SYN_RECV 狀態。
ESTABLISHED
完成 TCP 三次握手後,主動連接端進入 ESTABLISHED 狀態。此時,TCP 連接已經建立,可以進行通信。
FIN_WAIT_1
在 TCP 四次揮手時,主動關閉端發送 FIN 包後,進入 FIN_WAIT_1 狀態。
FIN_WAIT_2
在 TCP 四次揮手時,主動關閉端收到 ACK 包後,進入 FIN_WAIT_2 狀態。
TIME_WAIT
在 TCP 四次揮手時,主動關閉端發送了 ACK 包之後,進入 TIME_WAIT 狀態,等待最多 MSL 時間,讓被動關閉端收到 ACK 包。
CLOSING
在 TCP 四次揮手期間,主動關閉端發送了 FIN 包後,沒有收到對應的 ACK 包,卻收到對方的 FIN 包,此時,進入 CLOSING 狀態。
CLOSE_WAIT
在 TCP 四次揮手期間,被動關閉端收到 FIN 包後,進入 CLOSE_WAIT 狀態。
LAST_ACK
在 TCP 四次揮手時,被動關閉端發送 FIN 包後,進入 LAST_ACK 狀態,等待對方的 ACK 包。
小總結#
主連接端可能的狀態有、 YN_SEND、ESTABLISHED
主動關閉端可能的狀態有、FIN_WAIT_2、TIME_WAIT。被動連接端可能的狀態有、YN_RECV、ESTABLISHED。
被動關閉端可能的狀態有、AST_ACK 、 LOSED
用戶信息獲取#
Windows 下的 cmd 命令行輸入 net user,確認當前操作系統的用戶信息,確認是否存在可疑賬戶。
當然可以繼續下一步輸入 net user xx,確認該 xx 用於所屬的 windows 組信息。
Windows 自帶資源監視器,可以篩選當前進程的相關信息,這步主要在挖礦,或者被抓肉雞向外 DOS 攻擊的情況下特別好用。
無法在 Windows Server 2003 上使用。
詳細信息獲取#
啟動信息收集#
這裡涉及到一個工具,叫做 Autoruns,由於大多數的惡意軟件本身不存在相關描述信息,所以通過檢查 Publisher 和 Description 兩條項目可排除一些較簡單的後門程序或惡意代碼:
通過選擇 Options 菜單中的 Hide Microsoft and Windows Entries 可由 Autoruns 自動篩選部分安全的啟動項:
行為信息收集#
在一些病毒中,常常會尋求訪問一些敏感文件、註冊表,創建模塊等一些異常行為,所以我們可以通過上輔助監控軟件,來檢查惡意程序的行為。
Procmon 會實時展現進程對文件的行為以及結果,如下圖所示:
該工具會清楚展示,該進程對某些文件做了什麼操作,如果需要對特定的進程進行監視或過濾,可輸入快捷鍵 ctrl+L,填寫指定的進程名來進行結果過濾:
進程信息收集#
網絡行為收集#
TcpView 可動態展示當前的網絡連接狀況,但該工具有個不好的地方,就是沒辦法刷出 UDP 的流量
用戶信息收集#
開始菜單一運行一輸入 compmgmt. msc,選擇 “系統工具”-“本地用戶和組”,即可查看
所有本地用戶和組的信息 (包括用戶名以 $ 結尾的隱藏用戶,如: admin$)
或者使用 LP_Check 檢查影子賬戶。
一般情況下,若創建了系統帳號並使用該帳號進行了操作的話,那麼,即使使用計算機管理或 net 命令刪除該帳號,系統中仍會殘留部分帳號信息,這些信息可用於分析帳號的相關行為。
若用戶帳號僅是通過 net 命令或用戶管理程序刪除的,那麼,系統中會仍殘留有該用戶的目錄,目錄中的一些文件會記錄用戶的某些特定行為,便於追查,這些文件是:
(以系統安裝在 C 盤、惡意用戶名為 cracker 為例)
C: \Documents and Settings \cracker\ 桌面
用戶的桌面,可能放有一些臨時文件或下載的文件
C: \Documents and Settings \cracker \Cookies
用戶的網絡訪問情況,cookie 文件中可能會記錄一些敏感信息
C: \Documents and Settings \cracker \Recent
用戶最近訪問過哪些文件或文件夾
C: \Documents and Settings \cracker\Local Settings \History
用戶上網的歷史記錄
C : \Documents and Settings\cracker \Local Settings \Temp
一些程序安裝、解壓縮等操作可能會在該目錄產生臨時文件
C: \Documents and Settings \cracker\Local Settings \Temporary
Internet Files
上網時產生的臨時文件,不但會存儲網頁頁面內容,還可能以臨時文件的方式存儲一些下載的文件。
若用戶本身啟用了安全日誌審計,如果賬號被刪除,但是在審計日誌中有關該賬號的操作會留下一串賬號的 SID 值。
Windows 日誌分析#
Windows 日誌文件三大塊,分別是:
應用程序日誌
安全日誌系統日誌
setup 日誌 (server 2003 之後加入)
這些日誌以在 server 2003 以前,包括 server 2003 以 evt 文件形式存儲在 % systemroot%\system32\config 目錄下(% SystemRoot% 為系統環境變量,默認值為 C: \WINDOWS)。但是在 server 2003 以後存儲的位置是在
% systemroot%\System32\winevt\Logs 目錄下
點擊 “開始→設置→控制面板→管理工具→事件查看器”,在事件查看器窗口左欄中列出本機包含的日誌類型,如應用程序、安全、系統等。
注意事項:
系統內置的三個核心日誌文件
(System,Security 和 Application)默認大小均為 2048OKB (20MB),記錄事件數據超過 20MB 時,默認系統將優先覆蓋過期的日誌記錄。
其它應用程序及服務日誌默認最大為 1024KB,超過最大限制也優先覆蓋過期的日誌記錄。
Windows 事件日誌中共有五種事件類型,所有的事件必須擁有五種事件類型中的一種,且只可以有一種。五種事件類型分為:
1. 信息 (Information)
信息事件指應用程序、驅動程序或服務的成功操作的事件。
2.警告 (Warning)
警告事件指不是直接的、主要的,但是會導致將來問題發生的問題。例如,當磁碟空間不足或未找到打印機時,都会記錄一個 “警告” 事件。
3.錯誤 (Error)
錯誤事件指用戶應該知道的重要的問題。錯誤事件通常指功能和數據的丟失。例如,如果一個服務不能作為系統引導被加載,那麼它會產生一個錯誤事件。
4.成功審核 (Success audit)
成功的審核安全訪問嘗試,主要是指安全性日誌,這裡記錄著用戶登錄 / 註銷、對象訪問、特權使用、賬戶管理、策略更改、詳細跟蹤、目錄服務訪問、賬戶登錄等事件,例如所有的成功登錄系統都會被記錄為 “成功審核” 事件。
5. 失敗審核 (Failure audit)
失敗的審核安全登錄嘗試,例如用戶試圖訪問網絡驅動器失敗,則該嘗試會被作為失敗審核事件記錄下來。
應用程序日誌#
應用程序日誌包含操作系統安裝的應用程序軟件相關的事件。事件包括了錯誤、警告及任何應用程序需要報告的信息,應用程序開發人員可以決定記錄哪些信息。然後開發人員可以利用這些日誌可判斷哪些程序運行錯誤以及錯誤內容:
如使用 MSI 包安裝軟件時,若 MSI 錯誤,則會引發 MsiInstaller 的應用程序日誌:
安全日誌#
安全日誌包含安全性相關的事件,如用戶權限變更,登錄及註銷,文件及文件夾訪問,打印等信息,下圖為相關事件對照表。
從日誌中可以看到登錄的詳細信息:登錄時間、用戶、源網絡地址等。如果出現大規模的登錄失敗,且登錄類型為 3 的登錄嘗試,則很可能意味著有用戶在遠程嘗試口令破解,應特別小心。
另外 Windows 默認情況下沒有額外的系統啟動日誌或相關記錄程序,因此,需依靠一些服務來判斷系統的系統,而其中 event log 服務是最好的參考標誌,event log 服務的啟動和停止就意味著 Windows 系統的啟動和停止。
系統日誌包含系統進程,設備磁碟活動等。事件記錄了設備驅動無法正常啟動或停止,硬件失敗,重複 IP 地址,系統進程的啟動,停止及暫停等行為。
若系統中突然出現大量 IP 地址衝突的日誌,則可判斷網絡中存在 ARP 欺騙攻擊。
系統日誌#
setup 日誌#
該日誌記錄一些補丁安裝日誌。部分惡意用戶利用漏洞入侵後,很可能會使用 Windows Update 對系統進行補丁安裝。
以防止其他用戶入侵,這樣,在系統中就會殘留有相關的日誌:
常用工具#
火絨劍#
火絨劍還是很好用的,之前的內容裡面提及到的一些要點,該工具基本涵蓋了,以下列舉一些簡單的功能:
1. 系統進程監控
2. 啟動項
3. 網絡監控
PcHunter#
Pchunter 和火絨劍差不多,但是 UI 就差很多了:
該工具特點,疑似異常的東西會給你標記為紅色,而且該工具針對內核鉤子,和應用層鉤子這類型的東西,支持比較好,屬於是各有長處。
PowerTool#
有些病毒可能會檢查火絨劍和 PC hunter,所以這裡推薦一個 powertool,該工具是從內核開始檢查,功能與火絨劍、PC hunter 差不多。
病毒分析#
PCHunter: http://www.xuetr.com
火絨劍:https://www.huorong.cn
Process Explorer: https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
processhacker: https://processhacker.sourceforge.io/downloads.php
autoruns: https://docs.microsoft.com/en-us/sysinternals/downloadslautoruns(失效鏈接)
https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns
OTL: https://www.bleepingcomputer.com/download/otl/ (失效鏈接)
卡巴斯基: http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/fullKVRT.exe
(推薦理由:綠色版、最新病毒庫)
大蜘蛛: http.drweb.ru/download+cureit+free
(推薦理由:掃描快、一次下載只能用 1 周,更新病毒庫)
火絨安全軟件: https://www.huorong.cn
360 殺毒: http://sd.360.cn/download_center.html
病毒動態#
CVERC - 國家計算機病毒應急處理中心: http://www.cverc.org.cn
微步在線威脅情報社區: https.threatbook.cn
火絨安全論壇: http://bbs.huorong.cn/forum-59-1.html
愛毒霸社區: http://bbs.duba.net
webshell 查殺#
D 盾_Web 查殺: http://www.d99net.net/index.asp
河馬 webshell 查殺: http://www.shellpub.com
深信服 Webshell 網站後門檢測工具: http://edr.sangfor.com.cn/backdoor_detection.html
Safe3: http://www.uusec.com/webshell.zip(失效鏈接)
https://sourceforge.net/projects/safe3wvs/