1. Windows 的應急事件分類
Windows 系統的應急事件,按照處理的方式,可分為下面幾種類別:
- 病毒、木馬、蠕蟲事件
- Web 服務器入侵事件或第三方服務入侵事件
- 系統入侵事件,如利用 Windows 的漏洞攻擊入侵系統、利用弱口令入侵、利用其他服務的漏洞入侵,跟 Web 入侵有所區別,Web 入侵需要對 Web 日志進行分析,系統入侵只能查看 Windows 的事件日志。
- 網絡攻擊事件(DDoS、ARP、DNS 劫持等)
2. 通用排查思路
入侵肯定會留下痕跡,另外重點強調的是不要一上來就各種查查查,問清楚誰在什么時間發現的主機異常情況,異常的現象是什么,受害用戶做了什么樣的緊急處理。問清楚主機異常情況后,需要動腦考慮為什么會產生某種異常,從現象反推可能的入侵思路,再考慮會在 Windows 主機上可能留下的痕跡,最后才是排除各種可能,確定入侵的過程。
獲取 Windows 的基本信息,如機器名稱、操作系統版本、OS 安裝時間、啟動時間、域名、補丁安裝情況,使用systeminfo
命令獲取。運行msinfo32
也可以查看計算機的詳細信息。
2.1 直接檢查相關日志
任何操作(人、程序、進程)都會導致產生相關日志
2.1.1 Windows 日志簡介
日志記錄了系統中硬件、軟件和系統問題的信息,同時還監視着系統中發生的事件。當服務器被入侵或者系統(應用)出現問題時,管理員可以根據日志迅速定位問題的關鍵,再快速處理問題,從而極大地提高工作效率和服務器的安全性。
Widdows 通過自帶事件查看器管理日志,使用命令eventvwr.msc
打開,或者 Windows 10 搜索框直接搜索事件查看器
,或者使用開始菜單
-Windows 管理工具
-事件查看器打開
。
Windows 日志位置
Windows 2000/Server2003/Windows XP
\%SystemRoot%\System32\Config\*.evt
Windows Vista/7/10/Server2008:
\%SystemRoot%\System32\winevt\Logs\*.evtx
日志審核策略,使用命令auditpol /get /category:*
其他一些可能會用到的事件日志的位置:
- C:\Windows\System32\WDI\LogFiles
- BootCKCL.etl
- ShutdownCKCL.etl
- SecondaryLogOnCKCL.etl
- WdiContext.etl.<###>
- C:\Windows\System32\WDI\<guid>\<guid>
- snapshot.etl
- C:\Windows\System32\LogFiles\WMI
- Wifi.etl
- LwNetLog.etl
-
C:\Windows\System32\SleepStudy
- UserNotPresentSession.etl
- abnormal-shutdown-<yyyy>-<mm>--<hh>-<mm>-<ss>.etl</ss></mm></hh></mm></yyyy>
- user-not-present-trace-<yyyy>-<mm>--<hh>-<mm>-<ss>.etl</ss></mm></hh></mm></yyyy>
- ScreenOnPowerStudyTraceSession-<yyyy>-<mm>--<hh>-<mm>-<ss>.etl</ss></mm></hh></mm></yyyy>
Windows 日志
-
系統日志
系統日志包含Windows系統組件記錄的事件。例如,系統日志中會記錄在啟動過程中加載驅動程序或其他系統組件失敗。系統組件所記錄的事件類型由Windows預先確定。 -
應用程序日志
應用程序日志包含由應用程序或程序記錄的事件。例如,數據庫程序可在應用程序日志中記錄文件錯誤。程序開發人員決定記錄哪些事件。 -
安全日志
安全日志包含諸如有效和無效的登錄嘗試等事件,以及與資源使用相關的事件,如創建、打開或刪除文件或其他對象。管理員可以指定在安全日志中記錄什么事件。例如,如果已啟用登錄審核,則安全日志將記錄對系統的登錄嘗試。
關於安全日志登錄部分的事件 ID 和登錄類型代碼的含義見下面 2 個表。
常用事件 ID 含義
Event ID(2000/XP/2003) | Event ID(Vista/7/8/2008/2012) | 描述 | 日志名稱 |
---|---|---|---|
528 | 4624 | 成功登錄 | Security |
529 | 4625 | 失敗登錄 | Security |
680 | 4776 | 成功/失敗的賬戶認證 | Security |
624 | 4720 | 創建用戶 | Security |
636 | 4732 | 添加用戶到啟用安全性的本地組中 | Security |
632 | 4728 | 添加用戶到啟用安全性的全局組中 | Security |
2934 | 7030 | 服務創建錯誤 | System |
2944 | 7040 | IPSEC服務服務的啟動類型已從禁用更改為自動啟動 | System |
2949 | 7045 | 服務創建 | System |
登錄類型 ID
成功/失敗登錄事件提供的有用信息之一是用戶/進程嘗試登錄(登錄類型),但 Windows 將此信息顯示為數字,下面是數字和對應的說明:
登錄類型 | 登錄類型 | 描述 |
---|---|---|
2 | Interactive | 用戶登錄到本機 |
3 | Network | 用戶或計算手機從網絡登錄到本機,如果網絡共享,或使用 net use 訪問網絡共享,net view 查看網絡共享 |
4 | Batch | 批處理登錄類型,無需用戶干預 |
5 | Service | 服務控制管理器登錄 |
7 | Unlock | 用戶解鎖主機 |
8 | NetworkCleartext | 用戶從網絡登錄到此計算機,用戶密碼用非哈希的形式傳遞 |
9 | NewCredentials | 進程或線程克隆了其當前令牌,但為出站連接指定了新憑據 |
10 | Remotelnteractive | 使用終端服務或遠程桌面連接登錄 |
11 | Cachedlnteractive | 用戶使用本地存儲在計算機上的憑據登錄到計算機(域控制器可能無法驗證憑據),如主機不能連接域控,以前使用域賬戶登錄過這台主機,再登錄就會產生這樣日志 |
12 | CachedRemotelnteractive | 與 Remotelnteractive 相同,內部用於審計目的 |
13 | CachedUnlock | 登錄嘗試解鎖 |
賬戶類型
- 用戶賬戶
- 計算機賬戶:此帳戶類型表示每個主機。 此帳戶類型的名稱以字符“$”結尾。 例如,“DESKTOP-SHCTJ7L $”是計算機帳戶的名稱。
- 服務賬戶:每個服務帳戶都創建為特定服務的所有者。 例如,IUSR是IIS的所有者,而krbtgt是作為密鑰分發中心一部分的服務的所有者。
應用程序和服務日志
應用程序和服務日志是一種新類別的事件日志。這些日志存儲來自單個應用程序或組件的事件,而非可能影響整個系統的事件。
查看 PowerShell 的日志Microsoft
->Windows
->PowerShell
->OPtions
2.1.2 遠程登錄事件
攻擊者可能造成的遠程登錄事件
RDP
攻擊者使用 RDP 遠程登錄受害者計算機,源主機和目的主機都會生成相應事件。
重要的事件 ID(安全日志,Security.evtx)
- 4624:賬戶成功登錄
- 4648:使用明文憑證嘗試登錄
- 4778:重新連接到一台 Windows 主機的會話
- 4779:斷開到一台 Windows 主機的會話
遠程連接日志(應用程序和服務日志
->Microsoft
->Windows
->-TerminalServices
->RemoteConnectionManager
->Operational
),重要事件 ID 和含義:
- 1149:用戶認證成功
- 21:遠程桌面服務:會話登錄成功
- 24:遠程桌面服務:會話已斷開連接
- 25:遠程桌面服務:會話重新連接成功
遠程連接日志關注 RemoteInteractive(10) 和CachedRemoteInteractive(12)表明使用了 RDP ,因為這些登錄類型專用於RDP使用。
計划任務和 AT
關注的事件 ID
- 4624:賬戶成功登錄
計划任務事件 Microsoft-Windows-TaskScheduler/Operational.evtx,計划任務 ID 含義:
- 100:任務已開始
- 102:任務完成
- 106:已注冊任務(關注點)
- 107:在調度程序上觸發任務
- 110:用戶觸發的任務
- 129:創建任務流程(推出)
- 140:任務已更新
- 141:任務已刪除
- 200:運行計划任務
- 325:啟動請求排隊
統一后台進程管理器(UBPM)
- 服務控制管理器 - 管理 Windows 服務
- 任務計划程序 - 管理 Windows 任務
- Windows Management Instrumentation - 管理 WMI 供應商
- DCOM Server Process Launcher - 管理進程外 COM 應用程序
PSExec
PSExec是系統管理員的遠程命令執行工具,包含在“Sysinternals Suite”工具中,但它通常也用於針對性攻擊的橫向移動。
PsExec的典型行為
- 在具有網絡登錄(類型3)的遠程計算機上將 PsExec 服務執行文件(默認值:PSEXESVC.exe)復制到
%SystemRoot%
。 - 如果使用
-c
選項,則通過 $Admin 共享將文件復制到 %SystemRoot% 執行命令。 - 注冊服務(默認值:PSEXESVC),並啟動服務以在遠程計算機上執行該命令。
- 停止服務(默認值:PSEXESVC),並在執行后刪除遠程計算機上的服務。
PSExec選項的重要選項:
- -r
- 更改復制的文件名和遠程計算機的服務名稱
(默認值:%SystemRoot%\ PSEXESVC.exe和PSEXESVC)
- 更改復制的文件名和遠程計算機的服務名稱
- -s
- 由SYSTEM帳戶執行。
- -C
- 將程序復制到遠程計算機
- 被復制到Admin$(%SystemRoot%)
- -u
- 使用特定憑據登錄到遠程計算機
- 生成登錄類型2和登錄類型3 的事件
可以從System.evtx
中查找事件 ID 7045 發現 PSExec,相關的事件 ID
- Security.evtx
- 4624:帳戶已成功登錄
- Ssystem.evtx
- 7045:系統中安裝了服務
PsExec在執行命令時在遠程主機上創建服務,默認服務名稱為PSEXESVC
,配合檢測系統 7045 事件可以確定。
如果使用-r
參數更改了默認的服務名稱,通過以下特征可以檢測 PSExec 的執行:
- PSExec服務執行文件(默認值:PSEXESVC.exe)被復制到遠程計算機上的“%SystemRoot%”目錄中
- 服務名稱與沒有“.exe”擴展名的執行名稱相同
- 服務以“用戶模式”執行,而不是“內核模式”
- “LocalSystem”帳戶用於服務帳戶
- 實際帳戶用於執行服務執行文件,而不是“SYSTEM”
2.1.3 GUI 的日志工具介紹
Widnows 自帶事件管理器就是很不錯的日志工具,其他可以了解下Event Log Explorer
可以將目標 IP 的所有日志文件復制出來,然后在其他電腦上使用 Event Log Explorer 進行分析。
其他一些工具:
- Microsoft Message Analyzer
- ETL Viewer
- Log Parser
2.2.4 PowerShell 日志操作
使用Get-WinEvent
Get-WinEvent @{logname='application','system'} -MaxEvents 1
一些常見日志操作
# Get-WinEvent幫助命令
get-help Get-WinEvent # 列出所有事件日志 Get-WinEvent -ListLog * # powershell管理員權限下獲取安全事件日志 Get-WinEvent -FilterHashtable @{LogName='Security'} # 過濾安全事件ID 4624 Get-WinEvent -FilterHashtable @{LogName='Security';ID='4624'} # 查詢今天的應用和系統日志,顯示前2條 Get-WinEvent @{logname='application','system';starttime=[datetime]::today } -MaxEvents 2
# 根據ID查詢事件
Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Where-Object {$_.ID -eq "4100" -or $_.ID -eq "4104"} # 查詢指定時間內的事件 $StartTime=Get-Date -Year 2017 -Month 1 -Day 1 -Hour 15 -Minute 30 $EndTime=Get-Date -Year 2017 -Month 2 -Day 15 -Hour 20 -Minute 00 Get-WinEvent -FilterHashtable @{LogName='System';StartTime=$StartTime;EndTime=$EndTime}
Get-EventLog 的使用可以參考:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-eventlog?view=powershell-5.1
2.2.5 Windows 日志刪除和日志集中化
攻擊者入侵系統后,很可能會刪除日志,比較粗暴的手法是直接刪除所有日志和停止日志服務,對於應急來說刪除掉的日志本身就是就是入侵的明顯特征,根據文件創建時間也能大概判斷入侵時間。另外有工具可以刪除單條日志,這樣只是分析 Windows 日志時對分析人員來說很難找到攻擊痕跡,單條日志刪除工具 https://github.com/360-A-Team/EventCleaner,另外可以參考 https://github.com/3gstudent/Eventlogedit-evtx--Evolution。
對抗刪除的的措施是實施日志集中化,從 Windows 7 開始,Windows 記錄日志為 XML 格式,可以使用
2.2 檢查賬戶
檢查賬戶的幾種方式:
- 在本地用戶和組里查看,運行
lusrmgr.msc
- 使用
net user
列出當前登錄賬號,使用wmic UserAccount get
列出當前系統所有賬戶 - 檢查注冊表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
,HKLM\SAM\Domains\Account\
(默認是 SYSTEM)權限,需要配置成管理員權限查看。
SID 位於HKU\
和 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
兩個密鑰中。 用戶SID可以在值“Profilelist”下找到Subkeys(在用戶登錄系統時創建)。 值“ProfileImagePath”將列出該特定用戶的配置文件的路徑。 在操作系統級別,SID可識別無疑問題的帳戶。 多用戶系統看起來像這樣
HKU\.DEFAULT
HKU\S-1-5-18
HKU\S-1-5-19
HKU\S-1-5-20
HKU\S-1-5-21-1116317227-3122546273-4014252621-1000
HKU\S-1-5-21-1116317227-3122546273-4014252621-1000_Classes
HKU\S-1-5-21-1116317227-3122546273-4014252621-1003
HKU\S-1-5-21-1116317227-3122546273-4014252621-1003_Classes
前四個密鑰是系統帳戶,從計算機到計算機通常是相同的。 HKU\.DEFAULT
包含全局用戶信息。 HKU\S-1-5-18
屬於“LocalSystem帳戶”。HKU\S-1-5-19
用於運行本地服務,是“本地服務帳戶”。HKU\S-1-5-20
是用於運行網絡服務的“NetworkService帳戶”。 其他子鍵是唯一的SID,它們與已登錄系統的各個用戶相關聯。 他們的解釋如下:
- “S”將字符串標識為SID。
- “1”是SID規范的版本。
- “5”是標識符權限值。
- “21-1116317227-3122546273-4014252621”是域或本地計算機標識符,因計算機與計算機不同,因為它對應於唯一的個人用戶帳戶。
- “1000”是相對ID(RID)。 默認情況下未創建的任何組或用戶的RID均為1000或更高。
- “1000_Classes”包含每用戶文件關聯和類注冊。
- “1003”是同一系統上另一個用戶的相對ID(RID)。
- “1003_Classes”包含第二個用戶的文件關聯和類注冊。
2.3 檢查網絡連接
檢查網絡監聽和連接的端口和應用程序
netstat -anob
輸出主機上的所有偵聽和活動連接,包括 PID 和連接到每個連接的程序的名稱。 這也告訴 Netstat返回連接的 IP 地址,而不是試圖確定它們的主機名。
- -a :顯示所有連接和偵聽端口。
- -b :顯示在創建每個連接或偵聽端口時涉及的可執行程序。在某些情況下,已知可執行程序承載多個獨立的組件,這些情況下,顯示創建連接或偵聽端口時涉及的組件序列。在此情況下,可執行程序的名稱位於底部 [] 中,它調用的組件位於頂部,直至達到 TCP/IP。注意,此選項可能很耗時,並且在你沒有足夠權限時可能失敗。
- -n :以數字形式顯示地址和端口號。
- -o :顯示擁有的與每個連接關聯的進程 ID。
- -r :顯示路由表。
路由
netstat -rn
結合findstr
命令查找特定的端口或程序。
發現的感覺異常的 IP 地址可以在威脅情報平台上查詢,如果是已知的惡意 IP,可以比較快速的確認攻擊方式。
防火牆配置
netsh firewall show all
Windows 10 自帶的網絡連接可以參考:
https://betanews.com/2018/07/31/all-the-websites-windows-10-connects-to-clean-install/
2.4 檢查進程
進程通常結合網絡查看異常,先檢查異常的網絡連接,再獲取由哪個進程生成的網絡連接
netstat -abno | find "port number" tasklist | findstr PID
使用 wmic 命令獲取進程信息
wmic process | find "Proccess Id" > proc.csv Get-WmiObject -Class Win32_Process Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 | Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PowerShell 的其他關於進程和網絡的命令
Get-Process
Get-NetTCPConnection Get-NetTCPConnection -State Established # 進程跟服務的對應關系 tasklist /svc
使用 SysinternalsSuite 的 procexp 可以獲取進程比較詳細的信息,比如真實路徑、加載的 DLL 文件等、CPU 和內存使用情況等。
當然也可以使用內存管理器。
查看可疑的進程及其子進程。可以通過觀察以下內容:
- 沒有簽名驗證信息的進程
- 沒有描述信息的進程
- 進程的屬主
- 進程的路徑是否合法
- CPU或內存資源占用長時間過高的進程
可以獲取進程關聯的文件 MD5 值,然后發送到威脅情報平台上輔助檢查。進程關聯的文件也可以使用在線病毒檢測平台上直接檢測。
2.4.1 內存 dump
有 2 種比較方便的方法:
第一種是使用系統自帶功能,在計算機屬性,系統屬性,高級選項卡中選擇“啟動和故障恢復設置”,選擇完全轉儲內存,然后點擊確定,系統會提示重啟。
重啟后在配置的文件位置可以找到上次轉儲的內存文件。
另外一種方法,使用 SysinternalsSuite 工具集的 notmyfault64 工具,在使用管理員權限的命令行模式下(cmd、PowerShell),運行
NotMyFault64.exe /crash
2.4.2 內存分析
利用 Volatility 進行內存取證,分析入侵攻擊痕跡,包括網絡連接、進程、服務、驅動模塊、DLL、handles、檢測進程注入、檢測Meterpreter、cmd歷史命令、IE瀏覽器歷史記錄、啟動項、用戶、shimcache、userassist、部分rootkit隱藏文件、cmdliner等。
參考:https://xz.aliyun.com/t/2497
2.5 檢查開機啟動和運行服務
2.5.1 開機啟動
關於開機啟動需要分析的位置:
- 注冊表中的關於開機啟動的位置
- 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
- (ProfilePath)\Start Menu\Programs\Startup
- 開始菜單,啟動項里(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup)
- 任務管理器,啟動選項卡,或者運行 msconfig,查看啟動選項卡
- 運行
gpedit.msc
在本地組策略編輯器里查看開機運行腳本,包括計算機配置和用戶配置的。
- 使用 SysinternalsSuite 工具集的 Autoruns 工具查看開機啟動項目
2.5.2 查看服務狀態
服務狀態,自動啟動配置,在 PowerShell 下可以運行:
Get-Service
# 運行service命令 service
運行services.msc
可以打開 Windows 服務工具,常見的 GUI 界面。
2.6 檢查計划任務
存放計划任務的文件
- C:\Windows\System32\Tasks\
- C:\Windows\SysWOW64\Tasks\
- C:\Windows\tasks\
- *.job(指文件)
使用命令查看計划任務
schtasks
運行taskschd.msc
打開計划任務面板,或者從計算機管理進入,直接查看計划任務。
也可以使用 SysinternalsSuite 工具集的 Autoruns 工具查看計划任務。
2.7 檢查文件
檢查可疑文件的思路,一種是通過可疑進程(CPU 利用率、進程名)關聯的文件,一種是按照時間現象關聯的文件,文件大小也可以 作為輔助的判斷方法,文件的操作可以使用Get-ChildItem
命令查看。需要關注的文件位置:
- 下載目錄
- 回收站文件
- 程序臨時文件
- 歷史文件記錄
- 應用程序打開歷史
- 搜索歷史
- 快捷方式(LNK)
-
驅動
driverquery
-
進程 DLL 的關聯查詢
tasklist -M
- 共享文件
- 最近的文件(%UserProfile%\Recent)
- 文件更新
- 已安裝文件
- hklm:\software\Microsoft\Windows\CurrentVersion\Uninstall\
- 異常現象之前創建的文件
2.8 檢查注冊表
注冊表目錄含義:
- HKEY_CLASSES_ROOT(HKCR):此處存儲的信息可確保在Windows資源管理器中執行時打開正確的程序。它還包含有關拖放規則,快捷方式和用戶界面信息的更多詳細信息。
- HKEY_CURRENT_USER(HKCU):包含當前登錄系統的用戶的配置信息,包括用戶的文件夾,屏幕顏色和控制面板設置。HKEY_USERS中特定於用戶的分支的別名。通用信息通常適用於所有用戶,並且是HKU.DEFAULT。
- HKEY_LOCAL_MACHINE(HKLM):包含運行操作系統的計算機硬件特定信息。它包括系統上安裝的驅動器列表以及已安裝硬件和應用程序的通用配置。
- HKEY_USERS(HKU):包含系統上所有用戶配置文件的配置信息,包括應用程序配置和可視設置。
- HKEY_CURRENT_CONFIG(HCU):存儲有關系統當前配置的信息。
一些重要的注冊表鍵
hklm:\Software\Microsoft\Windows\CurrentVersion\policies\system
hklm:\Software\Microsoft\Active Setup\Installed Components
hklm:\Software\Microsoft\Windows\CurrentVersion\App Paths
hklm:\software\microsoft\windows nt\CurrentVersion\winlogon
hklm:\software\microsoft\security center\svc
hkcu:\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
hkcu:\Software\Microsoft\Windows\CurrentVersion\explorer\RunMru
hklm:\Software\Microsoft\Windows\CurrentVersion\explorer\Startmenu
hklm:\System\CurrentControlSet\Control\Session Manager
hklm:\Software\Microsoft\Windows\CurrentVersion\explorer\ShellFolders
hklm:\Software\Microsoft\Windows\CurrentVersion\ShellExtensions\Approved
hklm:\System\CurrentControlSet\Control\Session Manager\AppCertDlls
hklm:\Software\Classes\exefile\shell\open\command
hklm:\BCD00000000
hklm:\system\currentcontrolset\control\lsa
hklm:\Software \Microsoft\Windows\CurrentVersion\Explorer\BrowserHelper Objects
hklm:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
hkcu:\Software\Microsoft\Internet Explorer\Extensions
hklm:\Software\Microsoft\Internet Explorer\Extensions
hklm:\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
活用注冊表編輯器的搜索功能,根據進程名稱、服務名稱、文件名稱搜索注冊表。
3. 特定事件痕跡檢查
3.1 挖礦病毒應急
3.1.1 傳播方式
通常可能的傳播方式:
- 通過社工、釣魚方式下載和運行了挖礦程序(郵件、IM 等)
- 利用計算機系統遠程代碼執行漏洞下載、上傳和執行挖礦程序
- 利用計算機 Web 或第三方軟件漏洞獲取計算機權限,然后下載和執行挖礦程序
- 利用弱口令進入系統,下載和執行挖礦程序
- 執行 Web 頁面的挖礦 JS 腳本
3.1.2 挖礦程序特點
- CPU、GPU、內存利用率高;
- 網絡會連接一些礦工 IP,可以通過威脅情報獲取。
3.1.3 挖礦程序應急目的
- 找出入侵原因
- 找到挖礦程序,並刪除
挖礦事件應急可能需要對樣本進行分析,需要二進制的一些分析能力,通過提取樣本后確認樣本分類、行為、危害。
3.2 勒索病毒事件應急
3.2.1 傳播方式
通常可能的傳播方式:
- 通過社工、釣魚方式下載和運行了勒索程序(郵件、IM 等)
- 利用計算機系統遠程代碼執行漏洞下載、上傳和執行勒索病毒
- 利用計算機 Web 或第三方軟件漏洞獲取計算機權限,然后下載和執行勒索病毒
- 利用弱口令進入計算機系統,下載和執行勒索病毒
3.2.2 勒索病毒特點
- 各種數據文件和可執行程序生成奇怪的后綴名;
- 明顯的提示,要交贖金
3.3.3 勒索病毒應急目的
- 如果是重要數據,交付贖金恢復數據;
- 找到入侵的原因,排查同類漏洞,並進行加固(一般是重裝)
確認勒索病毒后要立即拔掉網線,限制傳播范圍。
3.3 應急示例
- http://blog.nsfocus.net/emergency-response-case-study/
- https://blog.csdn.net/qq_27446553/article/details/81102198
http://vinc.top/2017/05/03/windows%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94%EF%BC%8820170503%EF%BC%89/ - https://mp.weixin.qq.com/s?src=11×tamp=1533106387&ver=1033&signature=8P*AjLzeMd*GnPg0SwF4o6I06Sx804FDLw6PUkEch4h8eCCyQEr8A9hbHaIHPrqR-WiIdoJPqMsmSVic4-gs*sd3j613UabGbt6z9mQT6p5fWutdawPYrht-VlixmLLS&new=1
- https://mp.weixin.qq.com/s?src=11×tamp=1533106458&ver=1033&signature=8P*AjLzeMd*GnPg0SwF4o6I06Sx804FDLw6PUkEch4hJcF-gDfZJVqz2bzHZt6fF*EmCrKm*DXOl3CMpdqrFZwBPOuAKr1TQcF7qG2x72YvsE8D1nglxXyYenvA2HLqY&new=1
4. Sysinternals Utilities
工具中有些是命令行工具,有些是有 GUI 界面,作用:
- 使用Process Explorer顯示詳細的流程和系統信息
- 使用Process Monitor捕獲低級系統事件,並快速過濾輸出以縮小根本原因
- 列出,分類和管理在您啟動或登錄計算機時運行的軟件,或運行Microsoft Office或Internet Explorer時運行的軟件
- 驗證文件,正在運行的程序以及這些程序中加載的模塊的數字簽名
- 使用可以識別和清除惡意軟件感染的Autoruns,Process Explorer,Sigcheck和Process Monitor功能
- 檢查文件,密鑰,服務,共享和其他對象的權限
- 使用 Sysmon 監控整個網絡中與安全相關的事件
- 當進程滿足指定條件時生成內存轉儲
- 遠程執行進程,並關閉遠程打開的文件
- 管理Active Directory對象並跟蹤LDAP API調用
- 捕獲有關處理器,內存和時鍾的詳細數據
- 對無法啟動的設備,文件使用中的錯誤,無法解釋的通信以及許多其他問題進行故障排除
- 了解其他地方沒有詳細記錄的Windows核心概念
下載:https://docs.microsoft.com/en-us/sysinternals/downloads/
4.1 常用工具介紹
4.1.1 autoruns
可以方便的查看自啟動、計划任務和運行服務,通過關聯右鍵菜單可以獲取更詳細的內容。
4.1.2 procexp
查看進程的工具。
4.1.3 ADExplorer
Active Directory Explorer(AD Explorer)是一種高級Active Directory(AD)查看器和編輯器。 您可以使用AD Explorer輕松導航AD數據庫,定義收藏位置,查看對象屬性和屬性,而無需打開對話框,編輯權限,查看對象的架構,以及執行可以保存和重新執行的復雜搜索。
AD Explorer還包括保存AD數據庫快照以進行脫機查看和比較的功能。 加載已保存的快照時,您可以像實時數據庫一樣導航和瀏覽它。 如果您有兩個AD數據庫快照,則可以使用AD Explorer的比較功能查看它們之間更改的對象,屬性和安全權限。
4.1.4 TCPView
查看網絡連接情況
4.1.5 PSExec
像Telnet這樣的實用程序和Symantec的PC Anywhere等遠程控制程序允許您在遠程系統上執行程序,但是設置起來很麻煩,並且要求您在要訪問的遠程系統上安裝客戶端軟件。 PsExec是一種輕量級的 telne t替代品,可讓您在其他系統上執行進程,完成控制台應用程序的完全交互,而無需手動安裝客戶端軟件。 PsExec最強大的用途包括在遠程系統上啟動交互式命令提示和IpConfig等遠程啟用工具,否則它們無法顯示有關遠程系統的信息。
使用可以參考:https://www.itprotoday.com/management-mobility/psexec
4.1.6 LogonSessions
列出了當前活動的登錄會話,如果指定-p選項,則列出每個會話中運行的進程。
4.2 Troubleshooting with the Windows Sysinternals Tools 2nd Edition
這是一本書,介紹 Sysinternals 工具集的使用。
5. 其他
- 關注近期的安全事件趨勢,定期查看 CNCERT 的安全報告,其他一些殺毒軟件公司的論壇也要關注;
- 結合近期的應急,對每次應急出現的新狀況進行總結分析,一段時間內的應急需求基本是一致的;
- 關注幾個威脅情報中心,可以分析域名、IP、文件 MD5,比較方便判斷攻擊方式;
- 准備好殺毒盤和 Live 盤,可以利用 U 盤做一個專用的應急響應工具包
- Webshell 查殺
- D盾_Web查殺:http://www.d99net.net/index.asp
- 河馬webshell查殺:http://www.shellpub.com
- 深信服Webshell網站后門檢測工具:http://edr.sangfor.com.cn/backdoor_detection.html
- 勒索軟件基本沒有辦法,重要數據只能交贖金,不過也是有些特定的勒索病毒能恢復文件
- 如果未作 Windows 的日志集中化 ,如果入侵刪掉所有日志, 大部分情況下只能呵呵,查一下可能的入侵鏈路上的其他設備、同網段設備有什么日志;
- 弱口令是很常見的入侵事件原因;
- 眼見為實,證據說話,不要被客戶誘導;
- Windows 的攻擊方式可以了解一下 ATT&CK 矩陣
參考
- https://mp.weixin.qq.com/s/17L_fQJ1qjSvt8UL7VSemg
- https://sect.iij.ad.jp/d/2018/05/044132/training_material_sample_for_eventlog_analysis.pdf
- https://www.jianshu.com/p/15310fd23f54
- https://www.sans.org/course/windows-forensic-analysis
- https://www.sans.org/reading-room/whitepapers/forensics/live-response-powershell-34302