GSM Sniffing移动作战-编译内核增加驱动
之前用****osmocom玩GSM Sniffing的时候都是用Archlinux的笔记本,然而本着走捷径的初衷却走了一条很大的弯路。发现我最近无论是做事还是玩都这样……挺”作死“的。这次在安卓设备上跑起GSM Sniffing也是一波N折,对很多细节领会不透加上想当然的思路绕了很大的一圈,不过最终终究成功达到了目标同时夯实了下许久没用的各种技能和解题思路。
这次Osmocom是放在Nexus7上,其实本质上就是重新编译一个安卓的内核,在编译的时候增加CP210x驱动和USB->SERIAL支持,其他的armh配套环境装好后Chroot一下就和在x86下一样了。(最终我用了Kail的Nethunter ROM for nexus7,因为Chroot环境什么都准备好了,只需要重编译一个内核即可,方便……)
成果图……
Nexus7成功驱动CP210x USB to UART模块,成功对C118刷机,并扫描出附近的基站。
因为官方连编译打包脚本都全部为我们写好,比手动对原版安卓boot镜像解包再重制要方便很多,而且Nethunter的内核还有很多BT的功能,详情可以参考这里,这些都是最终选其的原因。
其实Nethunter的源码页面里已经讲得非常详细了,我大概流水帐记一下吧,首先用虚拟机装好64位的Kali系统,准备至少10G的空余空间(只编译内核的话5G足够了)。由于众所周知的原因,需要自备梯子通过proxychain保证拉取过程稳定,总共一起大约有2G左右的下载量。
mkdir ~/arm-stuff //创建工作目录
cd ~/arm-stuff //切换到工作目录
proxychain git clone https://github.com/offensive-security/gcc-arm-linux-gnueabihf-4.7 //通过代理拉取交叉编译工具
export PATH=${PATH}:/root/arm-stuff/gcc-arm-linux-gnueabihf-4.7/bin //设置编译工具环境变量
proxychain git clone https://github.com/offensive-security/kali-nethunter //通过代理拉取nethunter的编译环境
cd ~/arm-stuff/kali-nethunter //切换到nethunter的编译环境
proxychain ./build-deps.sh //创建编译需要的环境
proxychain ./androidmenu.sh //进入编译脚本
全部拉取完在运行之前目录应该是这样的。
运行androidmenu.sh后首先会确认整个源码是最新的,之后就会让你输入一个版本号码xxxx,确认后会自动生成android-xxxx
选择要为什么设备编译,我这里选nexus Devices
嗯,我的是2013版的……
选择是编译完成的rom文件(内核加chroot环境)还是只编译内核,AOSP是基于官方开源版本,CyanogenMod是大名鼎鼎的CM系列……我这里用的AOSP Kernel。
下一步就应该开始拉取你选择的源码了,这个时候我稍微改了一下脚本,N7的脚本文件在/kali-nethunter/devices/nexus7-flo-**这里,在make kali_deconfig之前要修改好上面位置的kali_defconfig内容。
如果只是要支持CP210x只需在打开上面三项,内核配置文件有很多内容,如果不是很清楚每项作用不要乱改!2.6.x的配置文件可以参考这里,这里编译的是3.4.0的,多了不少内容,不明白的可以参见这个数据库。
改好之后就可以让脚本开工了。
注意一定要成功编译出了zImage才算编译成功,官方的脚本是容错的,不管在哪里编译出错都会生成一个.zip的刷机包……
编译成功后就用第三方recover刷入这个kernel-kali-new.zip吧~(你的设备按照官方要求刷入Nethunter Rom)
剩下的就参照上一篇了……
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://holmesian.org/build-nethunter-android-kernel-for-gsm-sniffing