
PingZhellDucky完整教程USB Rubber Ducky的ICMP反弹Shell实战【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsusbrubberducky-payloads是 USB Rubber Ducky 的官方 Payload 仓库其中 PingZhellDucky 是一个很有意思的远程访问工具它让 Ducky 绕过防火墙通过ICMPPing协议建立一条反弹 Shell。普通反弹 Shell 依赖 TCP 端口很容易被防火墙拦截而 PingZhellDucky 利用很多环境都允许 Ping 通过这一特性把命令和输出都藏在 ICMP 数据包里传输。本教程带你从零完成整套 ICMP 反弹 Shell 的实战流程。一、PingZhellDucky 是什么先理解一个场景目标机器是 Windows防火墙不允许任何 TCP 连接反弹/绑定 Shell 都行不通但该网络**允许 PingICMP**通过。ICMP 本来是网络设备的体检协议——你用ping发一个 ECHO REQUEST对方回一个 ECHO RESPONSE。PingZhellDucky 正是借用了这个通道角色运行位置做什么Ducky 端PowerShell 单行脚本Windows 目标机循环向攻击机发送 ICMP 包包内携带命令执行结果攻击机端PingZhellDucky.pl你的攻击机推荐 Linux监听 ICMP 包向目标下发命令打个比方TCP 是被封锁的正门而 Ping 是保安懒得管的通风管——命令和回显就顺着通风管一包包传过去。该 Payload 来自同作者的 PingZhellCable 和 PingZhellBunny 系列特点是在非 Windows 攻击机上可以自动完成基础设施搭建只需 Perl 环境和管理员权限。二、项目文件结构一览PingZhellDucky 的完整资料都在payloads/library/remote_access/PingZhellDucky/目录下主载荷脚本payload.txt —— 烧录到 Ducky 的核心文件攻击机端客户端PingZhellDucky.pl —— 用 Perl 运行的监听程序官方说明文档README.md它内置了一个 OS 检测扩展 passive_windows_detect.txtDucky 插入后先被动判断目标是不是 Windows——是 Windows 就执行 PowerShell 的 ICMP 心跳不是 Windows 且开启了自动安装开关就会顺手帮你把攻击机环境配置好。三、快速上手自动安装模式推荐新手自动模式下你只要把 Ducky 插到攻击机上它会自动安装 Perl 依赖、下载客户端脚本并关闭系统默认的回 Ping 行为。步骤 1配置 payload.txt打开 payload.txt确认INSTALL为TRUECLIENTLINK保持默认即可DEFINE INSTALL TRUE步骤 2填入攻击机 IP在ATTACKER引号之间填入你自己攻击机的 IP例如192.168.1.100。这一步非常关键——目标上所有 ICMP 流量都会发往这个地址填错了就收不到任何回显。步骤 3在攻击机上完成搭建打开一个终端并保持在焦点状态把 Ducky 插入攻击机推荐 Linux需要 Perl 环境等待自动安装完成。你会看到类似 Setup complete! 的提示说明依赖IO::Socket、NetPacket::IP、NetPacket::ICMP和PingZhellDucky.pl都已就位。步骤 4启动客户端perl PingZhellDucky.pl看到 PingZhellDucky client ready! 后监听就绪。步骤 5插入目标获取反弹 Shell把 Ducky 插入 Windows 目标机——几秒后攻击机终端里就会出现DuckyPS提示符一条跨防火墙的 ICMP 反弹 Shell 建立完成。四、备选方案手动安装模式如果你的攻击机环境比较特殊比如没有外网、或者不想让 Ducky 代劳可以走手动模式将INSTALL改为FALSE手动把 PingZhellDucky.pl 上传到攻击机自行安装三个 Perl 依赖IO::Socket、NetPacket::IP、NetPacket::ICMP关闭系统默认 ICMP 应答避免干扰sysctl -w net.ipv4.icmp_echo_ignore_all1同样用perl PingZhellDucky.pl启动监听然后在ATTACKER处填入攻击机 IP。两种模式殊途同归自动模式适合快速实验手动模式适合受控环境。五、常见问题排查 ️Q1插入目标后没有任何回显先检查ATTACKERIP 是否填对确认客户端已经启动并处于焦点终端。再确认目标机与攻击机之间 ICMP 真的可达而不是单向被丢包。Q2目标上命令执行结果很长传完要等很久输出是按 128 字节分片塞进多个 Ping 包的长输出天然需要更多包。命令尽量简短如whoami、ipconfig。Q3为什么建议 Linux 作攻击机自动安装依赖cpan和sysctl在 Linux 上一键完成Windows 上这些步骤都要手动做。Q4DuckScript 版本要求需要 DuckyScript 3.0 语法支持DEFINE、VAR、WHILE等请用新版 PayloadStudio 编译 payload.txt。六、写在最后PingZhellDucky 演示了 HID 攻击中一个经典思路当 TCP 通道被封锁时ICMP 是一条几乎无人看守的备用通道。对防守方来说它的启示同样直接——只放行 Ping 并不安全ICMP 载荷一样可以承载数据甚至命令。想继续探索 USB Rubber Ducky 的其他玩法可以看看仓库中的相关模块ICMP 方向的同门技术lin-icmp_timing-based-data-exfiltration基于 ICMP 时延的数据外传其他远程访问载荷payloads/library/remote_access/全部 Payload 总目录payloads/library/⚠️ 免责声明本教程仅作安全研究与学习之用。未经授权对他人设备或网络进行此类操作属于违法行为请务必在自己的实验环境中练习。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考