1. 程式人生 > 其它 >Windows入侵排查

Windows入侵排查

檢查系統資訊、使用者賬號資訊

系統資訊

● 檢視系統版本以及補丁資訊
systeminfo

使用者賬號資訊

● 基本使用
○ 建立普通賬號並加入administrarors 組
net user test 123456 /add
net localgroup administrators test /add
● 建立隱藏賬號
net user test$ /add
● 建立克隆賬戶

  1. 進入登錄檔HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
  2. 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

結合日誌,檢視管理員登入時間、使用者名稱是否存在異常。

  1. 開啟執行,輸入"eventvwr.msc",回車執行, 開啟“事件檢視器”。
  2. 匯出 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

#檢視PID為6436對應的程序,程序對應的檔案地址

工具

● 開啟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

越努力,越幸運!