网站首页 > 资源文章 正文
让WSL2中的Kali虚拟机使用无线网卡
为何有这个项目
近来在研究WiFi密码的最新破解方式,因为有了新的WPA3安全标准,为此,也形成了新的破解思路,即借助WiFi基站漫游功能中用于身分认证的PMKID加密算法,来直接破解密码,而PMKID的加密机制,甚至都不须要像往年那样,针对每位ESSID做破解字典了。瞧瞧以下破解公式,就晓得用PMKID破解无线密码,显得轻松好多。具体原理就不在这儿深入阐述了,之后打算找个时间专门讨论这个问题:
PMKID=HMAC-SHA1-128(PMK,“PMKName”|MAC_AP|MAC_STA)
往年是在虚拟机中做破解,既笨重又没有效率,如今谷歌推出WSL2,正好拿来做WiFi密码破解的实验环境。并且,目前放出的WSL2没有想像中的完美,因而我才决定改建WSL2,来达到和真机或则VMware虚拟机一样的疗效。我喜爱WSL2主要诱因在于,WSL2启动太快了,只要一秒钟,可以与Windows完美结合,还占用最少的资源,加上可以直接与Linux通讯和调试的VSCode,致使编程的研究环境大大友好,觉得Windows和Linux的混和编程从来没有如此美好过。(PS.通过迁移工具,将WSL2迁移到独立的虚拟文件硬碟中,走到哪儿都可以不用重新安装和配置Kali环境了)。
还有个看法Mark一下。假如用这个技术编译进安卓模拟器中,就可以用任何无线网卡,通过WiFi万能秘钥功能获取密码了。而且还让普通手机透明对接任何大功率无线网卡。USBOverInternet好多年前就在使用,解决了Hyper-V虚拟机不直接支持USB设备的苦恼,此次用在WSL上,也算是新罐装旧水。
改建Kali,安装超级工具集
从谷歌商店下载安装最新的Kali,经过各类必要的打算,便可以开始进行内核编译和升级了。
升级的目的是为了构建一个强有力的Kali,为此,无线网卡的加载是极其重要的。以下是在WSL中安装的Kali界面和工具集。具体过程就省略了,和本次技术实践的目的不一样。
WSL2的改建思路
通过对Windows的升级,来最终获取WSL2的使用体验。不过也可以在VMware中安装最新的体验版来直接使用WSL2的所有特点。我注册了谷歌的体验者用户,之后从Windows10体验站中下载最新的体验包Windows10_InsiderPreview_EnterpriseVL_x64_zh-cn_19041.iso,直接安装这个体验包,可以省去好多升级的麻烦。
谷歌在新的WSL2中(安装请参考WSL2安装),使用了Hyper-V技术支持独立的Linux应用(换句话说,Hyper-V主要解决Windows不完美支持大小写以及软硬链接等Linux中的各类问题,而且,可能会形成安全方面的问题,例如此次内核的改建过程中,发觉了一些安全方面存在的隐患,Windows和Linux的结合,最头痛的实际上是用户权限分配问题,还有个隐藏的问题就是,Windows若果强行搞一个大小写敏感的文件系统,会给黑客带来好多遐思的空间)。
遗憾的是,无论是谷歌的Hyper-V技术还是这个Windows102004版上新的WSL2,都不直接支持无线网卡等USB设备。近来在研究WSL的过程中,发觉借助谷歌开源的WSL内核代码,通过自动编译内核,加入一个名为USB/IP的项目,通过在宿主机中运行USB/IP的服务程序,来将主机的USB网卡通过USB/IP转发给WSL内核中,进而实现主机USB设备透明地提供给WSL使用。
在Windows中安装USB/IP,可以通过下载GIT代码来编译实现:gitclone。USB/IP的功能就是将任何主机端的USB口,通过以太报文传送到顾客端,让顾客端虚拟出这个USB设备,实现USB合同的透传疗效。
编译的过程就不写了,可以直接使用编译好的结果:USB/IP的执行文件。关于怎样在Windows中安装非合法签名的驱动,请自行百度。有个小问题须要注意,假若BIOS设置为安全启动,则难以在Windows中更改成测试模式的。
在每台设备上,内核代码都是和操作系统绑定的,因而,没有可能编译一次就四处使用。必须在该主机上编译完成之后,再替换掉WSL2的启动镜像。而最后产生的Kali镜像文件,是可以安全覆盖现有的镜像文件,达到不断升级,不断建立调试环境的目的。
WSL的运行由两部份组成,操作系统的启动部份以及某个操作系统运行部份。
操作系统启动部份,对于所有的WSL都是公用的,所谓内核编译就是替换掉这个公用的部份。无论你是运行Kali还是Ubuntu还是其他的系统,此部份都是共享的。所以,在Kali中编译了内核代码,而且替换现有的内核之后,每位镜像都具备了统一种新内核功能。例如我们此次完成对USB/IP的支持功能。
编译内核代码并替换内核
谷歌开放了WSL2的内核,直接可以通过GitHub下载:gitclone。
编译时间很快,可能是我机器强悍的诱因,也可能是另外的缘由,系统在编译时侯,手动加了-j12选项,太智能了。恐怕是系统测量到环境中CPU内核等数目,手动加上的优化选项。反正,自从谷歌加入开源的Linux阵营后,强悍到没有同学,直接秒杀所有其他努力活着的程序猿(例如有了VSCode,我几乎不再使用其他的各类IDE环境了)。不过为了使用网卡驱动,必须有几个选项在menuconfig选择的时侯,勾选的。具体的我忘掉了,主要是在编译网卡驱动的时侯,提示找不到各类头文件的时侯或则找不到个别变量的时侯,重新来勾选内核的个别支持功能。由于我们的无线网卡主要运行在嗅探模式,并不是所有网路都支持。我选择的是瑞昱Realtek-RTL8187无线网卡,该网卡功率可以调节,而且网上有源码支持内核的编译。
最好先makedistclean去除所有的垃圾文件,之后重新编译。近来发觉WSL2-Linux-Kernel的变化挺大的,所以可以将.config备份之后,常常做一下gitreset--hard以及gitpull来更新最新内核文件。为了简单起见,编译前可以先从当前的操作系统中拷贝订制的.config文件来正确编译新的内核。
cp/proc/config.gz.&gzip-d./config.gz&mvconfig.config&makemenuconfig
因为新内核支持USB/IP,所以在menuconfig中须要选择:
编译结束之后,可以makemodules_install&makeheaders_install&makeheaders_install_all&makeinstall来安装内核文件和相应的头文件到/lib/modules中。
这儿我有个方法:随意在某个硬碟x:\上构建一个Source目录,之后软软链接到该目录,以易于内外交换各类文件和在外部宿主机上编译代码。我的所有源码文件都储存在这个x:\Source中以节省WSL空间,另外因为Windows部份支持大小写敏感,最好这个共享的目录设置成大小写敏感,以支持个别Linux的应用。
mkdir~/source&ln-s/mnt/x/Source~/source
编译后,在本级目录中找到vmlinux文件,拷贝到~/source中,之后关掉WSL虚拟机(PSC:\WINDOWS\system32>wsl--shutdown),再之后备份好C:\Windows\System32\lxss\tools\kernel,将vmlinux更名为kernel,便可以重新启动Kali。
至此,早已改建了新的WSL2内核来加载我们的USB/IP驱动。
编译USB/IP工具
单独编译USB/IP的加载工具,以易于前面和主机的通信以及模拟仿真。
步入内核代码的tools,开始编译:
cdtools/usb/usbip&./autogen.sh&./configure&makeinstall
在Kali中挂载无线网卡在Windows中提供USB/IP服务
见证奇迹的时侯将要开始。首先,我们要将Windows设置成测试模式,以易于加载USB/IP的驱动,并提供USB/IP服务。这个过程可以在百度上搜索。假如实在搞不定,有时间我再写一篇USB/IP在Windows下的编译和使用。并且没技术浓度的东西实在没兴趣做。
以下是我用usbip列举Windows上的设备而且绑定该设备提供服务的画面,注意,其中1-4为RTL81878187L网卡。此时,注意将Windows防火墙设置中加入服务提供程序usbipd.exe,不然一会Kali中找不到:
在Kali中启动USB/IP,以接入Windows的USB设备
回到我们的Kali,此时此刻,假如使用命令lsusb是难以列举任何一个设备的。我们可以在命令行上先查询Windows提供的服务是否存在,假如存在,则列举Windows上绑定的USB设备,之后在Linux中进行远程加载。加载之后,该设备就成为Linux中可以进一步使用的设备了。
首先我们要晓得Windows中绑定虚拟WSL网卡的哪个IP地址是哪些,以易于远程绑定,因此可以运行:
exportwsl_ip=$(cat/etc/resolv.conf|grepnameserver|awk‘{print$2}’)
将该地址找到而且保存在环境变量wsl_ip中以备使用。我这儿是172.20.80.1(你们可以想像一下,该地址可以是任何一种设备,例如猕猴桃派)。此时,Windows中应当有调试信息显示,假若没有,很不幸地,要么后面没做好,要么防火墙没通过。
#usbiplist-r$wsl_ip
在挂载前,我们还须要加载上面内核编译形成的几个新模块。它们分别是usbcore.ko、usb-common.ko、usbip-core.ko和vhci-hcd.ko,据悉,还有其他的模块,按照你的须要加载。通过modprobe命令加载进系统:
我们可以先用lsusb测试一下,是否可以列举新的普通USB设备(比如Usbhub),之后我们可以开始挂载该IP的USB设备了:usbipattach-r$wsl_ip-b1-4。用lsusb测试一下,Kali中是否多出一个新的USB网卡设备:
剩下的最后一步就是添加无线网卡驱动。假如加载了驱动,本Kali就可以像真机一样,享用无线网卡带来的各类福利了。
加载无线网卡驱动,用wifite测试网卡破解功能
加载驱动有两种形式,一种是下载驱动源码在这个配置好的kali中编译和安装。第二种,我发觉有个开源项目可以完美解决我手头的8187L驱动安装问题:gitclone,于是就偷懒直接用了,下载之后,运行脚本程序,假如有问题可以简单更改一下该脚本,例如,该脚本必须用普通用户身分运行,我就不信邪更改成超级用户。
以下就是见证奇迹的时侯。新版的wifite2一改旧版本编程风格(没事的时侯,你们可以瞧瞧旧的wifite一代,编码风格丑得一米),而且支持PMKID、Pyrit和pcxtools等新特点,可用于进一步改导致WiFi破解利器。
备份Kali虚拟机,直接在其他机器上使用
在我们的Kali中,好不容易安装了各类编译工具以及辛苦搭建的环境,我们希望能在多个地方重复使用,如同使用VMware的镜像一样。便捷起见,可以使用迁移工具,将Kali镜像文件备份出来,之后在其他机器上随意安装一个新的Kali,再用这个镜像覆盖掉该镜像,便完成了整个订制Kali环境的迁移、部署和备份,做到不断打磨破解利剑的目的。
使用LxRunOffline工具,在Kali死机的情况下,运行:
.\LxRunOffline.exem-nkali-linux-dx:\some_where
来迁移到新的位置x:\some_where,之后将ext4.vhdx备份出来即可(假如找不到ext4.vhdx文件,而是显示一堆Linux目录,那就是你的系统可能没有完美的Hyper-V支持,须要开启这个模式才行),这个镜像文件可以随身携带以免遗失。用这个虚拟机镜像文件去覆盖其他版本的WSL即可。该文件也可以mount到其他操作系统上,做数据盘使用。
杂记
有幸赶上谷歌竞购Github,重磅步入Linux,谷歌推出的一系列工具和举措极大提升生产效率,减少编程的无趣性,带来了编撰和调试代码的舒适度。基本上是怀着分享的态度来做这个教程,与你们共享有关Linxu内核和Windows结合带来的生产力革命性的进步。
编撰这个教程花了我整天的时间,借助了这个周末,加深了对VSCode的认识,也让我下决心抛弃了好多食之无味弃之可惜的工具。
据悉,跨平台的研究,实际上不仅仅局限在此,物联网时代,须要我们的设备也可以便捷地互相访问,借助计算机强悍的估算能力和物联网设备的低成本和灵活布署性,可以应用于好多新的领域。就破解的事情来说,我们完全可以将覆盆子派等设备上安装无线网卡,借助Windows直观操作的方便性,来轻松地操作分布式设备,达到运筹帷幄的疗效。
下一步工作
用安卓模拟器,结合Kali,构建强悍的APP研究环境和WiFi秘钥破解工具,该工具将结合“X能秘钥”等APP,直接从服务器获取所有的已知密码,产生奇特的破解基础库。
近来有些时间做点研究工作,所以更新一下许久没碰的CSDN,奇怪的是这个编撰环境常常会莫名跑掉,不如Github稳定,一些工作还是在Github上进行会好一点。
猜你喜欢
- 2025-01-14 无线wifi会被蹭网的原因与解决方法
- 2025-01-14 昨晚家里停网后,我动了邪念破解了隔壁小姐姐的wifi密码
- 2025-01-14 无线路由器怎么设置
- 2025-01-14 危险!账户被盗与它有关系
- 2025-01-14 家里的无线网如何防破解、防蹭网
- 2025-01-14 用Python破解WiFi密码,太刺激了
- 2025-01-14 为啥“不合格”却没有处罚 看懂路由器检测
- 2025-01-14 全世界的WiFi都不安全了? 苹果和谷歌承诺尽快修复
- 2025-01-14 还在“蹭”免费WiFi?这些安全风险告诉你真能吓一跳
- 2025-01-14 黑帽子大会:物联网遇安全威胁 wifi密码破解怎么办?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)