烧鹅(BadUsb)开发记录01

什么是烧鹅?

从原理上来看,主要为模拟电脑的键盘输入,操作电脑,通过BadUsb里面存储的脚本来达到一些奇奇怪怪的功能。
烧鹅基于Teensy++ 2.0 AT90USB1286芯片设计的USB Rubber Ducky类开发板,没有使用USB Rubber Ducky的固件功能,不可以直接使用USB Rubber Ducky的脚本,可以直接使用Arduino IDE来编写自定义代码、也可以使用S.E.T、Kautilya套件生成代码使用。 自带SD卡槽,可外接SD作为扩展,支持BadUSB代码。

安装开发环境

windows下的开发环境很简单直接看官网就好
这里说的是ubuntu下的开发环境配置

1、Arduino的安装

在这里有详细的步骤
https://www.arduino.cc/en/Guide/Linux
大体的步骤为,在该官网下载Arduino对应自己系统的arduino
解压,然后cd到解压到的目录,输入以下命令即可
sudo ./install.sh
注意,不要下载错版本了,下载的时候名字是版本号就是对的
安装完成后,桌面的快捷方式不能运行,显示应用软件错误,不用理会在终端中输入
./arduino
就能直接运行,至此软件安装算是完成

2、Teensyduino安装

官网教程在这里
https://www.pjrc.com/teensy/td_download.html
不过我们在这里总一下,以便以后安装
首先,我们下载Linux Installer,这个网站里就有,下载完成后是一个.linux64文件(我的系统是64位
然后我们要让没有root权限的用户使用Teensy设备,所以我们要做一个文件放到rules.d里面
我们新建一个文件输入以下
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
#   http://www.pjrc.com/teensy/49-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/49-teensy.rules    (preferred location)
#   or
# /lib/udev/rules.d/49-teensy.rules    (req'd on some broken systems)
#
# To install, type this command in a terminal:
#   sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#
#
# If using USB Serial you get a new device each time (Ubuntu 9.10)
# eg: /dev/ttyACM0, ttyACM1, ttyACM2, ttyACM3, ttyACM4, etc
#    apt-get remove --purge modemmanager     (reboot may be necessary)
#
# Older modem proding (eg, Ubuntu 9.04) caused very slow serial device detection.
# To fix, add this near top of /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules
#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", GOTO="nm_modem_probe_end" 
#

然后将生成的这个49-teensy.rules拷贝到rules.d里面
sudo cp 49-teensy.rules /etc/udev/rules.d/
随后由于默认的下载的.linux64文件是没有给执行权限的,所以我们对这个这个文件执行chmod指令
chmod 755 TeensyduinoInstall.linux64
然后在执行就好了
./TeensyduinoInstall.linux64
之后的步骤就和windows下一样了,选择你安装arduino的位置,值得一提的是,程序能自动识别你这个是不是ardunio的安装位置,只有是的时候才能点next
至此,开发环境算是完成,在之后连接板子的时候可能会出现一些其他权限的问题,在Ardunio的安装官方教程里面有提到今天就不再讨论,等开始研究功能之后再做研究。
PS,话外音,这次的学习,主要目的是两个
1、这个板子,也就是Teensy作为日常工作生活用,可以带来多少便利
2、作为一个HID,能不能真正做到在被攻击者没有察觉到的情况,达到渗透的效果

2017/3/19

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,819评论 25赞 708
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 101,222评论 9赞 468
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,297评论 19赞 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,777评论 2赞 33
  • 顽石 这是一颗坚定的顽石, 啸风吹不动半点石尘。 不如...
    容某某阅读 420评论 0赞 0

友情链接更多精彩内容