首页 / 资讯中心 / 文章详情

Global-Powershell-Logging指南:如何用USB Rubber Ducky一键开启PowerShell日志防御

Global-Powershell-Logging指南:如何用USB Rubber Ducky一键开启PowerShell日志防御 ★ FEATURED ARTICLE
Global-Powershell-Logging指南如何用USB Rubber Ducky一键开启PowerShell日志防御【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads本文介绍 usbrubberducky-payloads 官方仓库中的Global-Powershell-Logging载荷通过 USB Rubber Ducky 在 Windows 上快速开启 PowerShell 全局日志与转录让所有 PowerShell 输入输出自动留痕为 PowerShell 日志防御提供一套可复现的部署方案。一、先认识 USB Rubber Ducky 威胁USB Rubber Ducky 是一款Bad USB设备它插入电脑后被系统识别为键盘随后以极快的速度敲入预设的 DuckyScript™ 脚本。对普通用户来说一次插拔就可能悄悄打开 PowerShell 并执行一串命令整个过程屏幕上只闪一下窗口极难察觉。传统的安全响应思路是事后排查但如果能提前给 PowerShell 装上行车记录仪——把每一次打开、每一条命令、每一段输出都写成日志文件——那么无论是脚本小子还是勒索软件操作痕迹都无法抹掉。这正是本仓库incident_response应急响应分类下 Global-Powershell-Logging 载荷要做的事把 USB Rubber Ducky 的自动化能力反过来用替你完成防御配置。二、Global-Powershell-Logging 的工作原理该载荷由两个文件组成位于 payloads/library/incident_response/Global-Powershell-Logging/ 目录载荷脚本Payload.txt —— 编译后写入 Ducky 的 DuckyScript™ 流程实际执行的防御脚本Global-Powershell-Logging.ps1 —— 负责开启/关闭日志的 PowerShell 脚本模块说明README.md —— 作者 beigeworm 给出的官方用法它的执行流程只有 4 步非常轻量识别系统载荷内嵌了PASSIVE_WINDOWS_DETECT被动检测扩展确认目标确实是 Windows 10/11 才继续否则会亮起红灯并停止避免误操作 Mac/Linux 系统。打开 PowerShell用GUI r快捷键唤起运行框自动输入一条绕过执行策略 隐藏窗口 从服务器下载脚本并执行的命令。请求管理员权限通过CTRL-SHIFT ENTER触发 UAC 提权你只需点一次是。一键完成配置脚本写入系统级策略之后每一次新开的 PowerShell 会话都会自动生成转录文件。 上图是防御配置前 PowerShell 的默认执行策略ExecutionPolicy状态。脚本之所以要加-Ep Bypass参数就是为了不受这些策略限制顺利部署日志功能。三、快速部署三步开启 PowerShell 全局日志第 1 步替换脚本下载地址打开 Payload.txt找到DEFINE #SCRIPTURL一行把默认的https://yourserver.com/rawfile/Global-Powershell-Logging.ps1换成你自己服务器上托管的 Global-Powershell-Logging.ps1 文件地址。⚠️ 仓库中的地址是占位符务必替换为你自己的可信地址不要直接使用他人服务器。第 2 步编译并写入 Ducky在 Payload.txt 中使用 DuckyScript™ 语法如DEFINE、EXTENSION、LED_G等按照官方 PayloadStudio 的指引编译成 Ducky 可识别的二进制格式再写入 USB Rubber Ducky 存储即可。仓库根目录的 README.md 和 CONTRIBUTING.md 都给出了编译与提交的相关说明。第 3 步插入设备等待绿灯把 Ducky 插入 Windows 电脑后指示灯先闪绿代表识别到 Windows随后自动完成全部配置。整个过程中你只需要在 UAC 弹窗出现时点一次是。四、日志记录在哪些位置脚本生效后日志会分两层落盘记录内容位置每个 PowerShell 会话的完整转录含时间戳、命令、输出文档\WindowsPowerShell\Transcript.日期.txt转录文件的索引台账文档\WindowsPowerShell\Transcripts_Logging.txt除此之外脚本还会开启两项系统级策略写入HKLM:\Software\Policies\Microsoft\Windows\PowerShell注册表键EnableScriptBlockLogging 1PowerShell 引擎级别记录所有脚本块EnableModuleLogging 1记录模块加载行为。也就是说即使攻击者手动关掉了我们注入的转录脚本系统策略层依然会留下痕迹——这就是纵深防御的意义。五、如何关闭日志同一个脚本再跑一次Global-Powershell-Logging.ps1 是一个开关式脚本它通过检测文档\WindowsPowerShell目录下是否已有.ps1转录文件来判断当前状态。目录为空 → 显示 Adding Powershell logging开启日志已有文件 → 显示 Removing Powershell logging删除注入文件并把两个策略值归零。因此关闭防御只需重复第 1~3 步再执行一次即可无需额外卸载工具。六、注意事项与常见问题需要管理员权限脚本要修改机器级注册表和系统策略UAC 提权是必需的。如果点是后失败请确认账户具有本地管理员权限。️仅限受管设备README 中明确声明该脚本仅适用于你拥有或获得授权使用的系统。在未经授权的电脑上部署日志采集属于违规行为请务必遵守。️Windows 10 / 11 专用载荷的Target标注为 Windows 10/11。插入非 Windows 设备时被动检测扩展会直接终止载荷红灯提示不会执行任何操作这一点设计得很安全。七、相关文件路径汇总载荷主文件payloads/library/incident_response/Global-Powershell-Logging/Payload.txt防御脚本payloads/library/incident_response/Global-Powershell-Logging/Global-Powershell-Logging.ps1模块文档payloads/library/incident_response/Global-Powershell-Logging/README.md同类应急响应载荷目录payloads/library/incident_response/八、写在最后Global-Powershell-Logging 展示了 Bad USB 仓库的另一面Payload 库不只是攻击者的工具箱更是蓝队的自动化响应武器库。用 USB Rubber Ducky 完成一次性的日志配置之后整个 Windows 系统的 PowerShell 行为都会自动留痕——对于经常接触未知 USB 设备的运维和安全人员来说这无疑是最低成本、收益极高的 PowerShell 日志防御方案。 延伸阅读仓库中还有 Disable-Windows-Defender-Permanently 等攻防对照模块对照阅读能帮助你更完整地理解 Windows 防御体系。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站