原文地址:http://drops.wooyun.org/papers/7025

0x00 前言


7月5日晚,一家意大利远程控制软件厂商HackingTeam的内部数据被泄露出来,其影响力不亚于斯洛登事件及维基解密事件,绿盟科技威胁响应中心随即启动应急响应工作。

6日,威胁响应中心启动应急分析工作,绿盟TAC产品拦截到Flash 0Day漏洞攻击;

6日夜,相关信息及初步建议,第一时间告知客户关注;

7日,在官网网站发布紧急通告,建议广大用户关注事件进展。分析工作进展进展中;

9日,发布Hacking Team远程控制系统简要分析报告;

这是一份快速报告,以便简要分析其中的核心内容,Hacking Team RCS(远程控制系统)。

0x01 泄露:Hacking Team


7月5日晚,一家意大利软件厂商被攻击,其掌握的400GB漏洞(包括0day)数据泄露出来,由此可能引发的动荡,引起了业界一片哗然。数据包中主要包含几个大的部分:

0x02 Hacking Team


Hacking Team在意大利米兰注册了一家软件公司,主要向各国政府及法律机构销售入侵及监视功能的软件。其远程控制系统可以监测互联网用户的通讯、解密用户的加密文件及电子邮件,记录Skype及其他VoIP通信,也可以远程激活用户的麦克风及摄像头。其总部在意大利,雇员40多人,并在安纳波利斯和新加坡拥有分支机构,其产品在几十个国家使用。

0x03 分析:远程控制系统


大家知道IT运维管理中常常用到远程控制软件,比如Dameware,但Hacking Team RCS相比市面上常见的远程控制软件而言,主要区别如下:

0x04 Hacking Team RCS系统架构


RCS (Remote Control System)系统是一套用于政府拦截的黑客套件,实现了全平台的监控系统。

RCS主要组件

enter image description here

每一块组件具体的功能如下,

RCS Agent有两种安装方式:本地以及远程。本地安装主要是通过桌面系统的CD和USB存储设备来引导,或者是智能手机的usb。远程安装则通过Melting tool、Exploit portal、Network Injector以及Remote Mobile Installation。而且每个RCS Agent都可以通过远程命令卸载。

RCS Agents的系统要求:

Windows XP, Vista, 7 (32/64 bit)

MacOs X 10.6 Snow Leopard, 10.7 Lion

Windows Mobile 6, 6.5

iOS 3, 4 (iPhone/iPad)

Symbian S60 3rd and 5th edition

BlackBerry 4.5 or newer Anonymizers目的是隐藏Front End真实IP地址,由于Anonymizers之间的连接数据被完全加密而且没有解密数据,所以可以被放置在任何非信任的网络和国家。

Collection Node 信息搜集功能是通过Collection Node来完成的客户端上传信息的搜集,并且允许客户端从服务器上下载新的配置和插件,这个节点是通过提供ASP服务完成交互的。这个节点是整个控制系统唯一能从外部进行访问的节点,因此对它的保护也非常关键,比如使用防火墙等措施进行一定的隔离,也需要使用到Anonymizer 链来对ASP真实的IP地址进行隐藏。

RSSM(Mobile Collection Node)作为Collection Node的一个补充,通过蓝牙等手段完成Collection Node的功能,并且该节点也会和Collection Node完成同步的过程。

Log Repository Log Repository(RCSDB)是RCS系统的存储部件,存储信息包括:

访问过的网站
文件操作
键盘记录
文档和图片信息
VoIP电话监控(例如skype)
程序执行信息
音频监视
Web摄像头监视
截屏
即时通信(Skype、WindowsLiveMessenge、Wechat等)
剪贴板的信息
密码信息(email账户、WindowsLive账户等)
发送和接收邮件
电话录音
GPS位置
联系人信息

从上面的分析可以看出来,这一次泄露的Hacking Team的各种程序中,比较完整的涵盖了实施攻击各个阶段需要用到的一些控制和利用工具,针对其中的一些较为经典的代码,我们经过研究,给出这些工具包的功能,对使用范围做了大致的描述。在这一套RCS里,针对电话、pc、网络均进行了控制和信息搜集。

0x05 Hacking Team RCS基本功能


电话监控

针对电话监控,开发了针对不同平台的agent程序,下面是一份列表

桌面系统监控

辅助入侵功能

为了在target上安装受控端软件并获取主机控制权,还有提供了一些必要的功能

RCS Injection Proxy Appliance (RCS IPA)是用于攻击的安全设备,使用中间人攻击技术和streamline injection机制,它可以在不同的网络情况下透明地进行操作,无论是在局域网还是内部交换机上。

IPA 可从监控的网络流量中检测HTTP连接,进行中间人攻击,主要有三种攻击方式:注入EXE, 注入html和替换攻击。当监控的HTTP连接命中预先设置的规则时,IPA 将执行注入攻击。IPA 可以设置需要注入的用户(如IP地址),资源(如可执行文件)等规则。

0x06 Hacking Team RCS入侵手段


Hacking Team RCS软件入侵目标,主要通过如下三种方式:

感染移动介质

与很多木马、病毒及流氓软件的传播方式一样,该软件首先还是采取这种低成本的方式进行,感染一些能够接触目标的移动媒体,比如CD-ROM、USB等,即便是OS 或者BIOS设置了密码也一样可以感染,从而获取一些环境数据,比如电脑是否可以上网等,为后续的动作提供参考依据。

代理攻击

采用软件或硬件的系统,能够在网络会话过程中修改和注入数据,在某些情况下,可以注入到系统并难以被检测到。同时,也能够感染Windows平台上的可执行文件,如果目标电脑从网站上下载并执行这些可执行文件时,Agent将在后台自动安装,用户不会知晓。

APT

如上两种方式都无法奏效的时候,就会采用多种形式组合入侵,采用相关的漏洞、入侵工具及更多利用手段,详细的分析及防护方案,在后续的报告中呈现。

0x07 Hacking Team RCS信息上传


用于搜集客户端搜集信息的上传通道,是一个强加密和需要认证的通信过程,同时整个上传通道的设计是基于复杂网络环境的,考虑到防火墙、带有域认证功能的代理等等,会通过模仿一个正常用户浏览web的过程来进行这一些操作。

信息搜集功能是通过Collection Node来完成的客户端上传信息的搜集,并且允许客户端从服务器上下载新的配置和插件,这个节点是通过提供ASP服务完成交互的。这个节点是整个控制系统唯一能从外部进行访问的节点,因此对它的保护也非常关键,比如使用防火墙等措施进行一定的隔离,也需要使用到Anonymizer 链来对ASP真实的IP地址进行隐藏。

RSSM(Mobile Collection Node)作为Collection Node的一个补充,通过蓝牙等手段完成Collection Node的功能,并且该节点也会和Collection Node完成同步的过程。