Seeker_伪基站高级利用技术

楼安志

2017/11/14 发布于 技术 分类

介绍 GSM、UMTS、LTE 伪基站概况,以及如何利用伪基站实现中间人攻击、仿冒手机身份、拦截短信,完成对手机和网络账户的快速入侵。

文字内容
1. 探索一切、攻破一切 [ Hacker@KCon ] 9/6/2016 3:01:52 PM 0
2. 伪基站高级利用技术 ——彻底攻破短信验证码 Seeker 探索一切、攻破一切 BD4ET [ Hacker@KCon ] 9/6/2016 3:01:54 PM 1
3. 日程 • 个人简介 • 手机通信安全概述 • LTE伪基站的实现 • GSM MITM攻击的实现 • 短信验证码的脆弱性 • 安全建议 9/6/2016 3:01:54 PM 2
4. 个人简介 • 连续创业失败的创业导师 • 伪天使投资人 • 某非知名私立大学创办人兼校长 • 业余时间在本校通信安全实验室打杂 • 个人微信:70772177 9/6/2016 3:02:42 PM 3
5. Part. 01 手机通信安全概述 9/6/2016 3:01:54 PM 4
6. 探索一切、攻破一切 [ Hacker@KCon ] 研究电信网安全漏洞的必要性 • 大量终端更换或更新补丁成本过高,漏洞长期 有效 • WIFI与3G/4G蜂窝数据互操作导致的安全风险 • 2G/3G/4G电信业务互操作带来的安全风险 • 最弱的环节在WIFI和2G • WIFI之外更有趣! 9/6/2016 3:25:26 PM 5
7. 探索一切、攻破一切 [ Hacker@KCon ] LTE手机的脆弱来自: • WIFI:包交换层面,WIFI和蜂窝数据的互操 作 • 2G:网络覆盖和电路交换层面,LTE与 2G/3G的互操作 9/6/2016 3:01:54 PM 6
8. 探索一切、攻破一切 [ Hacker@KCon ] 本次话题:攻破短信验证码 • 短信验证码广泛使用是一大隐患 • 拦截短信成为快速入侵的首选 • 而且,可以低成本实现 9/6/2016 3:01:54 PM 7
9. 探索一切、攻破一切 [ Hacker@KCon ] 短信侦听和拦截当前能做到的程度 1. 联通、电信和移动的4G,可以通过LTE伪基站来重 定向目标手机到3G和2G。 2. 重定向到3G,可以利用FemtoCell实现短信侦听和拦 截。 3. 重定向到2G CDMA,可以利用FemtoCell实现短信侦 听和拦截。 4. 重定向到2G GSM ,可实现旁路短信侦听,通过 MITM还可实现拦截,也可通过Race Condition实现 部分拦截。 9/6/2016 3:01:54 PM 8
10. 探索一切、攻破一切 [ Hacker@KCon ] 移动通信的演进 TDMA EDGE GSM PDC cdmaOne GPRS WCDMA CDMA2000 1x CDMA2000 1x EV/DO HSPA LTE 2G 9.6 - 14.4 kbps evolved 2G 64–144 kbps 3G 384 kbps - 2 Mbps evolved 3G 384 kbps - 100 Mbps LTE-A 4G >1 Gbps 9/6/2016 3:01:55 PM 9
11. 探索一切、攻破一切 [ Hacker@KCon ] LTE与2G/3G的互操作 为了提高用户使用感受,用户优选LTE网络驻留,但LTE网络覆盖范围小于2G/3G网络,因此需要进行 LTE与2G/3G网络的系统间互操作  保证用户在LTE与2G/3G网络之间移动时的数据业务连续性  由于LTE不支持CS域,因此CS业务需要回落到2G/3G网络承载 UE在LTE/2G/3G的无线网(E-UTRA/GERAN/UTRA)之间可以采用多种不同的互操作流程(目前中 国移动采用2/4G互操作策略,中国联通采用3/4G互操作策略) 空闲态 LTE网络 语音回落 空闲态移动性 小区重选 9/6/2016 3:01:54 PM 数据业务移动性 LTE与3G LTE与2G 数据业务 2G/3G网络 语音回落(CS Fall Back) 回落到3G 回落到2G 10
12. Part. 02 LTE伪基站的实现 9/6/2016 3:01:54 PM 11
13. 探索一切、攻破一切 [ Hacker@KCon ] LTE伪基站的实现 1. LTE测试环境的搭建 2. LTE RRC重定向的实现 3. LTE小区重选(Cell Reselection)流程 9/6/2016 3:01:54 PM 12
14. 探索一切、攻破一切 [ Hacker@KCon ] LTE测试环境的搭建 1. 硬件: 1) 高性能PC 2) BladeRF(或USRP B2x0)+天线 3) 测试用LTE手机 2. 软件: 1) Linux 2) OpenAirInterface 3) 手机路测软件 9/6/2016 3:01:54 PM 13
15. 探索一切、攻破一切 [ Hacker@KCon ] LTE RRC重定向(redirectedCarrierInfo) 1. redirectedCarrierInfo历史悠久,始见于3G通信 标准 2. 应用广泛,大量应用于LTE CSFB 3. 通信人所说的RRC重定向,其实就是含有 redirectedCarrierInfo 信息的RRC Connection Release 4. 也是我们本次Hack中LTE部分的重点 9/6/2016 3:01:54 PM 14
16. 探索一切、攻破一切 [ Hacker@KCon ] LTE CSFB回落方案 LTE CSFB to 2G回落方案 ① R8 RRC重定向 携带2G邻频点 测量选取回落的 2G小区,与回落 的2G小区同步 读目标小区 广播消息 完成驻留并 建立通话 发起CSFB 呼叫 LTE网络通过RIM流程提前 获取2G或3G邻区广播消息 ②R9 RRC重定向 携带2G邻频点、小区ID 及小区广播消息 RIM流程介绍 测量选取回落的 2G小区,与回落 的2G小区同步 完成驻留并 建立通话 eNodeB RIM Signaling S1 MME RIM流程:实质是在LTE与2G系统间搭建了一条 信令交互的通路,利用该功能,LTE网络可提前 获取其周围2G邻区系统广播并下发至终端。 RIM流程功能需要LTE和2G核心网、无线网网元 9/6/2016 3:01进:5行4 P相M应升级改造 E-UTRAN GERAN BSS Relaying RIM Signaling S3/Gn Gb/Iu RIM Signaling SGSN 15
17. 探索一切、攻破一切 [ Hacker@KCon ] LTE CSFB重定向的消息序列 9/6/2016 3:01:54 PM 16
18. 探索一切、攻破一切 [ Hacker@KCon ] LTE CSFB重定向的L3信令 9/6/2016 3:01:54 PM 17
19. 探索一切、攻破一切 [ Hacker@KCon ] LTE CSFB重定向的L3信令 9/6/2016 3:01:54 PM 18
20. 探索一切、攻破一切 [ Hacker@KCon ] LTE RRC重定向的利用 1. 手机(UE)重选(Cell Reselection)到我们的LTE伪 基站; 2. UE发起TAU Request,伪基站Reject之; 3. UE发起Attach Request,伪基站Reject之; 4. 伪基站随后下发RRCConnectionRelease消息,其中 含有redirectedCarrierInfo信息,指示手机重定向到 我们架设的GSM伪基站; 5. 其重点是:启动安全验证之前下发 RRCConnectionRelease。 9/6/2016 3:01:54 PM 19
21. 探索一切、攻破一切 [ Hacker@KCon ] LTE RRC重定向的代码实现 1. OAI代码中定义了R8和R9的RRCConnectionRelase, 但是没有调用; 2. 需要修改MME和eNodeB的代码,增加相应逻辑。 9/6/2016 3:01:54 PM 20
22. 探索一切、攻破一切 [ Hacker@KCon ] LTE RRC重定向攻击的L3信令流程 9/6/2016 3:01:54 PM 21
23. 探索一切、攻破一切 [ Hacker@KCon ] LTE RRC重定向实现后的终端输出 9/6/2016 3:01:54 PM 22
24. 探索一切、攻破一切 [ Hacker@KCon ] LTE小区重选(Cell Reselection)流程 Cell A 9/6/2016 3:01:54 PM Ranking Freq.1 Priority : 5 Cell A Cell B Priority Freq.2 Priority : 3 Cell C Cell D Freq.3 Priority : 1 Cell E Cell F CellRr4eseRle5ction Cell B Cell C R6 R7 OK! I see you I am here! Location RRe1g0istration 23
25. 探索一切、攻破一切 [ Hacker@KCon ] LTE小区重选(Cell Reselection)流程 Intra Frequency & Inter Frequency with equal priority Serving Cell Neighbor Cell Serving Cell Inter Frequency and Inter-RAT Neighbor Cell Threshold : 3 Neighbor Cell Priority : 5 RadioQuality : 4 Serving Cell Priority : 3 RadioQuality : 5 9/6/2016 3:01:54 PM Threshold : 2 Threshold : 2 Serving Cell PrPiorriiotyrit:y5: 5 RaRdaiodQiouQauliatylit:y5: 1 Neighbor Cell PrPiorriiotyrit:y3: 3 RaRdaiodQiouQauliatylit:y3: 1 24
26. Part. 03 GSM MITM攻击的实现 9/6/2016 3:01:54 PM 25
27. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM攻击的实现 1. GSM MITM测试环境的搭建 2. GSM 伪基站的原理 3. GSM MITM的原理 4. GSM MITM的实现 9/6/2016 3:01:54 PM 26
28. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM测试环境的搭建 1. 硬件: 1) PC 2) USRP B200mini+天线 3) Motorola C118+CP2102 4) Nokia路测手机 2. 软件: 1) Linux 2) OpenBSC 3) OsmocomBB 9/6/2016 3:01:54 PM 27
29. 探索一切、攻破一切 [ Hacker@KCon ] 低成本GSM MITM测试环境的搭建 1. 硬件: 1) PC 2) Motorola C118+CP2102 3) Nokia路测手机 2. 软件: 1) Linux 2) OpenBSC 3) OsmocomBB 9/6/2016 3:01:54 PM 28
30. 探索一切、攻破一切 [ Hacker@KCon ] GSM伪基站的原理(1) • 基站验证手机;手机不验证基站,而且盲目相信基站广播的信息。 • 手机(MS)在开机时会优先驻留(Camping)SIM卡允许的运营商 网络里的信号最强的基站,因此伪基站信号强是有意义的,但是 用户并不会经常开关机,所以即使信号不是最强也影响不大。 • 比开关机更经常发生的是Location Update,伪基站主要靠Location Update流程来吸引MS驻留。 • 伪基站工作时通常伪装成相邻基站列表里的在当前位置信号最弱 的基站以减少同频干扰,但是LAC(Location Area Code)会设置成 跟正常网络不冲突的数字范围,还会改变Cell Reselection参数。 9/6/2016 3:01:54 PM 29
31. 探索一切、攻破一切 [ Hacker@KCon ] GSM伪基站的原理(2) • MS在Location Update时,伪基站会发出Identity Request给MS, 要求MS提交IMSI,而Stingray/IMSI Catcher还会再次发出 Identity Request,要MS提交IMEI。有了IMSI和IMEI,情报机构或 执法部门就可以跟后台的黑名单进行比较,判断是否目标人物 的手机在附近出现。而我国黑产从业者的伪基站只需要拿到 IMSI,然后会向该IMSI发出广告短信或恶意欺诈短信。 • 为了少惊动目标,目的达到后,伪基站记录该IMSI,然后尽可 能快的把该MS弹回(Reject)原网络。这会在MS再次提交 Location Updating Request时完成。为了能尽快让MS再次提交 Location Updating Request,伪基站有两个办法,一是频繁改变 LAC,二是广播更短的位置更新周期,比如把T3212设为1分钟。 9/6/2016 3:01:54 PM 30
32. 探索一切、攻破一切 [ Hacker@KCon ] Location Update • 移动用户(MS)在待机(Idle)状态时,会 间歇扫描当前基站广播的相邻基站列表里 的基站,发现有满足小区重选(Cell Reselection)条件的基站就会选择该基站来 驻留,如果发现该基站和当前基站不在同 一个LA(Location Area),就会执行位置更 新(Location Update)操作。 9/6/2016 3:01:54 PM 31
33. 探索一切、攻破一切 [ Hacker@KCon ] Location Update流程(1) 1. MS在向新基站发送位置更新请求(Location Updating Request), 同时提交之前的TMSI和LAI(Location Area Identity)。 2. 新基站收到后,会需要MS的IMSI来完成在HLR里的位置登记。IMSI 通常有两种方式来获得,一种是直接发Identity Request给MS,要求 MS提交IMSI,另一种是通过网络后台来查找TMSI对应的IMSI,可能 需要根据LAI找到之前的MSC再与之联系,具体细节略。取得IMSI后 网络会更新HLR。 3. 通常情况下,Location Update流程会包含鉴权(Authentication), 新基站向MS发出鉴权请求(Authentication Request),包含着随机 生成的RAND。发送前MSC/HLR就已根据服务端存储的Ki计算出 SRES,SRES=A3(RAND,Ki)。 9/6/2016 3:01:54 PM 32
34. 探索一切、攻破一切 [ Hacker@KCon ] Location Update流程(2) 4. MS收到RAND后,传给SIM卡,SIM卡使用私钥Ki同样对 RAND执行A3加密流程,得出SRES。 5. MS将SRES以Authentication Response消息发回基站。 6. 网络比较两个SRES,如果结果相同,就鉴权通过。 7. 新基站发回Location Updating Accepted消息,同时向MS 指派新的TMSI。 8. MS发回TMSI Reallocation Complete消息。 9. Location Update流程结束。 9/6/2016 3:01:54 PM 33
35. 探索一切、攻破一切 [ Hacker@KCon ] GSM Location Update L3 信令 9/6/2016 3:01:54 PM 34
36. 探索一切、攻破一切 [ Hacker@KCon ] Mobile Terminated Services • 当网络有服务要传送的时候,通常是电话 或短信,就会启动Mobile Terminated Services流程。 9/6/2016 3:01:54 PM 35
37. 探索一切、攻破一切 [ Hacker@KCon ] Mobile Terminated SMS流程(1) 1. 网络首先通过HLR查出当前服务MS的MSC。MSC查出TMSI。 2. 网络在MS所在的Location Area的所有基站向该TMSI发出Paging Request消息。 3. MS守听PCH时发现自己的TMSI,就在RACH发出Channel Request 消息。 4. 基站接收后,分配无线资源,并在AGCH发出Immediate Assignment消息。 5. MS接收后,切换到分配给它的信道上,发出Paging Response。 6. 这时基站如果要求鉴权,就会发出Authentication Request,整 个鉴权流程跟上面Location Update的3-6步相同。 9/6/2016 3:01:54 PM 36
38. 探索一切、攻破一切 [ Hacker@KCon ] Mobile Terminated SMS流程(2) 7. 基站发出SABM,MS回应RA,完成Setup握手。 8. 基站开始传送短信数据CP-DATA,MS回应CP- ACK,直至传送完成。 9. 基站发出Channel Release指令,MS回应 Disconnect。 10.至此,流程结束。 11.如果短信长度大于140字符,会分开每次传送 140字符,每次流程同上。 9/6/2016 3:01:54 PM 37
39. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM攻击原理 • 即在运营商基站和目标手机之间插入一台 伪基站和一部攻击手机,诱导目标手机附 着到伪基站,然后攻击手机以目标手机身 份在运营商网络注册,使得目标手机的所 有进出通信都经过伪基站和攻击手机中转, 所以我们能够拦截、修改、仿冒各种通信 内容。 9/6/2016 3:01:54 PM 38
40. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM攻击的流程 1. 取得目标的手机号码(MSISDN) 2. 通过HLR Lookup查得目标的IMSI 3. 通过Paging/HLR Lookup/社工确定目标所在的蜂窝小区(Cell ID) 4. 肉身到目标附近,50m~300m 5. 打开伪基站,吸引周围手机前来附着,Reject除目标IMSI外的所 有手机 6. 目标手机附着后,启动攻击手机进行身份劫持 7. 拦截给目标手机的短信验证码,登录或重置密码后登录目标的 各个网络账户 9/6/2016 3:01:54 PM 39
41. 探索一切、攻破一切 [ Hacker@KCon ] GSM伪基站的低成本实现 • 需要的硬件: – Motorola C118或C139 x1 – CP2102 USB串口转换器 x1 – 2.5mm 音频插头和杜邦线 x1 – 以上合计成本18元。 • 需要的软件:OpenBSC • 可选的硬件:Nokia 1110/3110 启用 Net Monitor • 最后,一台电脑,运行Ubuntu 12.04或14.04。 9/6/2016 3:01:54 PM 40
42. 探索一切、攻破一切 [ Hacker@KCon ] GSM攻击手机的低成本实现 • 需要的硬件: – Motorola C118或C139 x1 – CP2102 USB串口转换器 x1 – 2.5mm 音频插头和杜邦线 x1 – 以上合计成本18元。 • 需要的软件:OsmocomBB 9/6/2016 3:01:54 PM 41
43. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM的代码实现(OpenBSC) 1. 实现伪基站的基本功能 2. 将附着手机的IMSI发给MITM攻击手机 3. 接收攻击手机的鉴权申请,并向目标手机 发起网络鉴权 4. 将从目标手机接收到的鉴权响应发回给攻 击手机 9/6/2016 3:01:54 PM 42
44. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM的代码实现(OsmocomBB) 1. 接收OpenBSC发来的IMSI 2. 以此IMSI身份向对应运营商网络发起Location Update请求 3. 如果网络要求鉴权,则将收到的鉴权请求发给 OpenBSC 4. 接收OpenBSC发回的鉴权响应,发送给运营商网络, 完成鉴权 5. 开始使用仿冒身份执行攻击向量:接收/发送短信, 拨打/接听电话。如果需要鉴权,则重复3-4流程。 9/6/2016 3:01:54 PM 43
45. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM的代码实现(OsmocomBB) 9/6/2016 3:01:54 PM 44
46. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM的代码实现(OpenBSC) 9/6/2016 3:01:54 PM 45
47. 探索一切、攻破一切 [ Hacker@KCon ] GSM MITM的实现:短信&电话 9/6/2016 3:01:54 PM 46
48. 探索一切、攻破一切 [ Hacker@KCon ] Demo 9/6/2016 3:01:54 PM 47
49. Part. 04 短信验证码的脆弱性 9/6/2016 3:01:54 PM 48
50. 探索一切、攻破一切 [ Hacker@KCon ] 短信验证码的脆弱性 1. 使用LTE重定向+伪基站中间人攻击,可彻底 攻破基于短信验证码的安全机制; 2. 这种攻击方式简单粗暴,只需一分钟即可 拿下目标手机用户的10-20个重要账户; 3. 短信验证码已完全不可信任; 4. 重要操作不可依赖短信验证码。 9/6/2016 3:20:04 PM 49
51. 探索一切、攻破一切 [ Hacker@KCon ] 凭借短信验证码可以攻破: 1. 微信、QQ、支付宝、淘宝、京东、百度、网 易。。。。。。 2. 工行、交行、建行、中行、兴业银行、中信银 行、浦发银行、招商银行、光大银行、华夏银 行。。。。。。 3. 滴滴、美团、携程、去哪儿、饿了么。。。。。 4. You name it 9/6/2016 3:01:54 PM 50
52. Part. 05 安全建议 9/6/2016 3:01:54 PM 51
53. 探索一切、攻破一切 [ Hacker@KCon ] 安全建议: 1. 有条件的机构:双因子验证 2. 没有条件的机构:与有双因子验证的机构 合作 9/6/2016 3:01:55 PM 52
54. 探索一切、攻破一切 [ Hacker@KCon ] 问答环节 9/6/2016 3:01:55 PM 53
55. THANKS [ Hacker@KCon ] 9/6/2016 3:01:54 PM 54