.NET 一款开启远程RDP端口的工具

 01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02基本介绍

Sharp43389 是一款基于 .NET 开发的小工具,专门用于管理本地计算机的 3389 端口。3389 端口通常用于远程桌面连接(RDP)。本文将详细介绍 Sharp43389 的使用方法以及背后的代码逻辑。

图片

03使用方法

Sharp43389 提供了查询当前 3389 端口的状态和端口号、启用 3389 端口、禁用 3389 端口等功能。

3.1 查询端口

要查询当前 3389 端口的信息,可以使用以下命令,此命令将输出当前 3389 端口的启用状态和端口号

.\Sharp43389.exe -query

3.2 启用端口

要启用 3389 端口,可以使用以下命令,此命令会将 3389 端口设置为启用状态。

.\Sharp43389.exe -rdp0

3.3 禁用端口

要禁用 3389 端口,可以使用以下命令,此命令会将 3389 端口设置为禁用状态。

.\Sharp43389.exe -rdp1

04编码实现

以下是 Sharp43389 的核心代码部分,每个功能对应一个代码块。下面这个代码块实现了查询功能。首先,它访问注册表以读取 fDenyTSConnections 的值,确定 RDP 是否被启用。然后,它读取 PortNumber 的值,获取当前 RDP 的端口号

if (args.Length == 1 && args[0] == "-query")
{
    RegistryKey localMachine = Registry.LocalMachine;
    RegistryKey registryKey = localMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Terminal Server", RegistryKeyPermissionCheck.ReadSubTree);
    Console.WriteLine("Current status:" + registryKey.GetValue("fDenyTSConnections").ToString());
    RegistryKey registryKey2 = localMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp", RegistryKeyPermissionCheck.ReadSubTree);
    Console.WriteLine("Current port:" + registryKey2.GetValue("PortNumber").ToString());
    localMachine.Close();
    registryKey.Close();
    registryKey2.Close();
}

另外一处代码块实现了启用 3389 端口的功能。它将 fDenyTSConnections 的值设置为 0,表示启用 RDP。

if (args.Length == 1 && args[0] == "-rdp1")
{
    RegistryKey localMachine3 = Registry.LocalMachine;
    RegistryKey registryKey4 = localMachine3.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Terminal Server", true);
    registryKey4.SetValue("fDenyTSConnections", "1", RegistryValueKind.DWord);
    string text2 = registryKey4.GetValue("fDenyTSConnections").ToString();
    if (Convert.ToInt32(text2) == 1)
    {
        Console.WriteLine("Successfully,Current status:" + text2);
    }
    localMachine3.Close();
    registryKey4.Close();
}

05.NET安全星球

星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。

图片

图片

图片

20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dot.Net安全矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值