Windows入侵排查
檢查系統資訊、使用者賬號資訊
系統資訊
● 檢視系統版本以及補丁資訊
systeminfo
使用者賬號資訊
● 基本使用
○ 建立普通賬號並加入administrarors 組
net user test 123456 /add
net localgroup administrators test /add
● 建立隱藏賬號
net user test$ /add
● 建立克隆賬戶
- 進入登錄檔HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
- Names目錄下找到administrator,檢視型別為1F4,對應上面的000001F4資料夾,將 000001F4匯出,再將建立的使用者對應的Names下的資料夾匯出,對應的00000XXX資料夾 也匯出,再將建立使用者刪除,再將匯出的000001F4下的“F”的值複製到00000XXX裡面替 換,然後雙擊開啟匯出的建立的使用者的兩個檔案。net user 建立的使用者名稱檢視。
檢視已登入賬號
query user
檢視可以賬號
net user
檢視隱藏賬號
lusrmgr.msc
開啟本地使用者和組檢視隱藏使用者
檢視克隆賬號
● 使用wmic能檢視所有賬戶 wmic useraccount get name,SID
● 開啟登錄檔檢視:HKEY_LOCAL_MACHINE\ SAM\SAM\Domains\Account\Users
結合日誌,檢視管理員登入時間、使用者名稱是否存在異常。
- 開啟執行,輸入"eventvwr.msc",回車執行, 開啟“事件檢視器”。
- 匯出 Windows 日誌 -- 安全,利用微軟官方工 具Log Parser 進行分析。 4624 --登入成功 4625 --登入失敗 4634 -- 登出成功 4647 -- 使用者啟動的登出 4720 -- 建立使用者 4672 -- 使用超級使用者(如管理員)進行登入
檢查異常埠、程序、服務
檢視埠
檢視開放埠
使用 netstat -ano
命令檢視目前的網路連線, 定位可疑的 ESTABLISHED 已連線埠
檢視目前已經建立TCP連線的埠
netstat -ano | findstr "ESTABLISHED"
根據埠檢視程序
根據 netstat 命令定位出的 PID 編號,再通過 tasklist 命令進行 程序定位 tasklist | findstr "PID編號"
檢視程序
檢視所以程序列表
tasklist
檢視程序對應的服務
tasklist /svc
檢視程序呼叫的DLL檔案
tasklist /m
檢視程序對應的程式位置
wmic process where processid=6436 get processid,executablepath,name
工具
● 開啟D盾_web查殺工具,程序檢視,關注沒有簽名信息的程序。
● 通過微軟官方提供的 Process Explorer 等工具進行排查 。
檢視服務
開啟執行輸入services.msc
排查點
● 沒有簽名驗證資訊的程序
● 沒有描述資訊的程序
● 程序的屬主
● 程序的路徑是否合法
● CPU或記憶體資源佔用長時間過高的程序
應急措施
通過程序名kill
taskkill /f /im cmd.exe /t
wmic process where name="mysqld.exe" delete
通過pid進行kill
taskkill /f /pid /t
ntsd -c q -p 3876
wmic process where processid=3876 call terminate
刪除服務
sc delete
"服務名"
檢查啟動項、計劃任務、服務自啟動
檢視啟動項
【開始】檢視啟動項
【開始】>【所有程式】>【啟動】,預設情況下 此目錄在是一個空目錄,確認是否有非業務程式 在該目錄下。
【msconfig】檢視啟動項
【執行】,輸入 msconfig,檢視是否存在命 名異常的啟動專案,是則取消勾選命名異常的啟 動專案,併到命令中顯示的路徑刪除檔案。
【登錄檔】檢視啟動項(regedit)
特定使用者登入時的啟動項
HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\run
系統開機的啟動項
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\Run
僅啟動一次的啟動項(RunOnce)
HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\RunOnce
【組策略】檢視啟動指令碼
執行 gpedit.msc
檢視啟動指令碼
檢視服務自啟動
● services.msc,注意服務狀態和啟動型別,檢查 是否有異常服務。
● 執行 compmgmt.msc開啟計算機管理檢視服務。
檢視計劃任務
● powershell下輸入Get-ScheduledTask可檢視 當前系統中所有任務計劃的資訊、
● compmgmt.msc檢視計劃任務
● schtasks檢視任務計劃
● at檢查計算機與網路上的其它計算機之間的會話 或計劃任務,如有,則確認是否為正常連線。
檔案痕跡排查
敏感目錄
● 使用者目錄-C盤-Windows-使用者
● temp-各個盤下的temp目錄
● 瀏覽器下載目錄
● 回收站
入侵時間點前後文件
● forfiles命令查詢攻擊日期內新增檔案
forfiles /m *.exe /d +2020/2/13 /s /p c:\ /c " cmd /c echo @path @fdate @ftime" 2>null #表示對2020/2/13日後建立的exe檔案進行搜尋
`
● 在各個盤下,可根據資料夾內檔案列表時間進行 排序,查詢可疑檔案。
登錄檔分析
登錄檔含義
● HKEY_CLASSES_ROOT:包含所有已註冊的文 件型別、OLE等資訊
● HKEY_USERS:包含所有載入的使用者配置檔案
● HKEYCURRENT_USER:當前登入使用者的配置檔案
● HKEYCURRENT_CONFIG:啟動時系統硬體配置檔案
● HKEYLOCAL_MACHINE:配置資訊,包括硬體 和軟體設定
瀏覽器上網記錄
HKEY_CURRENT_USER\Software\Microsoft\ Internet Explorer\TypedURLs
RDP服務(遠端連線)
● HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal Server
● 直接用命令列查詢
查詢服務是否開啟 鍵值為0:開啟 鍵值為1:關閉
REG QUERY "HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ Terminal Server" /v fDenyTSConnections
● 查詢監聽埠
REG QUERY "HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ Terminal Server\WinStations\RDP-Tcp" /v PortNumber