- 應急響應流程
- 賬戶排查
- 網路排查
- 程序排查
- 記憶體分析
- 日誌分析
應急響應流程
PDCERF模型
-
P(Preparation 準備):資訊蒐集,工具準備
-
D(Detection 檢測):瞭解資產現狀,明確造成影響,嘗試進行攻擊路徑溯源
-
C(Containment 遏制):關閉埠、服務,停止程序,拔網線
-
E(Eradication 根除):清除危險檔案、程序
-
R(Recovery 恢復):備份,恢復系統正常狀態
-
F (follow-up 跟蹤):覆盤事件全貌,總結匯報
賬戶排查
檢查伺服器是否存在:新增賬戶、隱藏賬戶、克隆賬戶、可疑賬戶。
檢查遠端管理埠是否對公網開放,伺服器是否存在弱口令。
隱藏賬戶
在 Windows 作業系統中,一個以 $
結尾的使用者名稱會將使用者帳戶標記為隱藏帳戶,不會在登入介面或使用者管理中顯示。
使用 net user 命令看不到隱藏賬戶,使用本地使用者管理也看不到。
隱藏賬戶排查
-
使用 regedit 透過檢視登錄檔 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names (最準確)
-
使用 wmic 命令,輸入 wmic useraccount get name,sid
-
使用 lusrmgr.msc 命令,在本地使用者和組裡檢視是否有新增/可疑的賬號
-
透過日誌排查,eventvwr.msc 開啟事件檢視器,進行日誌審計
-
使用D盾有檢視賬戶的功能
弱口令排查
常見應用有RDP:3389、SMB:445、FTP:21等
-
檢視是否啟用組策略,限制弱口令
-
檢視是否有暴力破解日誌,成功登入事件ID 4624,登入失敗事件ID 4625
window常用日誌事件ID,可以重點關注4624/4625的登入型別。
網路排查
通常惡意程式會發起網路連線,從網路連線來查詢惡意程式是最直接的方法。
-
命令 netstat -ano 檢查網路監聽和連線的埠,結合 find 重點看狀態是 ESTABLISHED 的埠 netstat -ano | find "estab"
-
工作管理員-->效能-->資源監測器
透過網路找程序,透過程序找檔案可以使用 netstat -b 顯示在建立每個連線或偵聽埠時涉及的可執行程式。
網路排查中還有一部分內容是路由表,檢視本機是否被利用作VPN跳板。
檢視路由資訊:route print 或者 netstat -rn
程序排查
最簡單的檢視程序方式:工作管理員(taskmgr)
檢視系統資訊:msinfo32 檢視程序相關資訊,軟體環境-->正在執行任務/載入的模組/服務/啟動程式
程序通常結合網路檢視異常,先檢查異常的網路連線,再獲取由哪個程序生成的網路連線。
命令 tasklist 檢視程序列表,查詢 PID 對應的程序:tasklist | findstr PID
需要重點關注的內容:
-
沒有簽名驗證資訊的程序
-
程序的可執行檔案路徑
-
程序的可執行檔案生成時間
-
程序描述是否異常
-
CPU或記憶體資源佔用長時間過高的程序
-
網路連線異常的程序
程序與服務
很多惡意程式會透過服務來啟動程序。
執行 services.msc 可以開啟 Windows 服務工具。
可以透過命令列檢視程序與服務關聯:tasklist /svc
使用 wmic 命令獲取更多程序資訊,程序執行引數查詢,如svchost程序具體執行了什麼:
wmic process where name='svchost.exe' get caption,commandline,processid,parentprocessid
惡意檔案通常會寫成DLL檔案,而非EXE直接執行,使用程序載入模組查詢:tasklist -m
啟動項排查
系統配置的啟動項:msconfig
需要關注的登錄檔:
HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
執行 gpedit.msc 在本地組策略編輯器裡檢視開機執行或登入指令碼
計劃任務排查
使用命令檢視計劃任務:schtasks
計劃任務程式皮膚:taskschd.msc
計劃任務登錄檔:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
登錄檔檢查
HKEY_CLASSES_ROOT(HKCR):包含檔案關聯、檔案型別和COM類登錄檔資訊
HKEY_CURRENT_USER(HKCU):包含當前登入系統的使用者的配置資訊
HKEY_LOCAL_MACHINE(H KLM):包含執行作業系統的計算機硬體特定資訊
HKEY_USERS(HKU):包含系統上所有使用者配置檔案的配置資訊
HKEY_CURRENT_CONFIG(HCU):儲存有關係統當前配置的資訊
記憶體分析
很多時候惡意程式碼會使用無檔案技術,存於記憶體,且會使用各種hook技術隱藏檔案。
分析記憶體首要步驟是獲取記憶體,如果伺服器是虛擬機器,可以直接讀取記憶體檔案,如vmware的記憶體檔案,直接在目錄下。
物理機獲取記憶體
-
從工作管理員直接轉存程序的記憶體:工作管理員-->建立轉儲檔案
-
在計算機屬性,系統屬性,高階選項卡中選擇“啟動和故障恢復設定”,選擇完全轉儲記憶體。(高階系統設定,需要重啟後才能獲取記憶體)
使用 SysinternalsSuite 工具集的 notmyfault64 工具,管理員模式運 NotMyFault64.exe,此工具會使系統藍色畫面,後收集記憶體。
記憶體分析
通常是使用 volatility 進行記憶體分析,記憶體取證。
Volatility 需要知道記憶體映象來自哪種型別的系統以確定使用哪些資料結構等。
日誌分析
Windows 日誌包括應用程式日誌、安全日誌、系統日誌和Setup日誌。
-
系統日誌:包含Windows系統元件記錄的事件。
-
應用程式日誌:包含由應用程式或程式記錄的事件。
-
安全日誌:包含如有效和無效的登入嘗試等事件,以及與資源使用相關的事件。
使用命令 eventvwr.msc 開啟事件檢視器。
Windows日誌位置
windows日誌路徑:
在 Windows xp/2003 中日誌位於:%SystemRoot%\System32\Config*.evt
在 Windows vista/7 以後日誌位於:%SystemRoot%\System32\winevt\Logs*.evtx
例如:
-
應用程式日誌:C:\Windows\System32\winevt\Logs
-
安全日誌:C:\Windows\System32\winevt\Logs\Security.evtx
-
系統日誌:C:\Windows\System32\winevt\Logs\System.evtx
Window常用日誌事件ID
Windows登入型別
powershell過濾日誌
檢視當前日誌配置
Get-EventLog -List
從日誌來源和事件ID過濾日誌
Get-EventLog -LogName Security | Where-Object {$_.EventID -eq 4625}
從關鍵字過濾日誌
Get-EventLog -LogName System -Message *administrator*
查詢索引3011日誌具體資訊
$A = Get-EventLog -LogName System -Index 3011
$A | Select-Object -Property *
日誌稽核策略使用命令: auditpol /get /category:*
日誌分析工具
Windows有一個的強大分析工具 LogParser
LogParser提供一種類似SQL的語句用來查詢日誌。
例如:從 Security.evtx 日誌檔案中選擇所有事件 ID 為 4624 的事件
LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM Security.evtx where EventID=4624"
Logparser需要指定輸入,輸出格式型別,常用的輸出格式為DATAGRID,即直接展示日誌,也可匯出成CSV。
若有錯誤,歡迎指正!o( ̄▽ ̄)ブ