Sharp RDP Hijack:概念验证远程桌面(RDP)会话劫持实用程序

news/2025/1/8 1:47:08/文章来源:https://www.cnblogs.com/o-O-oO/p/18656578

Sharp RDP Hijack 是一个概念验证的 .NET/C# 远程桌面协议 (RDP) 会话劫持实用程序。

背景

RDP 会话劫持是一种后利用技术,用于控制(强制)断开的交互式登录会话。该技术在Mitre ATT&CK T1563.002 - 远程服务会话劫持:RDP 劫持中有描述。

笔记

SharpRDPHijack.cs 在 .NET Framework v.4.8(以及可能的更早版本)下的 Visual Studio 2022 中编译。TS/RDP 会话查询可能需要根据目标机器的权限。会话劫持需要提升的(管理员)上下文才能连接到另一个会话。除非知道目标会话用户的密码,否则需要 NT AUTHORITY\SYSTEM 上下文来控制会话。如果没有提供密码,SharpRDPHijack 将(尝试)冒充 NT AUTHORITY\SYSTEM。与以前的操作系统版本相比,Windows 2019+ Server 会话劫持表现出有趣的行为。劫持重定向到已激活的 RDP 会话的会话后,Windows 登录屏幕会提示输入用户的密码/凭据。如果重定向到控制台会话,则此重定向成功且无缝。利用 --shadow 选项和 --console 选项尝试通过 RDP 阴影连接到会话。一些人询问了这个实用程序的功能/必要性,因为您可以使用 tscon.exe 或 Mimikatz TS 执行相同的操作。编写此 POC 的目的是更好地了解 Win32 API 级别(更具体地说是 Wtsapi32)发生的事情,并拥有一个更简单的选项来连接到其他会话(最好使用 C#)。在此实现中,执行繁重工作的两个函数/方法是WTSConnectSession和WTSDisconnectSession。潜在的优势在于,此实用程序可以逃避针对 tscon.exe + 支持命令使用的特定检测分析。链接资源页面中的防御指南对于解决此技术的滥用(例如,在组策略中超时后注销断开连接的会话)以及实施域管理员登录弹性最佳实践非常有用,以最大限度地减少域暴露,其中非 DA 帐户在 DA 使用的计算机上拥有管理员权限。

用法

[*] Parameters:
[*] A proof-of-concept Remote Desktop (RDP) session hijack utility- For session hijacking, this utility must be run in an elevated context to connect to another session- If a password is not specified, NT AUTHORITY\SYSTEM is impersonated- For session query, admin privileges or "Remote Desktop Users" group membership is required on the target machine[*] Parameters:--tsquery=<host> : Query a host to identify RDP/TS session information (not required for other switches)--session=<ID> : Target session identifier--password=<User's Password> : Session password if known (otherwise optional - not required for disconnect switch)--console : Redirect session to console session instead of current (active) session--shadow : Shadow an active session (experimental)--disconnect : Disconnect an active (remote) session[*] Example Usage 1: Impersonate NT AUTHORITY\SYSTEM to hijack session #6 and redirect to the current sessionSharpRDPHijack.exe --session=6[*] Example Usage 2: Impersonate NT AUTHORITY\SYSTEM to hijack session #2 and redirect to the console sessionSharpRDPHijack.exe --session=2 --console[*] Example Usage 3: Hijack Remote Desktop session #4 with knowledge of the logged-on user's passwordSharpRDPHijack.exe --session=4 --password=P@ssw0rd[*] Example Usage 4: Disconnect active session #3SharpRDPHijack.exe --session=3 --disconnect[*] Example Usage 5: Query the local host for RDP/TS session informationSharpRDPHijack.exe --tsquery=localhost[*] Example Usage 6: Shadow active session #3SharpRDPHijack.exe --session=3 --shadow[*] Example Usage 7: Shadow inactive session #2 by redirecting the session to the consoleSharpRDPHijack.exe --session=2 --shadow --console

具有防御性考虑的资源

红队实验 | T1076:使用 tscon 劫持 RDP 进行横向移动

https://ired.team/offensive-security/lateral-movement/t1076-rdp-hijacking-for-lateral-movement

Kevin Beaumont | RDP 劫持 - 如何透明地劫持 RDS 和 RemoteApp 会话以在组织内移动

https://doublepulsar.com/rdp-hijacking-how-to-hijack-rds-and-remoteapp-sessions-transparently-to-move-through-an-da2a1e73a5f6

项目地址

https://github.com/bohops/SharpRDPHijack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865124.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RAG项目推荐:bRAG-langchain-构建自己的 RAG 应用程序所需了解的一切

检索增强生成 (RAG) 项目项目链接:https://github.com/bRAGAI/bRAG-langchain/tree/mainbRAGAI 的官方平台即将上线。加入等待列表,成为早期使用者之一! 本仓库包含了对检索增强生成 (RAG) 在各种应用中的全面探索。 每个笔记本都提供了从入门级到高级实现的详细实践指南,包…

五上数学LK情况反馈203班

五上数学LK情况反馈203班 上周五进行了LK,使用答题卡,电子阅卷,答题卡放在中学部,我们只有拿着学生没有写答案的试卷讲评,需要知道具体错误的,由周老师告知学生,今天晚上有半数以上学生,周老师已经告知学生错误题目了,分数已经公布。 本次考试难度较大,带有XB的性质,…

【金融行业】2024中国网络安全产业势能榜优能企业 金融行业典型案例展示

金融行业一直是信息安全的重点领域,随着金融科技的快速发展和数字货币的崛起,金融机构面临着前所未有的挑战。数据泄露、网络攻击等安全事件的频发,促使金融企业加强安全保障。然而,信息安全的提高不仅仅是防止外部威胁的关键,更重要的是确保业务在突发事件或安全事件发生…

Timer、Ticker使用及其注意事项

在 Golang 中,Timer 和 Ticker 是常用的定时器工具,但它们的使用易出错,尤其是初学者。本文将深入探讨定时器的正确使用方式、常见误区,并通过源码解读帮助你更好地理解它们的工作原理。Timer、Ticker使用及其注意事项 在刚开始学习golang语言的时候就听说Timer、Ticker的使…

entire vs whole; coca

entire 868 whole 466left 4WORD 1: ENTIRE WORD W1 W2 AN 15134 932 VIRTUALLY 354 71 Virtually the entire sample几乎所有样本 Virtually the entire Israeli governing class几乎整个以色列统治阶级 DEVOTED 216 71 devoted his entire care…

第22章 高级线程处理

第22章 高级线程处理 22.1 同步概述 多线程我们常需要一些同步结构进行线程间通讯。同步结构可以分为三类:互斥锁一次只允许一个线程执行特定的活动或一段代码。主要目的是令线程访问共享的写状态而不互相影响。互斥锁包括 lock​、Mutex​ 和 SpinLock​。 2. 非互斥锁 实现…

DINO-X环境搭建推理测试

​引子 开放世界检测,前文也写OV-DINO(感兴趣的童鞋,请移步OV-DINO开放词检测环境安装与推理-CSDN博客)。这不,DINO系列又更新了。OK,那就让我们开始吧。 一、模型介绍 IDEA 开发了一个通用物体提示来支持无提示的开放世界检测,从而无需用户提供任何提示即可检测图像中…

一文说透汇编语言中的各种地址

本文讨论了学习汇编语言时一些易混淆的、关于地址的概念前言 由于笔者水平有限,随笔中难免有些许纰漏和错误,希望广大读者能指正。 一、各种地址之间的区分 笔者在刚开始学习汇编语言时,不是很能分清楚汇编地址、逻辑地址、物理地址、段地址、偏移地址、线性地址等概念,这对…

什么是自动化测试?为什么要做自动化测试?如何学习自动化测试?

自动化测试是指使用软件工具和脚本来执行测试任务的过程。它可以自动化执行测试用例、生成测试报告和进行结果分析。自动化测试可以减少人工测试的工作量,并提高测试的效率和准确性。它在软件开发过程中起到了重要的作用,可以帮助开发团队快速发现和修复软件中的缺陷,确保软…

o3 发布了,摔碎了码农的饭碗

大家好,我是汤师爷~ 在 2024 年底,OpenAI 发布了最新推理模型 o3。o3模型相当炸裂,在世界级编程比赛中拿下第 175 名,打败 99.9% 的参赛者。AI 写代码都赶上顶级程序员了,程序员是不是要失业?最近不少读者反馈,像 GitHub Copilot、Claude Sonnet 3.5、Cursor 等 AI 辅助…