横向渗透之 [RDP]

横向渗透之 [RDP],第1张

**​一、RDP 服务确定和启动 **

1. 确定RDP服务是否启动和服务端口

(1)注册表查询

(2)进程查看

2. 启动RDP服务

(1)cmd 本地注册表启动

也可以通过reg配置文件的方式启动:regedit /s startrdp.reg

(2) 利用Wmic 启动远程主机的RDP服务

二、RDP 用户登录前

(1) 明文密码:RDP爆破,SMB爆破(使用MSF中的smb_login 模块可以确定有效用户并判断是否是管理员组的)等工具

(2) Hash:Impacket工具包中的rdp_check.py 脚本可以通过hash确定目标机器是否存在枚举的用户

当用户存在时会提示 Access Granted,否者提示 Access Denied

(3) RDP中间人:Seth

执行后客户端链接服务器会失败,过段时间恢复正常

但是如果普通的用户,那需要进一步判断目标系统来确定合适的登录时机

(1) Windows XP、2003 支持统一用户登陆多地登陆互不影响,使用query user查看在线用户,XP没有该命令也可以使用taskmgr从任务管理器查看,同一权限下可以相互注销会话。

(2) 非服务器版本的Windows 系统默认只允许一个账户登录。当远程用户登录时使用与原系统相同的账户,原系统将切换到登陆页面,并会看到登陆的机器名

如果使用不同的账户,原系统将d窗提示其他用户已登陆到此计算机

选择继续后,原系统将会提示是否端口当前链接(30s后默认选择同意,退出到登陆页面)

(1) mstsc.exe

可以通过如下命令开启 Restricted Admin mode

开启后使用:mstsc.exe /restrictedadmin 进行登录不需要密码,将使用当前用户的hash 进行验证

(2) mimikatz.exe

4 . Linux上使用用户hash登录

PS:这里有一个坑,高版本xfreerdp不支持 /pth 参数,可以使用上面的安装命令安装支持/pth的版本,也可以使用kali/parrot中默认安装好

PS2:如果RDP服务启动了,客户端无法链接,可能是防火墙配置的问题,可以执行如下命 令添加防火墙规则允许3389端口TCP通信

PS3:如果出现远程连接出现身份验证错误,要求的函数不支持,解决方法:

**四、关于 RDP 权限维持方法 **

1. 关闭 RDP 安全认证

当服务器开启安全认证时,必须先通过登陆密码才能进入远程桌面;如果服务端用的是 不安全的认证方式,即可以先远程链接后登陆可以触发Shift后门

如何设置不安全的连接,去掉”仅允许使用网络级别的身份验证的远程桌面的计算机连 接”选项,需要注意的是先上系统后验证也会在计算机本地留下一定的进程、日志。

2. Shift后门 + RDP劫持

配合上面的关闭RDP安全认证方式,利用Shift后门可以让攻击者快速获得System权 限,结合RDP劫持可以实现无需创建用户、不更改劫持用户登录时间、解锁劫持用户界面、 等功能。注意RDP劫持需要System权限

另外一种方法可以通过创建服务激活

Mimikatz中也有相关的利用模块

3. 开启多人登录模式

(1)手动设置:将计算机配置(Computer Configuration)->管理模板 (Administrative Templates)->Windows组件(Windows Components)->远程桌面 服务(Remote Desktop Services)->远程桌面会话主机(Remote Desktop Session Host)->链接(Connections),禁用”将远程桌面服务的用户限制到单独的远程桌面会 话”(Restrict Remote Desktop Services users to a single Remote Desktop Services session) (2)Mimikatz 开启多用户登录,支持Win 7 及以前的版本系统

PS:使用与原系统相同的账户,原系统还是会被切换到登录界面;不同账户登陆成功 (3)RDPwrap:支持Win Vista - Win10

(4)SharpDoor:仅使用于Win 10 开启多会话RDP

**五、RDP 服务器反打客户端 **

需要客户端RDP链接时,开启磁盘共享(将本地磁盘挂在到服务器上)才能正常利用

2. 手动利用过程:假设客户端和登录服务器的用户都是Administrator

\Startup\powershell.vbs 作用是无d窗执行bat脚本

(2)Windows.bat 脚本内容实现马(service.exe)拷贝到客户端的启动目录

也可以根据实际情况,将Rat拷贝到客户端的其他目录,将激活脚本拷贝到客户端启动目 录;如果不出网的情况下,也可以将exe替换成要执行的脚本 。

第一种方法:krdc : 一般可以在菜单中找到,也可以在命令行界面中直接输入krdc 后回车,在d出的窗口中使用rdp协议,填好Windows主机IP或主机名,即可连接到相应的Windows的远程桌面上.

第二种方法:rdesktop 主机名或ip:端口 -u用户名 -p密码 -g 1024x768 -r sound:local

Empire CMS,phome.NET

Empire CMS,phome.Net

RDP协议

https://baike.baidu.com/item/RDP%E5%8D%8F%E8%AE%AE/4286862?fr=aladdin

什么是远程桌面协议(RDP)?

https://www.cloudflare.com/zh-cn/learning/access-management/what-is-the-remote-desktop-protocol

RDP协议运维

https://help.aliyun.com/document_detail/53214.html

了解远程桌面协议 (RDP)

https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port

更改计算机上的远程桌面的侦听端口

https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port

详解远程桌面协议, Linux 和 Windows 间的远程桌面互相访问(RDP、VNC协议)

https://blog.csdn.net/qq_27825451/article/details/101213110


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6073616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存