那我今天给大家演讲的一个题目是反间谍计划自建基站与数据修断方法其实之前呢它是一个其他的名字就是如何使用基站系统对IoT设备进行这个漏洞测试不过这个大会给我搞了一个比较好听的名字反正内容都差不多OK 简单介绍我自己我这边是这个百多万斤实验室的这个高级安全经营员我之前我现在研究领域是IoT安全还有一些我最近做一些无人车的工房多次破解了很多硬件设备那么我来看一下今天我们的一个大纲首先是我们这很多联网IoT设备也就是说比方说Pose基压比方说自动收获基压这些设备测试目的和一些测试方法然后是如何实现自动附着也就是说如何让这些设备自动地连入到我们的这个基站系统然后对它的流量进行中间人工机然后还会给大家讲一下如何搭建一个IoT也就是4G的机站系统最后会介绍一下漏洞实力几个漏洞实力还有一些其他的包括通过运用上的内网进行测试的一些方法一些测试的目的和守则我觉得目的这里头比较重要一点是通过我们这个搭建机站测试系统对我们的IoT设备进行辅助的测试就是说我通过这一套系统的话辅助我去挖IoT设备的洞其他的比方说还要了解一下这块的安全风险之类的但是这一块有一个测试手则也就是说我们在测试的时候严格遵循相关的法律也就是说比方说右面这张图是一个屏蔽盒因为这个根据国家相关法律如果去发送大公率的无线电波干扰其他的设备其实不允许它所以说我们建议是在这种屏蔽盒或者在一些屏蔽地下室中去做相关的测试我们的测试目的其实就是控制流量控制流量包含什么呢比方说我需要控制我的共享单车或者控制我的自动收获机或者说控制我的有联网有SIM卡的IoT设备比方说我的车机系统的流量主要包含三方面一个是获取流量也就是获取它云端传了什么内容还有一个是修改流量修改的话比方说我做一些中间人工机去把一些配置信息给它修改去访问当我去控制这个IP链路的时候其实我可以去访问IoT设备的一些端口而且端口是有风险的我们来看一下这一颗具体的一些针对这些IoT设备的漏洞发掘方法第一点是获取云端的接口这种发掘方法也就是说我如果能获取到比方说我的Pose机和云端的一些通讯我就能获取到它云端的IP它的域名它的一些接口那么就会转变成为基于这种外部工坊的一些安全测试这是其中一种方法第二个是获取它的通讯数据获取一些敏感信息比方说它传输了一些Token它的一些Password的通过这种我们可以在我们的Python或者说我的笔记本电脑重新去利用这些人工信息去登陆或者说修改数据修改数据指的是比方说它是很多设备都有自动升级功能自动升级的请求给它截断同时我去对它的流量进行修改那么我可以引导它进行升级一个恶意的固件还有一种方式是访问今天端口就是我刚才说的很多IoT设备它其实是去开了一些端口的比方说一些车机系统当我去获取这个IP链路的时候我就可以去访问这些端口了OK有可能分为两种测试需求场景一种是攻击前也就是说获取它予云端经通讯的数据这种的话不需要我们的Client去任意的Clent去自动连入到我的系统之中只需要我的Clent能够最开始一次连入就OK了这种方法的实现使用一些JSM和LTE的测试激战就OK了还有一种是需要在攻击中也就是说需要我的Clent去自动地去连入到我的激战系统变血去对它进行流量的修改相关的这种的话我们需要搭建我的JSM攻击激战激战搭建完成之后我如何去让我的设备去自动地连入了激战呢通过修改一些小区重远参数后续会讲去实现这种场景我们先来看一下我如何去实现攻击中的激战也就是说让我的Clent让我的Pose激自动地无条件连入到我的测试激战中对它的流量进行各种看啊修改之类的这个是腾讯的攻击码码车机的一个case他们就用了USRP这种软件不停电设备还有OpenBTS这种开源激战系统他们去寻找到了一个浏览器的内存错误漏洞同时他把浏览器修改了让这个漏洞在我浏览网易的时候把RTEP内容给它修改了加入了一些恶意的RTEP所以说我浏览网易的时候这个浏览器漏洞就可以出发了实现了最后的RTEP就是远程不定之行我们来看一下我刚才说的234G它具体在于什么呢2G就是GSM其实GSM是现在仍然有问题的3G 4G就是RTEP以后就5G了那其实这个比方说在2G时代我们的传输速度非常有限比方说大概是5K每秒4G的话可以很好地去看一下在线的高进视频了那么其实时代在进步很多技术在升级234G它其实在最初的阶段GSM在设计之处没有考到一些安全问题它其实是有严重的安全风险的有人会说了那么现在很多比方说中国联通已经2G退网了这种问题会不复存在其实不是的问题的原因不是在运用上而是在于设备设备你虽然说运用上已经没有2G网络了但是你的设备还是会支持这种GSMGSM制式的所以说这种安全问题会长期地存在下去我们来具体看一下GSM的一些安全问题到底是什么在设计之处GSM使用了单向认证也就是说手机或者client无法去验证GSM的真稳所以说产生了安全问题然后伪机战营而生了我们有可能经常会收到一些恶意的短信比方说这里头有一个你中奖了一些链那个就是伪机战给你发了其实伪机战给你做了什么呢只是给你发了一条内容和号码都可以自定义的短信它没有别的了我们来看见伪机战的内部它使用一些收发板右侧蓝色的就是一个无线收发板在一些放大器它软件部分使用的OpenPTS也就是一个开源的GSM机站系统通过软件模拟再加上收发设备实现了机站系统那么伪战都做了什么呢当你去靠近伪机战的时候它会把你吸入到它的机站并且给你发一条短信然后再把你踢出来它只做了这件事但是我们为什么要讲这个呢它有点不一样的是它会把你吸进来它怎么办吸进来我们通过对它的软件和硬件进行研究后发现它改了一个参数是非常重要的它把小区从远参数C1 C2值给它进行了修改修改成很大的值它有可能C1 C2就是一个偏质数或者说它就是一个如果C1 C2值很大就说明这个机站是非常的火热的然后就非常能够有吸引力会把周围的全吸过来也就是说克兰呢会优先去选择C1 C2值很大的这个机站去连接所以说我们通过这个伪战进行借鉴当然我们不可以乱发短信干扰它们而且这个我只需要实现它的把克兰成吸入的这个能力就OK了同时我需要做伪战没有做的一件事是控制它的GP2S所以说我们怎么去做呢使用这种软件无线电设备就可以实现我们简单介绍软件无线电设备是一种可以任意收发无线电池波的一个设备然后我们的软件部分使用开源的GSM BTS软件有可能我推荐YET BTS因为它非常的容易安装相比去它同时它是可视化的有外部界面硬件我们推荐用Blade RF因为它的频频非常的准频率非常准所以我选完之后我还是刚才那个问题我如何让我的比如说我的Pose机或者说因为现在很多Pose机或者说供养单车其实都是用的2G当然用4G也没有关系你给它强制这样的2G就OK了那么如何去实现让它自动吸到我的机架里我们发现在这些机架软件之中我去设置CR参数是不奏效的所以说我们最后我们看右上角这个图我们把原码中把C2值给它固化了就是说硬边码成最大值其他的我们需要配置一些其他参数MIC和MNC就是国家代码和运商代码比方说中国联通是46001把这些代码写成与当前SIM卡一样的代码一样的配置参数还有选取一个交入的评点因为时间关系这个评点的选择我也不说了所以说通过这些实现之后我们看一下左下角这个图是一个工程测试机工程测试机右上角显示CR值是2001通常CR值是67值那么现在CR值已经打到一个报表的状态所以说我们的假机架可以就是把周围的所有的2G的设备都会吸纳进来OK其他一些配置就是说在这个Web机面进行配置的一些详细情况大家大概看一下比方说如何配置MIC和MNC如何去选择评点或者说如何去关闭访网墙和添加IP转发这样的话我们才能够使用WireShark或者说对数据包进行秀探使用Billware对数据包进行MITM之类的当然还有一个IMSI也就是SIM卡的编号这层点型GNAR所有设备的IMSI通过这种方式我们就可以把设备吸入进去了但是我在这里说我们最好要最小化影响这套理论已经实践过了它是具有真实攻击场景的它会把你的设备吸进来然后控制你的网络流量但是这种是严重影响周围设备的是严谨直接测试的我们可以在我们的屏蔽盒测试地下的屏蔽室测试然后我们现在外数具备了我们把我们的2G基站搭建好并且具有了很强的CA32值并且把相关的配置都配置好了拥有了控制这个设备的GPRS流量的能力所以说我们该怎么去做攻击分析呢开WireShark然后看它予渔温传的什么流量或者使用Billware对它发的LTP包进行截获或者说直接去在我的笔记本上去访问这个设备的IP它有可能开了TileNet或者什么可以扫一下这个是我们所讲的2G的然后我们再看一下如何去搭建LTE测试基站就是4G测试基站为什么去搭建这个测试基站呢如果说我们只需要做一些测试也就是表示我只需要拿到它的流量而不需要让它在真实场有中吸进来或者说我需要快速测试因为比方说在2G中去扫端口是非常慢的在4G中它会很快我可以大家讲一下如何去搭建LTE4G测试基站因为LTE采用了双线认证所以双线认证的话我们需要解决认证问题如何去解决认证问题呢我们先简单介绍LTE系统有可能包含了UE,EPC和EnoLBUE就是说我们的Client也就是说我的手机这一块大家可以不用careEPC大家可以理解成为一个中央控制主机EnoLB有可能是一个摄频单元我只需要把EPC和EnoLB在我的电脑上去搭建起来就OK了我们这里头去选择开源SDR LTE也就是开源软件的话有可能大家非常火是OAI但是OAI安装特别的复杂不建议大家去安装那么我们可以使用SDR LTE那么安装和使用特别简单适合安全学院去做安全分析OK我们来看一下我们怎么去做使用软件无线电的方式大件LTE测试基站我们现在下载和编译EPC和EnoLB同时让我去选择硬件系统这里头标红的是我推荐的U3RP B200它比较便而且稳定B200 mini它是比较小巧的Blade RFXA4它是比较不占系统资源的我们选择完软件硬件之后我们来看一下怎么样去写卡因为我刚才说了4G它是双线认证的为了解决双线认证我需要写一张可以让手机然后验证基站的SIM卡那么我需要购买一个读卡器同时购买一张空白LTE SIM卡那么这个SIM卡其实这个国家是没有不允许在淘宝上卖的大家需要找正规的局劲去购买同时仅限于测试使用大家一定要仅限测试使用OK我们刚才的一些任务是软件选择硬件选择然后写卡我们先来看一下如何去对软件进行配置配置的话还是刚才那样配置PRMN也就是说配置国家代码和运用商代码比方说我配置46001这个是中国联通的配置一些常见的运用商然后还有需要配置APN配置这个评点如果说这个设备它有可能只支持一些几个评点然后可以选择半的一和半的七这种大家都支持的评点然后设置IP转发然后写卡写卡这种会写这三个参数我们现在看一下如何去写卡那么写卡首先比方说我需要模拟的是中国联通那么前五位我需要写成46001后面随便那么我把这个数然后填到我的右下角软件中的imsi同时我在User.csvUser.csv是我们刚才说srslt也就是说激战软件之中负责认证的一个配置文件配置文件中有ki和op或者opcki和opc它俩是两个k把这两个k然后同样的写到我这个写卡软件里头同时把刚才那个imsi就是说刚才我写到卡里的imsi重新替换成User.csv的imsi最后我们的目的是保证ki,op和imsi这三个参数在我的激战软件中和在我的卡中是一模一样的就OK了我可以写完之后我们还选择一些正确的算法这样的话我现在打开我的手机我就可以去搜索运用商我去可以连到4G激战之中了但是现在是手动地去搜索而且有可能会有一些慢游的问题我需要手动去点开允许慢游同时如果APN不对的话有可能还是上不了如果去解决这几个问题我们每次在手机中需要点手动搜但是我们一些比如说4G PostG或者4G的这个私动收获机它有可能去手动搜不了那么我需要这个设置imsi和这个常见的imsi是一样的比方说中国范围就比方说机器是中国产的那么我这个设国家代码和运用商代码设成常见的同时经常会有一些APN不匹配的问题就比方说像安卓手机比方说像一些共享单车使用4G模块的共享单车或者一些4G模块它都有一些预先的APN比方说它预见你的运用商代码是46001它就默认使用3G night这种APN所以说我在软件我们在SDR软件中也需要设置成对应的APN所以说才能实现我不需要手动搜网而且这个APNOKAPNOK的全息下这个IP165才能建立起来所以说我刚才所有设置都配好了我配置了我去写了卡我去把相当的国家代码和运用商代码都写好了这样的话我去乱EPC和EnoB所以说我的4G基站就跑起来了然后这个是我们使用这些SIM卡的物量设备我们来简单举两个例子刚才我们讲了一些2G基站和一个4G基站我们讲几个非常明显的例子因为这个时间关系我就不讲很多复杂了比方说这是两款手表的配置泄漏的问题我们通过GSM或者GPRS流量秀碳比如说左上角这一块我去秀碳到了这款手表登录的用户名字密码其实这个用户名字密码的话我可以用我的Python在我的笔记本里重新写一个脚本去登录那么原本手表的登录就失效了那么黑客就可以用电脑跟父母的APP进行通讯了进行沟通了右下角是另一款手表那么在另一款手表在开机的时候它会拉取配置参数包括比如说父亲的电话号码是多少那么我用boop给它截断并且然后把爸爸的手机号给它修改成黑客的手机号所以以后孩子在打电话的时候打给爸爸就是打给黑客了比方说这是一个某共享单只锁我们在抓取它的流量的时候发现它使用HTB进行通信但是所有内容是加密的那么我们把它固件也分析下来了也扣下来在IDA里去分析然后分析它加密的一些流程最后我们可以通过可以完全解密解密之后就可以获取每次解锁的密码了或者说我可以引导因为我把所有的加密的HTB都解密了我可以引导它进行一些恶意升级比如说升级成我想要的固件给这个共享单车这是某个设备是一个4G模块这4G模块要监听到某个端口那么对这个监听端口的并清分析发现它存在一个命令注入所以说我们通过激战系统让它连入到我们的激战同时我去访问端口所以说对这个4G模块进行了远程2C这是一个掩饰这是一个随身WiFiX卡的随身WiFi我开机的时候因为我运行着我4G的LT测试激战当我开机的那一刹那因为它里头的配置吸引都配置成平常了所以说它已经自动连到激战了同时我找一个手机去连随身4G Wi-Fi的WiFi它可以正常上网也就是说所有流量都可以在我的电脑因为所有流量流进我的电脑当我用手机去浏览网页的时候所有的流量在我的笔记本上可以看到在我的激战系统可以看到同时我如果去访问随身WiFi的端口因为随身WiFi其实插了一个4G卡我去访问它的端口直接就可以控制它的Town Net再给大家讲一个运用商内网进行攻击的例子因为就比方说我们的手机在连4G网的时候都会获取其实现在运用商它对安全不是太重视所以说我们的手机都会获取到一个10或172的内网地址我们都是互通的买两张相同的4G卡相同的4G卡然后有可能大概率会分配到一个内网之中比方说A可以访问B我就可以测试B纪约端口的一些安全问题了如果是私有APN这里就不可以讲私有APN了它肯定会分配到同一个内网之中这种分配的话我们就可以进行我们的安全测试了这是一个视频运用运商内网进行测试我们现在在一个私有APN网络之中其实这是我的一个我的笔记本是连到我手机的热点上了我用我的笔记本然后去扫这个10网段那么去扫10网段谁开了55端口然后在我包的时候我用WireShark去看你会发现有大量的Client去返回TTP RST也就是说这些Client是存在的只不过它这些端口没有开那么我们找到了一个开了55端口的Client其实这是我们事前预置的Client我们可以AdbClient直接连上了所以说内网都是互通的我连上这个有可能是对端也是一个手机但是我们连上对端手机之后我可以利用对端的手机去测试我随时MineFi的一些基于端口的安全问题了还有一些其他的问题举行说研究通过这种大间机站系统研究一些基带的漏洞还有一些研究RT一些协议标准的漏洞这一块时间关系也不跟大家讲了今天的分享因为时间比较短想说比较快大家看有什么疑问吗如果没有疑问我们今天就OK谢谢大家