基于威胁情报的攻击组织画像与溯源

原文:点击打开链接


一、溯源案例两则

(一)白象组织溯源​

        首先,我们来看溯源白象事件[1]的整体过程。此事件的主要点在样本侧。因为安天在这方面有一定储备,在一千个样本中提取PDB开发路径,进而关注到“neeru”等一些有特殊意义的用户名,我们将其单独提出来,直接在Facebook等一些社交网站进行追踪,其中大部分是典型xx国人名,但人名也会有很多通用的,不能单靠人名来确定现实中的人员,并且一些名字还是女性名字,通过分析猜测可能是作者的亲人或纯属个人喜好的名字。通过一段时间对这些虚拟ID的追踪,我们把追踪的重点放到“crxxx”上,因为在这个ID上我们发现了很多对应信息。

        当你在Google搜索一些内容时,会有些缓存论坛发过的内容即使被删掉,在Google的缓存中仍能查到,有人在著名技术论坛发“寻找xx国最好的黑客”,就是“crxxx”这个人回帖问了一句“如何联系”,表明这个人确实对网络黑客技术感兴趣。我们又在逆向工程技术论坛发现这个人,该论坛包含更多个人信息(注册国籍),由以上几点确定这个人来自xx国,并且是网络安全技术相关人士,再从另外一个论坛继续深挖,看到他发过一些展现技术实力的帖子。我们从ID追溯原始邮箱,通过邮箱继续反追踪,查到使用此邮箱人员的真实姓名,通过人名找到相关演讲及完整履历信息、就职信息及做的项目等,这就是我们通过样本即可确定这个人员的信息的过程。ID确定了但怎么确定Visxxx Shaxxx就是crxxx样本作者?现在我们的样本集有十几个crxxx样本,它们的原始编译时间是2009年11月18日,因白象攻击的时间也在此时间段内,故可以认为这个时间戳是没被修改的,恰巧的是Visxxx Shaxxx在社交主页上的个人介绍显示,2009年5月—2010年6月期间在Freelancer(一个威客网站)上做了一些项目,其中一条是:为某些组织逆向分析专门开发的收集信息的木马和恶意软件。很明显这个人参与为威胁组织分析的工作,带ID样本是加密混淆的远控,通过这个信息我们猜测他可能通过逆向分析为这个组织研究反检测手段。 

(二)“魔窟”(WannaCry)事件溯源[2]

        下面介绍5•12爆发的“魔窟”事件,该事件在溯源上有几个信息点:

        1、事件中样本使用的C2服务器都是暗网,追溯很困难;

        2、代码无作者信息;

        3、五月份“魔窟”事件使用了WannaCry2.0版本,其实在三月份就已出现WannaCry1.0版本;

        4、Symantec发布了一篇报告指出“魔窟”和 Lazarus是同一个组织。

        对比WannaCry1.0和2.0版本,这其中有些衍生文件的原始编译语言都是指向一个语言代码,这些语言代码都指向一个国家。以上两个案例作为引子,解读在网络攻击溯源中所采用的方法和需要的数据,进一步探讨如何将其纳入到当前的威胁情报中,从而对一些网络攻击组织进行画像和溯源。


二、组织画像描绘与情报支撑

        当前威胁情报包括以下信息:样本扫描报告、动态分析报告、域名记录、IP反查、Whois、组织、事件归属。我对组织画像列了这个脑图,如攻击习惯、技术特点、目标偏好等,通过这些内容都可以确定组织画像,比如白象威胁情报溯源的案例关联HANGOVER,通过白象2和HANGOVER1两个域名指向两个不同IP,这两个IP又曾经被同一个域名解析过,这两个域名是同一个邮箱注册的,通过这种Whois关联溯源两起事件。右侧Xcode事件,详细内容可以看安天发布的Xcode事件报告,该事件的追踪也是通过Whois信息展开的追踪溯源。从而可以发现当前威胁溯源都是从Whois展开的,但高级攻击都是采用隐私保护或伪造注册信息,很难从这个点继续下去。​

网络攻击组织画像脑图

​         我认为溯源有两个方向。第一从网络侧溯源(定位主机)包括查找以下信息:

        • C2

        • Whois、DNS解析记录

        • 网络连接数据

        难点和问题:

        • 跨国难追溯如攻击国内事件,要是C2服务器就很难查

        • 隐私保护、暗网

        第二从样本侧溯源(虚拟身份)包括查找以下信息:

        • 样本采集、关联分析

        • 代码细节、同源分析

        • 时间、语言分析

        难点和问题:

        • 攻击者主动规避可溯源的点

        • 无法验证证据的可信性

        我们看下网络追踪溯源的四个层次划分(引自《网络攻击溯源》),

        • 第一层:追踪溯源攻击主机

        –IP追踪溯源

        • 第二层:追踪溯源攻击控制主机

        –因果链攻击源主机溯源

        • 第三层:追踪溯源攻击者

        –网络空间信息与物理世界关联追踪

        • 第四层:追踪溯源攻击组织机构

        –特定人与特定组织机构的关系

        网络溯源需要的三方面情报支撑,第一要知道哪些IP连接这个C2,要知道C2服务器被哪些攻击者(IP)连接,这些数据相对来讲很难拿到;第二IP分配、域名解析、重新注册记录;第三DNS解析历史,追踪攻击者服务器的变化。

        样本溯源的关键是关联出整个事件和溯源点分析,我们强调样本关联并不是简单的样本与C2的关联,进一步的细节关联追溯包括密钥、协议、算法、代码、PDB和衍生文件,只有这些才能关联到新的样本。例如,两个完全不同的远控程序,最开始认为这是两个不搭边的事件,将所有样本都分析完后发现两类不同RAT采用相同密码,另外我们还发现不同样本相同密钥,比如方程式与影子经纪人样本,前面讲的是关联方式,关联后要对里面继续分析,追踪以下样本侧的溯源点:

        • 时区分析:白象就是通过时间戳定位国家所在时区。

        • 语言分析(字符和原始编译语言):WannaCry事件就是这样的。

        • 编译用户ID:原始PDB信息。

        • 域名注册信息:通过样本分析拿到的C2反查。

        • 与已知组织关联:拿到虚拟ID需要跟现实中的身份进行关联,包括社工库、公开社交数据信息(历史、缓存等)。​

关联分析

三、虚假情报及元数据、IoC利用

        最后讲下虚假情报及元数据、IoC利用会给分析者造成的错误引导和困扰。

        前面讲我们通过语言可以分析攻击者所在的国家,这个例子office2007以上版本都是zip包里面XML格式的,作者等信息都是在XML里面可以修改的。还有可以伪装已披露组织信息注册域名,注册一个新的域名注册人信息填写某APT事件用过的注册人,这样伪造的域名被Threat Crowd关联,已经可以扰乱溯源分析。另外我们看,CIA有些工具可以对抗时区分析,可以修改访问时间、时间戳等,并且在某些语言代码可以插入某些语言,混乱语言判断。再者,原始编译信息也可被修改(已经被注意),文档原始编辑语言也可被伪造,二进制可修改伪造原始编辑语言包括RTF、DOC、DOCX。

        最后申明一点,溯源数据只是客观证据,并不代表给某个人和国家定性了,无论在哪些层面包括我们现实的案件判决都需要人证、物证和口供,不能通过数字证据就定性了。另外一点想法,关于溯源技术细节不便于在公开报告中披露分享,因为这样攻击者也会看到而进行技术修改,这些技术我们就会集成到产品中,会在报告中披露我们溯源到哪些证据,但具体细节还是不宜公开披露分享。


​[1] 安天:《白象的舞步——来自南亚次大陆的网络攻击》

http://www.antiy.com/response/WhiteElephant/WhiteElephant.html

[2] 安天:《安天针对勒索蠕虫“魔窟”(WannaCry)的深度分析报告》

http://www.antiy.com/response/wannacry.html



  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
笔者曾混迹过各种攻防演练活动,参与过防守方、攻击方,也算是大概了解了每一个队伍的任务~参加防守时印象尤为深刻,也跟一起防守的“战友”做过有趣的事情,例如:反打攻击队;题外话说的有点多了,来说说为什么开发这样一个平台:作为一个防守方光看日志固然是枯燥无味的,偶尔来几次反向打击啥的,增添防守的乐趣~所以我想到了做这样一个系统,就是想在“空暇”时间能获取点“黑客攻击者”的“画像”。 本平台采用被动式的方式分析黑客攻击画像,可扩展赋能蜜罐以及安全设备,将平台接口部署在蜜罐Web界面上即可,当攻击者访问所部署的Web界面即触发平台分析功能,对访问者进行分析,数据回传平台分析其网络身份、IP、IP定位:物理地址等信息。 AHRID 信息展示 平台支持接口授权的方式授权站点,已授权站点才可使用平台接口进行被动式的攻击画像分析以及数据回传。 AHRID 接口授权 平台的分析功能采用模块化设计,可针对不同的分析功能新建不同的分析模块进而让平台的分析功能更加丰富完善(开源版本目前只支持JSONP探针模块) AHRID 提交模块 AHRID开源版使用 授权使用 登录进AHRID平台之后需要先添加接口授权: AHRID 接口授权 当添加完毕后,复制接口代码至蜜罐页面或需监测的页面中即可(建议复制到最后),这样就已经部署成功了,只需要等待攻击者触发数据回传功能,等待画像信息即可。 模块提交 当已经发现一个JSONP劫持漏洞时,即可提交到AHRID平台上: JSONP 劫持漏洞 漏洞地址:http://my.website/dorabox/csrf/jsonp.php?callback=test 要获取的信息:username 模块提交说明: 1. 名字模块名字(建议使用英文) 2. SRC存在JSONP劫持漏洞的URL地址 3. 回调参数值回调参数的值(参数=值) 4. 数据字段JSON字段(例如:{"username":"123"},要获取的是username即填写username;例如:{"data":{"uid":"123"}},要获取的是uid即填写data.uid) 5. 信息展示地址一般填写无或者随意填写 6. 模块描述根据模块功能说明 AHRID 模块提交示例 AHRID开源版设计概述 当攻击者访问到部署了AHRID接口的页面,即触发JSONP探针获取攻击者已登录状态下的登录信息,回传登录信息+IP+UA,后端会对IP进行物理地址转换,最终将数据记录到数据库。 数据库结构 表:Admin - 列:id,username,password 表:Hackinfo - 列:hid,host,ip,user_agent,jsondata,creaye_time,times 表:Plugins - 列:pid,name,src,callback,columns,url,commit 表:Apis - 列:aid,host IP地址转换依赖:GeoLite2-City.mmdb IP定位依赖:接口 apis.map.qq.com、way.jd.com + 取中心点 依赖环境:Python2 + Flask + Mysql 所需网络环境:互联网(可出网) AHRID开源版搭建 1.config.py 配置文件修改 需要配置的信息如下: USERNAME: Mysql用户名 PASSWORD: Mysql用户密码 HOST: Mysql主机地址 PORT: Mysql端口 SECRET_KEY: SESSION 秘钥(建议16位以上随机英文字母+数字+特殊符号) TX_KEYS: 腾讯接口KEYS(2个以上,参考:https://lbs.qq.com/webservice_v1/guide-ip.html) JCLOUD_KEY: 京东云接口KEY(Github可白嫖) 2.Mysql创建“ahrid”数据库 3.执行如下代码 python manage.py db init python manage.py db migrate 4.启动服务:sudo python app.py 默认端口为:80,可自行修改app.py文件如下代码部分 server = pywsgi.WSGIServer(('0.0.0.0', 80), app)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值