最近在学习无线安全方面的知识,了解到了 Osmocom-BB , 拿来研究下 . 以下知识,仅用作研究探讨,请勿用作非法用途 !!!
作者:ssrp825
理论: osmocom-bb 国外的一个开源项目, 针对 GSM 协议, 移动 联通 的 2G网络用的都是 GSM, (电信不是) , 所以此开源项目可以嗅探 短信,或者搭配 openBts 搭建小型短信基站来发短信 ARFCN: 信号通道的意思,嗅探短信也要知道此信号道
参考: http://bb.osmocom.org/trac/#WelcometotheOsmocomBBproject
软件分享(百度网盘): 下面所需 的文件如果没有提供下载链接,都在此分享的百度网盘中查找 :
kail操作系统镜像链接:https://pan.baidu.com/s/1kMImEIpIhmjZgAbLdPRcvg 提取码:8qij
构建工具链需要的依赖链接:https://pan.baidu.com/s/1-1Zdo9iDiCucx2Cfm2doFQ 提取码:1xz0
libosmocore依赖下载链接:https://pan.baidu.com/s/1wyv0VKyQAmfw1UNgScXgzw 提取码:5tjy
编译好的虚拟机镜像: 可以拿过来直接使用: 链接:https://pan.baidu.com/s/1t9pUEwyFibWByi7S1-MPpQ 提取码请联系作者微信:ssrp825
准备:
硬件准备: 一切都来自于咸鱼 or 淘宝
硬件准备: 一切都来自于咸鱼 or 淘宝
1 Moto C188 手机一部 $12 RMB
2 手机配套耳机线一根 $8 RMB
3 杜邦线若干
4 CP2102模块一个 (USB to TTL) $15 RMB
环境 : 当前时间 2019.6.30 , 装了最新的 kail linux 系统 (无关操作系统的位数,无关是否虚拟机,都可以),系统镜像上面的百度网盘里面有分享
准备开干:
步骤一 : 编译osmocombb 需要构建的自己的工具链也就是自己的编译环境 参考: http://osmocom.org/projects/baseband/wiki/GnuArmToolchain
下载构建文件,以上参考文件或者百度网盘
1
$ chmod +x gnu-arm-build.3.sh ##赋予权限
1
2
$ 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 zlibc zlib1g-dev libmpfr4 libmpc-dev
##安装依赖,如果提示找不到,请更新kail源 (如何更新源,可以自己百度)
1
$ mkdir build install src ##新建目录
1
2
3
4
$ cd src/ ##下载构建需要的软件
$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
$ wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
$ cd …
$ ./gnu-arm-build.3.sh ##执行构建sh
I will build an arm-none-eabi cross-compiler:
Prefix: /install
Sources: /src
Build files: /build
Press ^C now if you do NOT want to do this. ## 提示到这里, ENTER (进行回车)
1
export PATH=$PATH:/install/bin ##构建成功配置环境变量, kail 再如下文件下更改: ##leafpad /etc/apt/sources.list
至此步骤一 完成, 中间可能会遇到: 安装依赖提示依赖其他包,那么缺少上面我们就安装上面 , 还有上面 makefile 138 或者上面错误,百度一搜就会有结果,原因 本机gcc一般版本比较高,osmocombb用的gcc是 gcc-4.8.2 ,解决方案修改 gnu-arm-build.3.sh 中关于gcc版本的地方
1
apt-get install s o f t n a m e = {softname}= softname={version} ## 安装软件 以上格式 ${}内容自行替换
步骤二 :
对于osmocomBB,和其他几个osmocom项目一样,您还需要libosmocore。注意:虽然从git存储库获取osmocom-bb时包含libosmocore,但您必须单独安装它。libosmocore子树仅用于编译libosmocore的嵌入式ARM版本。
这里我们需要安装: libosmocore 安装参考: https://osmocom.org/projects/libosmocore/wiki/Libosmocore
实际步骤:
sudo apt-get install build-essential libtool libtalloc-dev shtool autoconf automake git-core pkg-config make gcc ##安装依赖
sudo apt-get install libpcsclite-dev (可选)
1
git clone git://git.osmocom.org/libosmocore.git ##下载源
cd libosmocore/ ##以下命令按照顺序执行, 注意: 执行前,要去安装gnutls依赖,否则会出问题
autoreconf -i
./configure
make
sudo make install
sudo ldconfig -i
cd …
注意: 如果按照上述步骤安装会遇到问题:
问题1:
configure: error: Package requirements (gnutls >= 2.12.0) were not met:
No package ‘gnutls’ found
然后我们去找 gnutls https://www.gnutls.org/download.html 他提示需要安装许多 必须依赖的库 和 可选的库
下载链接:https://pan.baidu.com/s/1wyv0VKyQAmfw1UNgScXgzw 提取码:5tjy
1
下载上面的依赖: 然后各种解压 ./configure make make install
步骤三 :
终于到了我们 环境准备的最后一步了 编译 osmocombb 参考 : http://osmocom.org/projects/baseband/wiki/Software_Getting_Started
sudo apt install libtool shtool automake autoconf git-core pkg-config make gcc ## 安装依赖
git clone git://git.osmocom.org/osmocom-bb.git ##获取源
cd osmocom-bb
git pull --rebase ##更到最新
如果一些顺利,那么环境的准备就大功告成了
最后: 使用 这里我们就可以开始嗅探了,如下需要打开四个终端窗口
cd /home/os/osmocom-bb/src/host/osmocon/ ## 进入此目录, os是我自己新建的文件夹
./osmocon -m c123 -p /dev/ttyUSB0 …/…/target/firmware/board/compal_e88/layer1.compalram.bin ## 执行刷机命令
出现如下一般为成功 (窗口不可关闭) 这个时候手机屏幕为: Layer1 osmocom bb
cd /home/os/osmocom-bb/src/host/layer23/src/misc/
./cell_log -O ## 显示如下 注意这里的 ARFCN 信号道
cd /home/os/osmocom-bb/src/host/layer23/src/misc/
./ccch_scan -i 127.0.0.1 -a ${ARFCN} ##最后一个参数替换为上面的获取
wireshark -k -i lo -f ‘port 4729’ ## 这里的 lo 是网卡 可以用 ifconfig 查看自己的 端口固定的4729