美文网首页信息安全
Osmocom-BB项目之实战过程

Osmocom-BB项目之实战过程

作者: 某山 | 来源:发表于2017-07-28 23:51 被阅读17次

    注意:本文只是将osmocom-bb刷进手机的RAM里,不影响手机自带固件,但是RAM中的数据一般要断电一会后才会消失,所以重新刷的时候难免有出错,所以,不要担心,多试几次就可以了。
    其次,如果嫌麻烦可以在root用户下进行

    准备工作

    环境
    请参照上一篇文章《Osmocom-BB项目之环境配置》
    在此补充一点,未安装wireshark的同学,请手动安装

    sudo apt-get install wireshark
    

    硬件
    一根2.5mm的耳机线,一个usb转ttl的串口模块,一台C118手机,三根杜邦线
    耳机的线怎么区分怎么接,我们也是搞了好久,被网上的部分混子写手搞得一踏糊涂,但是在浩哥大腿的帮助下,找到一个简单的办法,用万用表测耳机头的不同位置(一般是四口的,分别代表左右声道/Mic/GND)和耳机内部不同颜色线的连通,若测得电阻为零,说明走的是一路,然后确定GND后,左右声道分别对应RXD和TXD即可,只需试验两次。

    第一部分:刷机

    上一篇我们已经把osmocom-bb的环境编译好了,在硬件测试无误的情况下,我们开始往C118的RAM中写入layer1.compalram.bin这个文件,千万不要和刷入ROM的搞错了,咱么这个文件比较大些,大致有55.8k,之前犯了这个错误,却怎么都找不到问题所在,好了,开始正题。

    第一步

    首先我们把手机用串口接到虚拟机上,怎么做呢?先在宿主机上开启vmare usb服务

    VMWARE USB SERVICE.jpg

    然后在虚拟机关机情况下将usb的三个选项都选上即可。

    虚拟机usb选项.jpg

    第二步

    上面做好后,我们先改变串口的读写权限

    sudo chmod 777 /dev/ttyUSB0   //此处的USB0可能是USB1或其他,你看下加载到哪了
    

    再进入osmocom这个目录

     cd 你的初始文件夹目录/osmocom-bb/src/host/osmocon
    

    然后执行下面命令

    ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin
    
    刷入成功.png

    刷机失败很正常,首先分析哪部分出的问题,若把前面我提到应该注意的地方都做到了,那就在此多次轻按开机键,并注意数据变化,可以发现,这个刷机过程和tcp三次握手有点类似,双方通信时有很多小的数据交互,多试几次就可以刷进去了。

    当你的手机界面出现Layer 1和osmocom-bb时就说明刷机成功了。

    第二部分:扫描

    注意:在未修改配置文件时,会有错误,即扫不出可监听的信道,所以我们先尝试不修改,再提供修改的方法,两者对比,大家会有比较直观的感受

    第一步:初步扫描

    上一个终端不要关闭,再新建一个终端,切换到osmocom-bb/src/host/layer23/src/misc/目录下

    cd 你的文件目录(你最开始创建的目录)/osmocom-bb/src/host/layer23/src/misc/
    

    执行以下命令

    sudo ./cell_log –O       //这是大写的O
    

    则会出现如下结果:


    1501254410.png

    (我已经修改过了,所以只能截部分的图,和你们未修改时比较类似,就是扫不到附近的信道如果能扫到,就不用改了,如果用gnu-arm-build.2.sh的应该不会出现这种情况)
    出现上述未扫到信道的同学请参照第二步,修改配置文件

    第二步:修改配置文件

    在osmocom-bb下修改以下文件

        vi osmocom-bb/src/target/firmware/board/compal/highram.lds
    
        vi osmocom-bb/src/target/firmware/board/compal/ram.lds
    
        vi osmocom-bb/src/target/firmware/board/compal_e88/flash.lds
    
        vi osmocom-bb/src/target/firmware/board/compal_e88/loader.lds
    
        vi osmocom-bb/src/target/firmware/board/mediatek/ram.lds
    

    找到里面的这一串代码
    KEEP((SORT(.ctors)))
    在下面加入

    KEEP(*(SORT(.init_array)))

    修改完并返回到osmocom-bb/src下,重新编译:

    sudo make
    

    或者用这种编译方式:

    sudo make -e CROSS_TOOL_PREFIX=arm-none-eabi-
    

    在我当前的实验环境,两者都可以实现,大家可以都尝试一下

    第三部分:正式扫描并侦听

    第一步:扫描

    做法和第二部分的第一步:初步扫描完全一致,在此不细说,只提供成功后的截图,可以和上面对比


    扫描到27信道.png

    有看到27信道被探测到,后面显示属于中国移动。

    第二步:侦听

    继续在当前的终端中输入

    sudo ./ccch_scan -i 127.0.0.1 -a  你扫到的信道
    
    

    而后新打开一个终端,输入以下命令,打开wireshark侦听信道

    sudo wireshark -k -i lo -f 'port 4729'
    

    之后会出现如下结果:


    侦听.png

    如上图所示,手机未改滤波器,所以只能侦听到下行的信号,但由于是晚上11多了,没有截获到短信。

    第三步:筛选和分析

    在上面所有步骤做完后,在wireshark的filter一栏填入gsm_sms,筛选短信

    筛选.png

    之后,我们在wireshark中分析包内信息,在此我附上中午测试的截图:

    短信内容.jpg

    本文到此结束,大家赶快尝试下。

    相关文章

      网友评论

        本文标题:Osmocom-BB项目之实战过程

        本文链接:https://www.haomeiwen.com/subject/ezrflxtx.html