0x01、背景
在局域網橫向滲透中,像遠程服務、遠程計划任務、遠程注冊表、遠程DCOM等方式攻擊,都會通過Windows RPC協議來進行遠程調用,而windows的ETW中正好有Microsoft-Windows-RPC這個etw監控點,本文就是通過Microsoft-Windows-RPC這個etw嘗試監控拿到橫向移動的數據
0x02、ETW相關
2.1 可以通過logman query命令查詢Microsoft-Windows-RPC相關事件的信息以及輸出級別
logman query providers "Microsoft-Windows-RPC"
2.2 可以通過以下logman命令,在system32目錄下生成監控的ETW日志
logman -ets start some_test_log -p SomeProvider "keyword1,keyword2" win:Informational
logman -ets stop some_test_log
0x03、監控遠程服務
3.1 如下圖所示,遠程服務會通過ncacn_np(SMB)或ncacn_ip_tcp(TCP)協議來進行遠程RPC調用
3.2 使用遠程服務命令進行測試
使用 Microsoft Message Analyzer 工具查看監控的some_test_log日志,使用 *Summary contains "367abb81-9844-35f1-ad32-98f038001003" 條件進行過濾
可以看到0x2(RDeleteService)和0xC(RCreateServices)
OpNum Method
12 RCreateServiceW 2 RDeleteService
具體信息為:
RCreateServiceW:
Microsoft_Windows_RPC 已啟動服務器 RPC 調用。 接口 Uuid: 367abb81-9844-35f1-ad32-98f038001003 OpNum: 0x0000000C 協議: Value_2 終結點 \pipe\ntsvcs 身份驗證級別 7 身份驗證服務 8
RDeleteService:
Microsoft_Windows_RPC 已啟動服務器 RPC 調用。 接口 Uuid: 367abb81-9844-35f1-ad32-98f038001003 OpNum: 0x00000002 協議: Value_2 終結點 \pipe\ntsvcs 身份驗證級別 7 身份驗證服務 8
可以看到接口Uuid為367abb81-9844-35f1-ad32-98f038001003,以及OpNum對應地操作,管道\pipe\ntsvcs信息,但是看不到遠程計算機信息、服務的操作信息
0x04、遠程注冊表
執行遠程注冊表操作
使用Microsoft Message Analyzer 工具查看監控的日志
可以看到接口Uuid為338cd001-2244-31f1-aaaa-900038001003,以及OpNum為 0x6(BaseRegCreateKey)和0x11(BaseRegQueryValue),管道\pipe\winreg信息,但是看不到遠程計算機信息
0x05、遠程計划任務
執行計划任務
使用Microsoft Message Analyzer 工具查看監控的日志
可以看到接口Uuid為86d35949-83c9-4044-b424-db363231fd0c,以及OpNum為0x1(SchRpcRegisterTask),通過TCP協議傳輸,但是看不到遠程計算機信息
0x06、遠程DCOM/WMI
執行DCOM
可以看到接口Uuid為000001a0-0000-0000-c000-000000000046,以及OpNum為0x4(RemoteCreateInstance),通過TCP協議傳輸,但是看不到遠程計算機信息
執行WMI,和DCOM也是一樣的結果
0x07、總結
本文通過Microsoft_Windows_RPC的ETW事件,嘗試監控遠程服務、遠程計划任務、遠程注冊表、遠程DCOM/WMI的測試,可以通過uuid以及OpNum確定操作類型,以及操作api,但是無法獲取到操作的API參數,以及來源的IP地址