0x00 前言
感谢一只猿、le4f提供资料,极大缩短学习时间。
初学GSM Sniffer,本文记录全部学习测试过程。
0x01 参考资料
http://www.92ez.com/?action=show&id=1
http://92ez.com/py/
ttp://jingyan.baidu.com/article/9113f81b24aa9a2b3214c721.html
http://blog.csdn.net/zhaozhanyong/article/details/45888383
0x02 测试环境
1.c118摩托罗拉手机(淘宝购买¥25)
2.c118刷机线(淘宝购买¥25)
3.kali linux
0x03 测试过程
一、建立Arm代码的编译环境,默认目录在Root下,依次执行如下命令:
[Python] 纯文本查看 复制代码 sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev libpcsclite-dev zlibc zlib1g-dev libmpfr4 libmpc-dev
mkdir armtoolchain
cd armtoolchain/
wget [url]http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh[/url]
mkdir build install src
cd src
wget [url]http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2[/url]
wget [url]http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2[/url]
wget [url]ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz[/url]
cd ..
./gnu-arm-build.2.sh
然后看到提示
Press ^C now if you do NOT want to do this.
回车,然后漫长地等待后,接着把路径加入系统变量,执行如下命令:
[Python] 纯文本查看 复制代码 echo "export PATH=\$PATH:/root/armtoolchain/install/bin">>/root/.bashrc
source /root/.bashrc
二、下载osmocombb源码进行编译,依次执行如下命令:
[Python] 纯文本查看 复制代码 cd ~
git clone git://git.osmocom.org/osmocom-bb.git
git clone git://git.osmocom.org/libosmocore.git
cd ~/libosmocore
sudo apt-get install autoconf automake libtool
autoreconf -i
./configure
make
sudo make install
cd ~/osmocom-bb
git checkout --track origin/luca/gsmmap
cd src
make
三、刷机
1、C118连接kali linux
将C118手机关机,连接刷机线,连接kali linux
连接后,执行lsusb命令查看USB设备,出现CP210x说明已被识别,如图1:
此过程最容易出现的问题是接线不牢,无法刷机
*判断是否连接正常的小方法:
如果正常连接,会听到手机发出嗡嗡的声音(至少我的这台c118是这种情况)
2、开始刷机
在听到手机发出嗡嗡的声音后,
执行如下命令:
[Python] 纯文本查看 复制代码 cd ~/osmocom-bb/src/host/osmocon/
./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin
然后轻轻按一下手机的挂机键,出现如下效果图且手机屏幕显示Layer1字样则说明刷机成功,否则请检查刷机现是否插牢,接线顺序是否有错等。
*注:
轻按一下就好,不是长按开机
如图2、3
四、sniffer阶段
1、扫描基站:
[Python] 纯文本查看 复制代码 cd armtoolchain/osmocom-bb/src/host/layer23/src/misc/
./cell_log -O
选择一个基站编号(ARFCN),绝对值越小,代表信号越好
2、开始监听
新开窗口:
[Python] 纯文本查看 复制代码 cd armtoolchain/osmocom-bb/src/host/layer23/src/misc/
./ccch_scan -i 127.0.0.1 -a 基站编号
3、抓包分析
[Python] 纯文本查看 复制代码 wireshark -k -i lo -f 'port 4729'
在wireshark界面的Filter中输入gsm_sms拦截短信,TP-User-Data即为短信内容
*sniffer内容介绍用来了解原理,WEB界面搭建可跳过这个步骤
五、WEB界面搭建
1、下载web界面程序
下载http://92ez.com/py/中的文件
getusb.sh、
m.py、
smshack_nosql.py、
smshack.sql
以上4个文件放在root文件夹下
sms_web文件夹复制到/var/www/下
2、安装phpadmin
[Python] 纯文本查看 复制代码 sudo apt-get install phpmyadmin
cd /var/www/
sudo ln -s /usr/share/phpmyadmin phpmyadmin
按提示配置MySql数据库
3、导入数据库
打开浏览器,输入http://localhost/phpadmin
通过界面导入smshack.sql
4、修改m.py设置登陆MySql的用户名密码、数据库名称
与配置phpadmin时提示的user、password对应
db为数据库名称,填smshack就好
5、执行
python m.py
按提示操作
6、访问界面
浏览器访问http://localhost/sms_web
0x04 小结
以上是基于一只猿分享的资料进行测试,共耗时一天,个人体会:易于上手,难于精通 |