利用kali嗅探周围发送的短信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利⽤kali嗅探周围发送的短信
设备清单:
1. 摩托罗拉 C118 (25块)
2. FT232RL USB TO TTL (30元)
3. 摩托罗拉 Motorola C118专⽤数据连接线 (10块)
4. MiniUSB 链接线(10元,这个⼤家⼿⾥应该都有)
如下图:
淘宝购买地址就放在⽂章结尾吧.
外围设备是上⾯那些,现在还需要⼀台PC以及装有Linux操作系统的虚拟机,当然PC上⾯直接装的linux更好
还有⼀个主⾓:OsmocomBB
这⾥稍微介绍下OsmocomBB,OsmocomBB是GSM协议栈(Protocols stack)的开源实现,全称是Open source mobile communication Baseband.
⽬的是要实现⼿机端从物理层(layer1)到layer3的三层实现。
但是⽬前来看,真正的物理层(physical layer)并没有真正的开源实现,暂时也没看到实施计划。
只有物理层控制。
因为真正的物理层是运⾏在baseband processor的DSP core上,涉及到许多信号处理算法的实现,⽽且还要牵扯很多硬件RF的东西。
额好吧,上⾯这段OsmocomBB介绍⽂字来⾃百度~~
我⾃⼰的实验环境为:
os x 10.9 + VirtualBox + Ubuntu 12.04 (32位)
操作系统各个平台都⽆所谓,我想⼤多数都⽤虚拟机来测的,所以建议使⽤Ubuntu 12.04 ⾄少按照我这⾥介绍的做下来应该不会出错。
虚拟机⾥⾯如何安装Ubuntu 12.04我这⾥⼏不操作了,⽹上教程⼀⼤堆。
⾸先我们安装交叉编译环境:
1. ⽤户⽬录下建⽴source/arm
2. 进⼊arm⽬录再创建三个⽬录 build、 install 、src
3. 进⼊src⽬录分别下载这三个⽂件包:
ftp:///pub/newlib/newlib-1.19.0.tar.gz
⽬录结构如图所⽰:
编译前需要安装相应的库⽂件执⾏如下命令:
1sudo 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 zlibc zlib1g-dev libmpfr4 libmpc-dev
安装完
在arm根⽬录执⾏如下命令:
1chmod+x gnu-arm-build.2.sh ./ gnu-arm-build.2.sh
解释下这两条命令的意思,chmod +x 是给与 gnu-arm-build.2.sh 可执⾏权限, ./ gnu-arm-build.2.sh 是执⾏它
执⾏ gnu-arm-build.2.sh后会提⽰你是否继续,ctrl+c 则取消,直接回车。
如下图所⽰:
完成后会看到arm/install⽬录结构如图所⽰:
我们需要将 arm/install/bin⽬录加⼊环境变量中,注意这⾥最好直接填写绝对路径
获取绝对路径命令,在arm/install/bin⽬录下执⾏pwd命令。
如下图
加⼊环境变量的⽅法⽤vi打开 ~/.bashrc 在最后⼀样加⼊ export PATH=$PATH:/home/creturn/source/arm/install/bin
注意$PATH:冒号后⾯接的是你⾃⼰的绝对路径,有的同学不会⽤vi的话我就把具体命令写出来
1cd回车 #切换到主⽬录 vi ./.bashrc #打开⽂件 shift+g #按shift和g 跳转到最后⼀样 o #输⼊⼩写字母o换⾏并进⼊插⼊模式,然后把上⾯需要加⼊的代码加⼊进去 esc # 按esc键进⼊命令模式 :wq #按冒号然后输⼊回车编辑完成
为照顾linux新⼿对写点东西,汗~~
重新打开终端或者直接执⾏source ~/.bashrc 让环境变量⽣效
在终端中输⼊arm然后按tab键,如果出现 arm-开头的如下图所⽰就说明编译环境搞定了:
好了累了半死才把编译环境搞定,接下来下载 OsmocomBB 源码
在source⽬录下执⾏下⾯两条命令:
1git clone git:///osmocom-bb.git git clone git:///libosmocore.git
先编译osmocom核⼼库⽂件,进⼊libosmocore 执⾏如下命令:
1autoreconf -i ./configure make sudo make install
然后进⼊osmocom/src下⽬录
git checkout –track origin/luca/gsmmap 切换到这个分⽀
执⾏make命令
如果不出意外你所需软件环境和固件都编译好了。
Ubuntu12.04 默认能够识别FT232R所以不⽤装驱动。
接下来链接硬件, FT232RL USB TO TTL 和摩托的数据线链接注意上⾯对应的标识接⼊GND、RX、TX 所以不⽤担⼼接错,我也第⼀次摸板⼦。
链接完成后需要注意,如果链接正常下载板上⾯的蓝⾊的灯和红⾊的灯都要亮,不然肯定是接触不良,
我之前由于接触不良导致固件写⼊⼀半就会停⽌,或者包其他错误。
所以这⾥需要特别注意。
插⼊硬件后在虚拟机菜单中把接⼊下载板⼦的usb接⼝分配给虚拟机如图:
在终端中输⼊lsusb 如果驱动正常就能看到usb-serial
看下分配前和分配后的区别如下图:
接下来我们写⼊固件到⼿机中,这⾥需要说明的⼀点,很多⼈说是刷⼊固件,导致很多⼈误认为是刷机,其实只是把
固件加载到⼿机raw中执⾏⽽已,所以也不要担⼼输⼊固件后⼿机就不能⽤了。
切换到 osmocom-bb/src/host/osmocon/⽬录执⾏如下命令:
1/osmocon-m c123 -p /dev/ttyUSB0
../../target/firmware/board/compal_e88/palram.bin
这⾥同样需要说明下有的 -m 后⾯接的是 c123xor 区别是是否检测数据总和
注意上⾯命令需要在关机下执⾏,然后短按开机键,注意不要长按不然就开机了
如果不出意外就能看到如下图:
这⾥需要提醒下,由于买的⼿机都是⼆⼿的,所以接⼝处有可能会有松动,所以如果看到数据写⼊被取消就多试⼏次
调整下接⼝看看是否有松动,我机会每次都要试4-5次才能正常写⼊固件,看到staring up 基本就成功了,同事可以看到
⼿机上⾯也显⽰了 Layer 1 osmocom-bb 字样
1接下来在 /osmocom-bb/src/host/layer23/src/misc/⽬录执⾏ ./cell_log
输出⽇志信息,在⾥⾯可以看到基站信息
找到类似信息
cell_log.c:248 Cell: ARFCN=117 PWR=-62dB MCC=460 MNC=01
如下图:
记住ARFCN后⾯的编号
然后在同样⽬录下输⼊下⾯命令把数据流导⼊本地4729端⼝1./ccch_scan-i 127.0.0.1 -a 117 # 注意这⾥的117就是上⾯的ARFCN后⾯的编号
如下图:
接下来⽤wireshark 抓包,输⼊如下命令:
1sudo wireshark -k -i lo -f 'port 4729'
然后在wireshark⾥⾯过滤gsm_sms协议数据,⾥⾯就包含了短信数据。