转发以前微信公众号发的文章,Sec-UN独家。
一年前的棱镜门,NSA TAO具备了在Cisco,Juniper和华为等厂商路由器、交换机和防火墙等网络设备中植入后门的技术。实际上去年就有人找到了相关的后门、并对其进行了分析,我当时还找了材料给某司负责IRT的同学去分析。不过这大半年来也没看到国内有详细描述一下这个东西的文章,今天分享一下,好东西不怕来得晚。
在2013年六月,在斯诺登爆料的同时,一群黑客在BT(英国电信)DSL modem中发现了NSA和GCHQ植入的后门。其识别的存在硬件类型为Huawei EchoLife HG612和ECI B-FOCuS VDSL2 modem。需要澄清的是,这两个厂商的modem本身并没有后门,而是由第三方(如BT)制作并在这些modem中安装了定制的含有后门的OS,并且在国外黑客的分析中,指出了ECI modem对用户的危险程度高过HW,HW的大哥我都为你们说好话了,不要跨省!
虽然modem并不同于路由器、交换机和防火墙,其设备和后门的功能均小于企业网络设备产品,但是从其使用的技术可大概推测出NSA在企业网络设备产品中使用的后门技术。
首先是如何发现存在后门的modem。
简易方法:
1.modem先不要插电话线和加电
2.设置电脑网卡为192.168.1.100
3.ping 192.168.1.1
4.将电脑用网线连至modem LAN1
5.modem加电
然后大概过30秒,设备启动之后,大概会响应10个ping包,然不再响应ping包。之所以可以利用这个方法简易发现时因为在modem适用的Linux 内核启动时,其启动脚本会对内部接口和虚拟接口进行配置,并且启用隐藏的防火墙,因此会在之后停止响应ping包。
复杂方法:
1.不插电话线接口以防其固件自动升级或停止后门
2.kill掉/bin/sh /BTAgent/ro/start 的pid
3.kill掉tftpd sshd MidServer btagent
4.telnet至modem,进入shell
5.ifconfig -a,你会很惊讶的发现存在16个网络接口,这其中包含了部分后门接口(根据国外分析报告,主要是其中一个使用真实mac,却又跟其他接口mac不同的接口,在分析报告重视ptml.301)
6.netstat -n 检查开放端口,会发现除了在网络接口开放telent之外,还会在127.0.0.1开放2600和33287端口
7.ps看进程,会发现存在“dhcpc -i ptml.301 -I ptml.301”和sshd -E两个异常进程
8.route -n检查一下路由,然后插上电话线,继续route -n检查路由,会发现除了默认就有br0接口上的默认路由外外,多出两个ptml.301接口的路由,其IP包含 30.150.xx.0 (这就是控制IP)
9.ip route show,会发现30.150.xx.xx的接口,默认路由指向了 30.150.xx.1 这个美国DoD网络IP,通过Ping可以发现小于9ms,说明这个控制网络就位于UK
10.这时候再netstat -an 一下,会发现modem会在 30.150.xx.xx 接口开放8081端口
Modem甚至在ppoe拨号,接入ISP之前就会访问这个30.150的网络,这个IP WHOIS就会发现,是属于DoD的。
经过对存在后门modem的分析,这些特别的后门软件是由BT提供,安装在所有modem中的BTAgent安装的。BTAgent开放161端口,即SNMP协议,其支持控制设备现在固件并进行升级。
这个后门可以通过对modem路由的控制,将用户流量牵引至NSA/GCHQ的指定网络,就到了熟悉的MITM中间人场景。除了可以直接通过设备连入用户内网,还可以嗅探获取用户网络访问行为、当然还可以插马。
至于怎么能发现这些类似的后门呢?记得之前说的那个SI安全智能中提过的么,简单匹配一下DoD IP即有收获。
最后强调一下,这里说的都是从家庭宽带路由采用的后门技术,猜测企业路由所利用的技术,虽然东西不同,但其一定有很多技术是通用的,尤其是控制和后端。
其次,从根据NSA ANT曝光的TAO搞定的网络设备型号来看,都是一些边界、接入级别产品,并不涉及核心交换、路由,说明NSA的这个工具的对象主要是指定的重点网络对象的出口或边界,而不涉及到大网的核心网。
此外再补充一些前面没有提到的关键技术,这些技术在棱镜门泄露的材料里,被称之为Computer Network Exploitation (CNE)技术:
1.在植入后门后,NSA可以做到的事一个是可以通过被控制的这台设备,进入指定对象的内部网络。在BT家庭路由这个例子里,是可以远程访问路由的SSH/Telnet,对于更复杂一些的防火墙、路由器,更可以通过VPN或其他方式形成隧道,接入对象内网。由于NSA的方式是在外网口隐藏了一个桥接口,并且使用它自己的VLAN,因此这些访问是可以绕过设备防火墙规则设置的。这些端口,在路由器非隐藏的那个接口上,是不可被访问的,因此你进行端口扫描也发现不了。
2.其次是NSA可以通过对边界路由路由表、路由协议的控制,对指定流量进行牵引,做中间人MITM,牵引的技术嘛…不同于国内对路由器的简单修改DNS(这种方式比较明显,在大网上也很容易发现,只是DNS的中间人,对其他协议做的是钓而不是完整的中间人),NSA用的方式是控制路由表。在家庭宽带路由这个例子里,用的是RIP协议和静态路由。昨天那个有点东西没说,就是这些modem都被开了Zebra & Ripd routing daemon。
3.NSA/GCHQ在BT还实现了,用户不进行ppoe拨号接入互联网,也可以进行控制。这些路由器被发现在外部接口还隐藏了一个网络,并且配置了公网IP,这个连接在用户没拨号时已经建立。
4.通过前面提到的第二个基于路由/路由协议的精准流量牵引,NSA可以利用非对称路由(asymmetric routing) 技术,将通过隐藏网络劫持的对指定网站的访问,不通过隐藏网络而通过正常的那个接口返回给攻击对象。
5.NSA通过MITM,不仅对非加密的协议可以进行劫持,其还可以对应用PKI技术的,如SSH、HTTPS等协议进行解密。在斯诺登爆料的材料里,提到过NSA有一个“CES Paring database”,这里面会维护一个NSA的攻击对象证书库,联想一下前阵的心脏出血,是不是有那么点意思。此外NSA也会通过具有VPN功能的设备上的后门,获取设备上的VPN密钥,对VPN进行解密。
6.在BT的事件里,ping DoD的那个地址只有8ms,说明这个控制网络是本地部署的,结合棱镜门的另一份材料,NSA在全世界80个地点设立了SCS特请收集主机站点,并且根据泄露的图,其中有5个站点部署在中国,包括北京、成都、香港、上海、台北。你是不是又想到了点什么^_^。
7.NSA还可以用家庭路由器上的后门,收集WIF信息、MAC信息,然后储存在其称之为“XKEYSCORE”的数据库里,所以无声无息之间,你的手机、电脑、modem、真实身份、GIS信息等也被关联了,无声无息的实名制。此外根据材料,微软在产生文档的时候,会包含设备的物理MAC,是不是感觉到实名制又进了一步?
然后。。。又敲累了,大部分内容是参考国外资料,很多地方也加了一些个人理解,中间难免有偏颇和理解错误,就当科普解闷看看吧。