引言

  之前写过一篇局域网与移动蜂窝网的文章(地址:传送门),但限于篇幅没有讲的很详细。我们学习网络安全,第一个接触的不是编程,而是计算机网络相关的知识。只有了解了网络结构,才能更好的进行渗透测试。我们学的大部分内容,都是在局域网内进行的,像ARP攻击、VPN穿透、MITM攻击等等。
  现在移动设备已经十分普及,上至70岁大爷、下至13岁初中生,几乎是人手一部手机。那么由于手机的移动性特点,使用的是移动蜂窝网络,这么庞大数量的设备,如何进行渗透测试呢。

数据上网与WiFi上网

  上一篇(传送门)有提到以太网和WiFi两者的原理。基本上二者无太大差异,WiFi几乎可以看作是去掉了网线的以太网。数据帧、mac地址、arp协议等等全都一样,所以学习局域网并不在乎是以太网还是WiFi。
  移动蜂窝网就不一样了,拿上一篇的mac地址举例。我们都知道,电脑上的每一块网卡都有一个mac地址,有了这个地址就能利用arp协议解析成IP,从而进行通信。那么手机4G通信是否也如此呢?答案是否定的:4G通信没有mac地址。
  mac地址是802协议簇里的定义,移动通信里主要是3GPP协议簇。手机设备在使用移动数据网络时主要靠imsi码(注意是imsi码,不是imei码)作为标识,不靠mac地址。其中imsi码通常由sim卡决定,安卓机可用*#*#4636#*#*代码查看(貌似很多机型都已经关闭了该命令)。 这里需要注意的是,imsi码是相对sim卡而言的,不是手机。而手机对应的是IMEI码(可以通过*#06#命令查看)。入网成功后imsi就会被替换临时性的tmsi码以防止被追踪。现在sim卡有三类,基本上都在向Nano型转移,如图:

  以4G LTE为例,它对用户设备的IP分配是由PGW(PDN网关,可以简单理解为把用3GPP协议的设备接入到互联网的一个中介,因为核心网主要是tcp/ip协议栈)完成的,下图就是PGW对UE进行动态ipv4分配的一个流程图,箭头处可以看出UE在启动后的首次附着请求(请求网络接入)时,会把自己的imsi通过一系列中间环节传输到PGW,由此可见PGW通过是imsi分配ip等网络参数给UE,并不使用mac地址。

  网卡是这样定义的:网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。MAC(Media Access Control Address)地址 ,用来唯一的表示网卡。
  可以看出,wifi上网和数据上网,有明显的差别:网卡不一样;mac地址不一样;通信协议不一样。
  上一篇我们说了,TCP/IP协议栈是一个四层的体系结构,应用层、传输层、网络层和网络接口层。在课本上是把网络接口层分成了数据链路层和物理层。WiFi本质上在底层走的还是以太网(Ethernet)协议,帧封装都和有线一样。所以手机通过路由器连接WiFi上网, 在链路层实际上依旧走的是以太网。基本可以看作手机连接了一根网线到路由器,所以通信媒介依然可以看作传统意义的网卡接入。当然区别也是有的:以太网是用CSMA/CD协议来解决冲突问题,而WiFi是CSMA/CA协议。
  4G上网使用的是蜂窝网络,信号以电磁波的形式传播(当然WiFi也是电磁波传递),发送到基站,基站再通过交换机转发,并通知目标设备,回传结果。其上网媒介用得是无线通信专用的无线基带通信模块,而非普通的网卡。
  Wifi上网可以看做是网卡设备上网,仍然遵循IEEE 802,链路层走的是以太网,支持ARP/RARP,同时在链路层采用以太网协议进行帧数据封装,前面分别是48位目标MAC地址跟源MAC地址。
  4G流量上网的时候,链路层走的是PPP协议,该协议下没有MAC地址的概念,相对应的每个无线通信模块都有imsi码,来标识每一个无线通信模块。

蜂窝网络

  蜂窝网络(英语:Cellular network),又称移动网络(mobile network),是一种移动通信硬件架构,由于构成网络覆盖的各通信基站的信号覆盖呈六边形,从而使整个网络像一个蜂窝而得名。
  注意,前面我们一直谈的是4G,其实蜂窝网络又分为模拟蜂窝网络数字蜂窝网络。在3G以前都是模拟蜂窝网络。另外蜂窝网络底层是PPP协议 (Point-to-Point Protocol)协议。顾名思义,PPP协议就是为了在同等单元之间传输数据包而设计的链路层协议。
拿4G LTE举例,其协议簇如下图:

可以看到,与我们熟知的WiFi是完全不同的。鉴权和连接都比WiFi复杂很多。这些协议就不具体全部展开了,大家感兴趣按照第三列的Description去找它的官方文档看看。再看下LTE实体部分,也就是需要硬件的部分:

如果发生信道切换,则引发IRAT,LTE也可以和2G/3G发生IRAT。如图,这是切换2G:

下图是切换3G:

WiFi联盟

  WiFi是802.11标准规定的。WiFi本身并不是一个协议,而是一些列协议和标准的总称,由WiFi联盟IEEE共同维护和开发,但是IEEE并不仅仅只负责WiFi,还有很多其它的工作。IEEE 和 Wi-Fi 联盟,我用一张图来说明他们的发展轨迹:

  Wi-Fi 联盟更注重 Wi-Fi 设备的合规性和互操作性认证。 而且它还重点致力于 Wi-Fi 功能与技术的市场推广。IEEE更多的是详细和具体的协议的制定。
  无论WiFi标准体系有多庞大,蜂窝网络又有多复杂,他俩定义的都是网络接口层的内容(即数据链路层和物理层),哪怕它们包含成百上千套方案、协议、规范和标准,也都是在网络接口层,并不涉及网络层及网络层以上的内容。因此只要不是针对局域网的攻击,都可以扩展到移动蜂窝网的范围。
  我们之前的攻击都是针对局域网的,也就是通过以太网或者WiFi上网的设备。那么既然移动蜂窝网底层与WiFi大不相同,是不是就安全了呢,之前的攻击手段是否没用呢,下面举两个例子:

伪基站

  早些年的伪基站群发诈骗短信就是,利用2G通信的协议漏洞进行攻击的。很多这样的报道:

这里不得不说一下,我们的操作必须在合法的范围内,如图:

  伪基站一般是由支持特定频率的信号发射装置、短信发射器(包括群发器),构成的特定装置,它利用移动信令监测系统监测移动通讯过程中的各种信令过程,通过搜取以其为中心、一定半径范围内的手机信息,伪装成运营商的基站,伪造任何手机号码向他人手机(伪基站只能获得手机的IMSI,获取不了被侵扰人的手机号码)强行发送特定目的的短信,比如广告、诈骗、甚至政治敏感的短信。
  换言之,“伪基站”是一种无线电通信设备,能够搜取以其为中心、一定半径范围内的移动电话信息,并任意冒用他人手机号码强行向用户手机发送诈骗、推销等垃圾短信。与正规的运营商使用的小型基站相比,伪基站的射频信号、通信协议等工作原理是一样的。因为只有这样才能和手机通信,一般是在手机开机登录网络时被伪基站劫获,实现通信。不过一般正常情况我们没有那么频繁的开关机,所以攻击者会先使用干扰信号将我们手机断开与正常基站的连接,然后手机再次搜索时就会被伪基站获取。
  也就是说伪基站运行时,用户手机信号无法连接到公用电信网络,会影响手机用户的正常使用。当然它最可怕之处还是在于可以冒用任意号码发送短信,这样攻击者就可以伪装成我们熟悉的机构发送短信,这样我们上当的概率大大增加。

短信嗅探

  你信吗?不需要你点什么钓鱼链接、也不需要你登录什么网站、也不需要你去ATM机干什么、也不需要给你打诈骗电话、也不需要你说出银行卡密码…总之不需要你的任何配合,就可以把你存款全部转走,你信吗?

  这项技术称为“GSM劫持+短信嗅探”。作案手法就是通过改造摩托罗拉118的手机,把它变成一个接收天线,再配合特定的U盘系统,打开电脑就可以模仿基站信号,拦截、嗅取探测周围手机短信,相当于一个简单的拼接过程。具体来说:硬件上,只需要购买一个不到30元钱的摩托罗拉C118手机,用几个常用电子元件改装便可;而软件上,将修改过的OsmocomBB编译进摩托罗拉C118手机里面,就可以为手机添加嗅探功能。
  其原理就是OsmocomBB是从硬件层到应用层彻彻底底开源的GSM协议实现项目。因为是开源,黑产从业者可以轻而易举获得该代码,甚至不必大量去学习通信相关专业知识,就能实现并模拟GSM协议,按照自己的需求随意更改,添加功能。
  除了摩托罗拉C118,还有摩托罗拉、索尼、爱立信的多个机型,均可被用于该技术。但是,攻击者大多选择摩托罗拉C118进行改造,其原因就是摩托罗拉C118兼容性最好,价格便宜,所以也就成为了最合适的手机。
  整个过程原理:利用平台验证机制漏洞+GSM协议漏洞。因为现在很多平台登录、改密、转账等敏感操作,都需要通过向操作者发送手机短信验证码来进行确认。攻击者利用这一机制,伪装成受害者登陆进行转账,然后截获受害者的短信验证码,这样就成功实施攻击了。

该攻击实施需要3个条件:知道受害者的手机号,同时必须在受害者附近(在改造的C118手机的嗅探范围内,一般几百米左右)、对方处于2G信号状态。

攻击设备大概是这样子的,很简单:

  有人可能说,现在都是4G时代,马上进入5G了,谁还用2G啊,不用担心。但是,有时我们信号很差时,就会切换至2G/3G,上面也有讲,如图,这是我在某地下商场卫生间时,由于信号不佳,从4G降频至2G:

因此攻击者就利用这一特点,通过特殊设备压制或者信号质量不佳导致信号降频。也就是说,虽然攻击者不能获取你4G信号的手机短信,但是通过设备制造干扰来压制手机信号,迫使手机从4G降频至2G,从而实施攻击。
  C118做成的嗅探器类似于伪基站,可以利用移动信令监测系统监测移动通讯过程中的各种信令过程,获得手机用户当前的位置信息。按照通信协议世界的“游戏规则”,谁来先跟你“握手”,设备便会优先作出回应。伪基站启动后就会干扰和屏蔽一定范围内的运营商信号,之后则会搜索出附近的手机号,主动握手,并将短信发送到这些号码上。屏蔽运营商的信号可以持续10秒到20秒,短信推送完成后,对方手机才能重新搜索到信号。
  2G网络其架构本身就是开源的,其使用的GSM协议也都是明文传输。因为并没有加密,所以在传输的过程中就可以嗅探到。
  不过听起来很吓人的“GSM短信嗅探技术”并非没有自己的软肋。本文前半部分也讲到了一点,GSM短信嗅探技术的短板,主要有两方面,“一方面是摩托罗拉C118发射功率有限,黑产从业者只有在‘猎物’附近时才能实现嗅探,距离被严重限制;另一方面是这种方法获取的信息比较单一,只能获取短信验证码,所以只能做与短信验证码相关的事情。”

短信验证码

  当用户忘记密码的时候,可以通过手机号发送验证码的方式找回密码。这一切对用户来说似乎很方便,也很安全。可是不法分子恰恰利用这种登录方式,选择在夜深人静、人们防范意识比较低的时候,在自己的手机或电脑上输入用户的手机号,再用截获的动态验证码登录用户的APP,达到盗窃用户资金的目的。
  面对攻击者背后庞大的黑产链,短信验证码是否已经显得捉襟见肘了呢?虽然在嗅探的情景下,短信验证码并不安全,但是就目前来说,短信验证码仍是一个切实可行的方案。如果将短信验证码换成其他的验证方式,无形之中肯定会加大使用成本。安全是相对的,就看愿意付出多大的代价。与便捷性相平衡,短信验证码相对合适。安全本身就是提升攻防双方的成本,并没有绝对的安全。
  攻击者在截获短信验证码后,能够假冒受害者身份,成功通过移动应用、网站服务提供商的身份验证安全机制,实施信用卡盗刷等网络犯罪,给用户带来经济损失。
  这种短信嗅探利用的漏洞,是协议级别的漏洞。所以该缺陷修复难度大。GSM网络使用单向鉴权技术,且短信内容以明文形式传输,缺陷是由GSM设计造成,且GSM网络覆盖范围广,因此修复难度大、成本高。攻击过程中,受害者的手机信号被劫持,攻击者假冒受害者身份接入通信网络,受害者一般难以觉察。

总结

就目前来说,大部分2G频段都已陆续关停,手机基本上全面处于3G/4G时代,并且正在向5G跨越。4G网络已经非常普及,而且安全性非常高,所以大部分情况不会受到攻击,就算攻击也需要受害人配合,所以现在移动蜂窝网还是很安全的。为了提高安全性,可以开通VoLTE服务,这样通话和短信都是走的4G通道,相对安全很多。查看是否开通也很简单,注意手机屏幕上方是不是有“HD”的字样,有的话就是开通了VoLTE的服务。
笔者公众号:极客随想。主要分享一些网络安全,黑客攻防,渗透测试以及日常操作系统使用技巧相关的知识。欢迎关注。

局域网WiFi与移动蜂窝网4G第二弹——攻击和防御相关推荐

  1. ART-PI调试记录----重力感应无线智能小车第二弹之OneNet+板载wifi控制电机转动

    ART-PI-重力感应无线智能小车第二弹-----OneNet+板载wifi控制电机转动 雷德斯 and枕头们,好久不见,大家是不是更优秀了呢,哈哈,工作太忙啦,夜里肝一篇,大家久等啦,话不多说,来, ...

  2. 硬件产品经理 硬件职业理解 第二弹

    职业规划 第二弹  上一篇文章的时候是我做了五年研发 包括嵌入式软件 硬件 项目管理的一个职业发展总结,现在我转做了产品经理,接下来总结一下产品经理入门的一些初步的思考 硬件工程师 技术转产品经理 首 ...

  3. 开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系

    小蚂蚁说: 数据.消息.微服务是蚂蚁金服自主研发的金融级分布式中间件 SOFA (Scalable Open Financial Architecture)的三大方向. 一个多月前,蚂蚁金服开源了 S ...

  4. 李飞飞AI100报告第二弹,提出14大AI机遇与挑战,82页pdf

    来源:Stanford 编辑:好困 David 「AI100」报告第二弹! 本次报告评估了2016年至2021年间人工智能的发展,涵盖14大问题,探讨了人工智能发展的关键领域. 主题是「人工智能在日常 ...

  5. MaxCompute - ODPS重装上阵 第二弹 - 新的基本数据类型与内建函数

    MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务. MaxCompute除了持续优化性能外,也致力于提 ...

  6. 培训第二弹:全国大学生智能汽车竞赛百度竞速组预告

    §01 竞赛培训 3月12日本周六晚7点,百度飞桨B站直播间,第十七届全国大学生智能汽车竞赛完全模型组竞速赛第二次线上培训正式开讲! ▲ 图1 卓老师前来百度科技园"检查作业" ▲ ...

  7. 智能车百度赛道培训第二弹-算法篇

    智能车百度赛道培训第二弹--算法篇来袭!接住了吗?往下看!

  8. Linux入门第二弹!Xshell、Xftp、tomcat的Linux版本、双X的教学资源!

    Linux入门第二弹!Xshell.Xftp.tomcat的Linux版本.双X的教学资源! 我们可以通过Xshell和Xftp进行简单的,远程连接Linux系统.并且可以使用图形化界面快捷的进行文件 ...

  9. 微信小程序开发第二弹

    1.关于工具 微信官方提供了开发者工具,集成了开发调试.代码编辑及程序发布等功能.具体的文档在这里:微信官方文档,文档里面包含了该工具的基本操作,接下来就是下载工具了. 2.下载完工具之后,我们就可以 ...

最新文章

  1. 智能会议白板系统每日开发记录
  2. C# 子类实例化基类 基类使用不了子类的方法_C#学习笔记09--构造方法/析构方法/继承/多态/封装...
  3. ​【Python】Python中好用的命令行参数解析模块
  4. harbor安装_Harbor任意管理员注册漏洞(CVE-2019-1609) (附:批量利用poc)
  5. 像目标主机一样的tcp流重组
  6. java 企业微信对接_Java对接企业微信
  7. CAJ文件转PDF的简单方法
  8. 【C语言】如何得出各种数据类型所占内存空间
  9. newinstance()和new有什么区别?
  10. 幻数浅析(Magic Number)
  11. 网上图书订阅系统之(招标书,投标书)
  12. 二、8.根据一个收件人列表,输出姓名:xxx 电话:xxx 收货地址:xxx姓名:xxx 电话:xxx 收货地址:xxx的格式.
  13. D. 互联网架构模板
  14. 推荐几个学术工具软件给大家
  15. 案例3-1-1 构建旁挂二层组网隧道转发WLAN
  16. 在Mac环境下系统本身就带有的Apache(阿帕奇服务器)和PHP都预装好了,且合并完成。如果不知道请查看MAC 下配置Apache和PHP
  17. puppy linux wifi6,Puppy Linux衍生版Fatdog64 720发布,搭载Linux 4.14与UEFI安装程序
  18. 百度地图WebAPI
  19. C# 实现寻峰算法的简单优化(包含边峰,最小峰值,峰距)
  20. 【初学者OpenMV】 02 OpenMV中文手册及烧录和下载

热门文章

  1. AOJ 0531:Paint Color(二维离散+imos)
  2. 建材材料拓客的10个经典方法
  3. Java直接杀死线程方法_如何杀死一个线程?
  4. seekg()/seekp()与tellg()/tellp()的用法详解
  5. TADT:Target-Aware Deep Tracking
  6. 面向对象设计5大原则
  7. IOS微信小程序页面滚动导致滚动穿透的解决办法
  8. android 代码打开nfc,android-NFC标签扫描仅触发我的应用程序启动
  9. 详解扫雷游戏(C语言)
  10. UE4 网络同步Replicate 汇总