本文将以运行在虚拟机的Kali最新版本1.05为系统,实现GSM的嗅探,硬件什么的我就不具体说了,提到的那篇最火的文章已经提过了,我用的就是下面点破东西。
我的连接线是自己通过DIY手机的耳机制作而成的,看起来很山寨外带一点DIY感,恩,现在貌似有现成的卖,10块钱,贵是贵,省了不少事,自己看着办了。
首先的首先需要建立Arm代码的编译环境,没有编译环境,就无法对osmocombb等进行编译了。可以参照这个文档:
http://bb.osmocom.org/trac/wiki/GnuArmToolchain
不过有些步骤上面的文档还是漏掉的了可能会导致后面的编译失败,下面贴上完整的步骤,默认目录在Root下:
cd ~
git clone git://git.osmocom.org/osmocom-bb.git
git clone git://git.osmocom.org/libosmocore.git
cd ~/libosmocore
autoreconf -i
./configure
make
sudo make install
cd ~/osmocom-bb
git checkout --track origin/luca/gsmmap
cd src
make
到此,我们前戏就算完成了,可以插入了,小心翼翼地把你的USB2TTL模块亲亲送入USB口,然后连接到虚拟机里面去。模块上面的灯应该会哔吥哔吥地一闪一闪了,使用lsmod可以看到cp2102模块。在Kali中新开4个命令行窗口,我们会需要这四个窗口来运行不同的命令。
首先在第一个窗口中输入
然后轻按一下手机的小G点,也就是手机的开关键,就会发现命令行窗口中源源不断地蹦出如下字符,手机也有了显示。
第二步,扫描查找附近的基站,第二个窗口输入
第三步,对指定信道号进行嗅探,要真的开始搞基了,但是我们的机只有一部而且是便宜货,具体理论解释可以看下面的图,因此只能一机对一信道,我们要选择某个信道号,开什么玩笑,当然是选择自己手机的信道号啦,读书人,不能乱搞。
我们需要知道自己手机目前连接基站的ARFCN,一般手机都有工程模式,以Iphone为例,在拨号键盘输入:
*3001#12345#* |
进入工程模式后,选择GSM Cell Environment->GSM Cell Info->GSM Serving Cell,就可以看到目前手机连接的基站ARFCN值了,应该在第二步中,也能看到这个ID存在。其他手机的命令
cd ~/osmocom-bb/src/host/layer23/src/misc/ |
./ccch_scan -i 127.0.0.1 -a THE_ARFCN_ID |
第四步,使用wireshark进行本地抓包,这时候的GSM协议已经被封装上了TCP-IP,可以在本地用wireshark抓到。
wireshark -k -i lo -f 'port 4729' |
筛选一下,选择gsm_sms,想办法召唤一条短信过来,你就会在wireshark上看到了。恩听说很多人一买就是半打以上,周围基站一网打尽,一机对一基嘛。