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」可能會持續存在。
本文翻譯自:https://bohops.com/2018/02/10/vshadow-abusing-the-volume-shadow-service-for-evasion-persistence-and-active-directory-database-extraction/ ,如若轉載,請註明原文地址: http://www.4hou.com/penetration/10374.html 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※Synaptics發布聲明稱,Keylogger鍵盤記錄器只是個調試工具
※安全觀點:你應該知道自己想成為什麼樣的人?
※2017年網路犯罪現狀分析報告
※LastPass 安全嗎?
※自製蜜罐之前端部分
TAG:信息安全 |