標籤:

Volume Shadow 服務在滲透測試中的幾種利用姿勢

什麼是Vshadow?

Vshadow( vshadow.exe )是用於管理卷影副本的命令行實用程序。此工具包含在Windows SDK中 ,並由微軟簽名(稍後會詳細介紹)。

Vshadow具有許多功能,包括執行腳本和調用支持卷影子快照管理的命令的功能。毫不奇怪,這些功能可能會被濫用於特權級的防禦規避,許可權持久性和文件提取。

在這篇博文中,我們將討論Vshadow命令執行,自動啟動持久性以及使用Vshadow提取敏感文件副本並提取Active Directory(AD)資料庫來進行離線HASH轉儲和密碼破解。

命令執行

使用Vshadow執行命令取決於與影子複製操作的「成功」交互(例如,創建快照,移除快照,對快照執行某些操作等)。 Vshadow.exe支持-exec參數,該參數可用於執行二進位文件(.exe)或腳本(.bat/.cmd)。 -exec參數不支持命令參數,因此有效載荷執行需要在這些限制的上下文中進行包裝。

在繼續操作之前,讓我們考慮一些命令執行的其他要求。 首先,我們需要在機器上擁有一定的許可權(例如管理員),因為處理卷快照(並調用卷影服務)被視為敏感操作。 其次,我們需要將Vshadow可執行文件放到目標機器上。 如果Windows SDK已經安裝,那麼我們所要做的就是找到磁碟上二進位文件的路徑。 否則,我們必須將其上傳到目標主機上。 最後,我們需要確保我們的有效載荷如前面所說的那樣被封裝起來。 在本文的命令執行示例中,我們將簡單地使用notepad.exe作為我們的有效載荷。

用vshadow.exe調用一個有效載荷並不完全是最隱秘的方法,但我們可以通過這種方式來操作該工具,以最大限度地減少我們的入侵痕迹。 我們要執行的命令的基本結構如下:

vshadow.exe -nw -exec=<path oexe> <system drive>

指定-nw允許我們在不調用卷影複製寫入的情況下創建卷影副本。 實際上,這是一個非持久性卷影副本,它不會在 「物理」磁碟上留下證據(*請注意,這並不一定會阻止檢測卷影副本的創建,因為我們仍然是在模擬這個過程)。 現在,我們運行以下命令:

vshadow.exe -nw -exec=c:windowssystem32
otepad.exe c:

輸出的內容可以在下圖中看到:

在此上下文中成功執行Vshadow將創建一個假的影子副本集,然後啟動由-exec參數指定的有效載荷(notepad.exe)。 在這裡發生了一些有趣的事情,可能有助於防禦和取證人員……

· 直到子進程完成執行,Vshadow.exe才會完成執行。

· 有效載荷(notepad.exe)是vshadow.exe的子進程。

· Vshadow的成功執行將啟動卷影服務(VSS),如系統事件ID 7036所示,並調用VSSVC.exe進程。

自動啟動持久性和防禦逃避

由於Vshadow是一個帶符號的二進位文件,並具有命令執行能力,因此我們有一個潛在的作為逃避手段的候選人——AutoRuns(某種程度上)。 例如,讓我們通過輸入以下命令為我們的邪惡的有效載荷添加持久性(通過Registry Run Key):

reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /v VSSBackup /t REG_EXPAND_SZ /d "C:Program Files (x86)Windows Kits10in10.0.16299.0x64vshadow.exe -nw -exec=c:windowssystem32
otepad.exe c:"

在AutoRuns中,當過濾「Microsoft Entries」時,我們不會看到我們的登錄記錄,如下圖所示:

但是,如果我們取消選擇「Microsoft Entries」並啟用「Windows Entries」,我們將看到我們的持久性機制的記錄:

這種可見性的原因是由於vshadow.exe沒有用Windows證書籤名。 但是,如果vshadow.exe被放置到磁碟上某個更好的文件位置並且名稱足夠迷惑人,那麼該Autoruns記錄仍可能相當好的「融入」到所有記錄中。 將條目展開查看可能會也可能不會迷惑一個安全分析師:

敏感文件提取 – AD資料庫

由於我們可以使用VSS創建快照,因此我們使用此實用程序在域控制器(DC)上提取Active Directory資料庫( ntds.dit ),然後使用secretsdump.py離線轉儲散列。

首先,我們將vshadow.exe複製到我們的DC(本例中為Windows 2K12),並使用-p參數創建「c:」的持久性卷影副本(此處無寫入),命令如下:

vshadow.exe -p -nw C:

請注意以下屏幕截圖中的Shadow Copy Set ID(UUID)和Volume Name,因為這些將在後續命令中使用:

其次,我們使用Volume名稱複製影子副本中的AD資料庫,如下所示:

copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1windows
tds
tds.dit c:
tds.dit.bak

以下輸出顯示複製操作成功:

第三,我們從註冊表中提取SYSTEM配置單元。 我們需要這個來轉儲AD資料庫的內容:

reg.exe save hklmsystem c: empsystem.bak

以下輸出顯示複製操作成功:

接下來,讓我們確保按預期提取了我們想要的文件:

dir *.bak

我們的兩個文件如下圖所示:

為了更好的衡量,我們需要通過指定卷影集ID來清理並刪除卷影副本:

vshadow -dx={46d3c3ee-2840-4152-ba5c-450ea401869a}

操作如下所示,並提示執行成功:

最後,讓我們移動我們的戰利品(ntds.dit.bak和system.bak)並使用secretsdump.py離線轉儲系統哈希。 使用以下命令:

secretsdump.py -ntds ntds.dit.bak -system system.bak LOCAL

成功執行 ! 我們已經使用Vshadow獲得了域中的用戶哈希值!

其他研究

· 有關自動規避技巧的全面信息,請查看evolved-autoruns演示幻燈片。Huntress實驗室的人們在DerbyCon 7(2017)上發表了這個精彩的演講。

· @ PyroTek3維護一個優秀的網站——ADsecurity.org。 這篇文章展示了許多攻擊者可以用來檢索/轉儲AD資料庫的方法,包括利用VSS的工具(例如vssadmin,ntdsutil等)。

結論

除了監視上述特徵外,防禦者可能需要留意奇怪的卷影服務(VSS)行為,例如隨機創建/刪除以及任何涉及AD資料庫文件(ntds.dit)的活動。 此外,監視vshadow.exe開關的命令調用。 文件散列和名稱可能會發生更改,但「-nw -exec =」和「-p -nw」可能會持續存在。

本文翻譯自:bohops.com/2018/02/10/v ,如若轉載,請註明原文地址: 4hou.com/penetration/10 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

Synaptics發布聲明稱,Keylogger鍵盤記錄器只是個調試工具
安全觀點:你應該知道自己想成為什麼樣的人?
2017年網路犯罪現狀分析報告
LastPass 安全嗎?
自製蜜罐之前端部分

TAG:信息安全 |