| 文章转载于 上汽集团网络安全应急响应中心
1. 背景
Policy Interpretation
为啥需要溯源?道理一想都明白,可真要是讲讲来龙去脉,就没那么简单了,得从最开始的网络攻击谈起。
话说一开始的网络世界没有什么红蓝对抗,无非是有黑客攻击网络资产,资产所有者及其安全防护方见招拆招罢了,因为刚开始的黑客攻击简单粗暴直接,比如在你的网站种个马,埋个链啥的,不高兴了直接脱库删库,而防护方也是不厌其烦的删除这个马,干掉那个链,备份恢复下数据库,看上去很“和谐”!
但随着黑客的攻击技术手段的野蛮生长,渗透攻击呈多样化发展,同时,他们也不满足于攻击的“一锤子买卖”,故此黑客变换了策略,开始对一些高价值的网络资产进行持续的定向威胁攻击,同时运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且隐蔽性极强的威胁和攻击,这种攻击我们称之为APT攻击,这使得防护方越来越难以察觉和反制。
而近年来,网络攻击再一次升级,特别是斯诺登爆料的美国网络战使用的武器库,里面集成了大量的APT攻击载荷,使得网络攻击方的攻击能力空前强大,也使得世界诸国不得不重视起网络安全。
杀伤链模型
杀伤链模型最初源于军事中的C5KISR系统中的K,即Kill。后由洛克希德-马丁公司提出网络安全杀伤链七步模型:侦查追踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制、目标达成,如下图所示:
钻石模型
钻石模型的基础是一个元素,由至少四个互连的特征节点组成:对手,基础设施,能力和受害者。事件是对手为了实现其目标所必须采取的完整的攻击路径中的一个步骤。活动线是表示操作者执行的操作流程的一系列有序事件序列。线可以在各种活动之间进行关联和匹配,以形成共享通用战术,技术和过程的活动组,如下图所示:
Anyway,这些复杂的模型因篇幅所限就不展开了,但是有一点,无论杀伤链模型还是钻石模型也好,溯源的根本动机就在于寻找这些模型每个节点之间的攻击路径可能留下的攻击者的痕迹,帮助安全防护方及早介入发现并处置危险的攻击行为,用以斩断每个攻击节点之间的逻辑链条,最大限度减少组织资产的损失。
2. 溯源方法
Policy Interpretation
溯源的方法其实说白了就三板斧:
第一是信息的输入:攻击源捕获,
第二是信息的分析:溯源处置,
第三是信息的输出:攻击者画像。
2.1
攻击源捕获
Attack source capture
攻击源的获取、甄别并不是一件易事,首先你得搞清楚自己的网络资产范围,我们很多组织,特别是类似我司这种组织架构庞杂,资产众多的企业,如果连基本的网络资产台账都没有,想要做溯源简直是南辕北辙,因此,一份精心梳理并时常维护的网络资产台账是溯源的前提条件。
其次,厘清自身的安全监测资源,包括有哪些安全设备,安全监测的环节是否完整,是否有相应的安全应急措施,以及相关的安全技术人员或支撑团队,有了这些,才可以说具备了捕获攻击源的能力和手段。
满足了上述两个条件,拿现在流行的词语说就是有效的识别了暴露面与攻击面,溯源算是有了眉目,一般有五大类攻击源捕获手段,分别是:
审查邮件钓鱼
获取安全设备数据进行分析,特别是流量数据;
网络资产所在的服务器运行状态;
中间件日志信息查看;
合理运用蜜罐系统进行溯源追踪。
当然,这几种方法也不是孤立的,往往会整体去分析考量各种攻击面的有用信息,如果有条件的企业,在这里还建议上一些集成的安全分析和预警系统,比如我们常听到的SOC、态势感知、安全大脑这些玩意,通常他们都会有这方面的功能。
邮件钓鱼
绝大多数攻击行为的开始都是从信息搜集做起,随着各企业的安全意识提高和安全设备越来越多,传统的通过搜索引擎或XSS、CSRF等技术手段越来越难获取到有价值的信息,故此信息的搜集越来越依靠社会工程,社会工程里很重要的一点就是邮件钓鱼,因此,一旦发现有攻击行为,比如红蓝对抗一开始,作为红军(即防守方),首先应该检查的就是邮箱,目标重点是:恶意文件样本、钓鱼网站URL等。
安全设备
借用安全设备,我们可以监控系统和网络上发生的历史操作记录和当前状态详细信息,但这远远不够,还需要对不同来源的监控数据,例如防火墙、终端防护、IDS/IPS、APT监测设备以及其他安全设备的监控数据进行汇总、分析,用以描绘此刻驻留在网络中的攻击者及其活动轨迹,现在很多安全可视化分析工具可以帮助我们实现这个目的,但是如果企业没有这些工具,则对安全防护人员的技能和经验有较高的要求。
通过这些安全设备和必要的可视化工具,重点是要找出:扫描IP、威胁阻断、病毒木马、入侵事件等有用信息。
除此之外,网络间的流量分析也是必须的。流量分析着眼点在三方面,一是口令爆破,比如常见的ssh、rdp、smb等,二是命令执行,比如黑客常用的whoami、dir、ipconfig等命令,最后看是否有反弹数据,比如lcx、ps、 nc等,小技巧是多关注一些敏感的端口转发数据。
服务器
因为Linux和Windows系统占据了服务器的绝大部分市场份额,因此我们天然屏蔽其他操作系统,Linux和Windows在溯源检查时需要检查的项高度相似,主要从以下几个方面去一一排查:端口查询、进程查询、定时任务、自启动、历史命令、使用痕迹、登录用户及其时长、日志信息查询、异常文件,特别是病毒木马,另外Windows还有一个独特的地方就是注册表,有经验的同学都知道哪些地方要重点查看。
中间件
一旦攻击者从WEB站点入侵,极有可能在WEB中间件中留下痕迹,防护方则可以通过观察中间件的日志找出有用的信息,比如可以在Apache的/var/log/http中定位到日志文件,其他像IIS、Tomcat、Nginx等方法类似,目的是寻找这些日志中可疑的URI访问、来源ip、http请求以及连接数异常等信息。
蜜罐系统
蜜罐系统严格意义上说也是安全设备的一种,但是为什么单独拎出来呢?原因是蜜罐系统本身一个重大的使命就是溯源,它能帮助我们去找到攻击者的一些蛛丝马迹,甚至顺藤摸瓜,找到始作俑者。例如,世界上首例蜜罐事件:1995年当时世界上头号黑客米特尼克入侵了圣地亚哥超级电脑中心,而管理员巧妙的设置了蜜罐,让米特尼克中计,成功得追踪到了米特尼克,让他进了监狱。由此可见,运用好蜜罐技术,可以及早发现获取攻击者意图和他的指纹信息,包括ip、攻击方法、代理地址等,最终锁定攻击者的个人信息。
2.2
溯源处置
Traceability disposal
捕获到攻击源的信息之后,通常我们可以把这些信息分成消息来源、受攻击的网络资产、攻击时间、攻击IP、攻击类型、恶意文件、攻击者指纹(id、域名等)、攻击详情等几个方面,通过这些信息,就可对此进行溯源处置。溯源技术发展到今天,其实基本上可以借助第三方平台完成大部分的工作,下文介绍的几个溯源处置手段常用的第三方平台有以下网站,供大家参考:
https://www.ipip.net/
https://www.aizhan.com/
https://www.whois.com/
https://www.chinaz.com/
https://chaipip.com/
https://www.opengps.cn/Data/IP/ipplus.aspx
https://x.threatbook.cn/
https://ti.qianxin.com/
https://ti.360.cn/
https://www.zoomeye.org/
https://fofa.so/
https://www.shodan.io/
https://www.venuseye.com.cn/
https://www.reg007.com/
域名查询
利用一些在线平台可以获取域名解析的记录、历史 whois、子域名、SSL 证书、ID、姓名、邮箱等有用信息。
IP查询
通过IP可以反查域名、IP 信息,例如是否为移动网络、IDC、CDN节点等、IP段所属城市、企业等信息。
身份查询
通过对方的身份信息中的一部分信息,利用一些手段可以勾勒出整个完整身份,例如可以通过手机号支付宝转账,验证姓名;过注册的一些平台账号找回密码,可猜手机号;通过手机号添加微信QQ添加好友获取信息;甚至利用微博、贴吧、抖音、脉脉等搜索对方身份进而获取有价值信息。
文件查询
恶意文件通常是从钓鱼邮件获得的,这里有个小技巧,可以将邮件全格式保存,用十六进制编辑器查看,运气好能找到发送邮件的IP地址。接下来,就是对文件进行分析了,现如今恶意文件的类型呈多样化,除了一些脚本、宏文件等显而易见的文件外,还有以下常见的文件类型,需要借助一些专业的工具进行查看分析:
逆向类:Ida、JEB
文件编辑类:010 editor、Winhex
监控dump类:processmonitor、Wireshark、SRsniffer
固件类:Binwalk、BIN2BMP、PIXD
当然,对于没有把握的一些文件,也可以利用沙箱系统进行预分析,顺手也贴几个在线沙箱URL:
https://s.threatbook.cn/
https://sandbox.ti.qianxin.com/sandbox/page
https://habo.qq.com/
https://www.joesandbox.com/
2.3
攻击者画像
Portrait of the attacker
描绘攻击者的画像,主要目的有两方面,一个是摸清楚攻击者的攻击路径,好立即采取相应的缓解措施应对,另一个是实锤攻击者的身份信息,好去找他们的麻烦,当然如果只是红蓝演练的话这步可以省略了,LOL。
攻击路径
掌握攻击者的攻击路径是应急响应的关键所在,具体攻击路径的构成有三个方面:
攻击目的:
这个我们可以从遭受攻击后网络资产表现出来的伤害类型去判断,比如是否已被拿到权限、数据库是否已被窃取数据、是否正常的业务已被中断,例如服务器是否收到大量的数据包或连接请求,即可判断遇到DDOS、CC攻击了!
网络代理:
一般黑客为了避免被溯源追踪,都会通过代理,此时就需要溯源者具备一定的经验去判断,对方的IP是否为代理IP,如果是,那么可以进行反向渗透,进一步挖掘出其所在跳板机,其实当掌握足够多的信息后,我们可以很轻松的判断出哪些代理IP实际上是肉鸡或者CC服务器等。
攻击手法:
这个可以从防护边界去进行判断,比如社会工程入口中的鱼叉式邮件钓鱼,网站的Web渗透,无线网络的近源渗透,以中断业务为目的的拒绝服务攻击等。
攻击者身份画像
攻击者的身份画像,由四个部分组成,分别是:
虚拟身份:ID、昵称、网名
真实身份:姓名、家庭/办公物理位置
联系方式:手机号、QQ/微信、邮箱
组织情况:单位名称、职位信息
最终效果示意:
3. 典型案例
Policy Interpretation
为了形象的说明溯源整个流程,下面列举一个真实的邮件钓鱼溯源的案例,本案例来源于去年HVV行动的公开报告材料,部分删减脱敏。
案例过程如下:
1
威胁识别
某企业安全防护方收到疑似钓鱼邮件报告,技术人员查看后确认是钓鱼邮件,拿到钓鱼邮件样本,随即展开分析工作。
2
沙箱分析
通过云沙箱对样本进行分析,发现其为word 宏病毒。
3
宏代码分析
安全模式下打开文件观察其宏代码。分为 Od7aj7ii3yu和K946e0s3qiq0两部分宏代码,Od7aj7ii3yu函数为一个私有方法在文档打开时创建了6个字符串数组对象,为后续操作做准备;K946e0s3qiq0为恶意宏代码的主体程序,代码中使用字符串拼接作为字典,使用mid、trim、split函数偏移对无序字符串进行取值。
4
宏代码行为画像
进一步分析宏代码,目的是获取计算机环境信息,并调用powershell执行代码,同时还会释放出一个EXE文件。
5
分析释放的EXE文件
分析宏代码释放的EXE文件,在函数中发现了自定义的函数名称为 lhxXfY9mIrDZ,结合宏代码中的pizdec,过程中还发现该文件含有俄文,大概率来自俄罗斯,进一步调试发现该EXE会通过加载器拼接下载地址在本地下载木马核心。
6
木马暴露信息
在IDA中分析木马文件,发现木马作者忘记删去本机的调试路径,根据此路径为关键字搜索可以确定该钓鱼邮件的组织为Emotet!得到组织名称后,接下来我们目光转到另一个分支:宏代码调用powershell执行命令。看能否挖掘出其他有价值的信息。
7
Powershell隐藏信息
继续在安全环境中执行powershell,通过对执行中的 powershell 代码进行解码分析,得到源代码(部分源码示意):
8
通过URL溯源
将捕获的URL丢在情报平台进行查看,发现都是来自德国和波兰的钓鱼网站,但最终锁定Emotet 的银行木马。
9
攻击者信息
Emotet组织是近年来相当活跃的APT组织,Emotet背后的运营团队是Mealybug,成员多来自俄罗斯,早期目标主要针对德国和奥地利的银行,近年已经改变了其商业模式,从针对欧洲的银行客户转变为了使用其基础设施为全球其他威胁行为者提供恶意软件包装和交付服务。此次钓鱼邮件攻击,就是针对于政府企业的一次APT攻击。下图展示了Emotet组织攻击痕迹:
10
处置措施
为了从整个攻击面中斩断逻辑链,针对此次钓鱼事件,安全防护方做了以下几点缓解措施:
1.企业内部再次强调防范钓鱼邮件,禁止点击未知链接,禁止打开未知附件。
2.通过终端防护系统下发策略,覆盖宏命令执行和powershell命令执行的终端防护。
3.将捕获的木马下载URL以及源码中解析的远端URL加入http/tcp协议黑名单。
4.将捕获的远端解析IP加入防火墙黑名单。
宁夏银川市 1F
新手hvv蓝队收藏了,哈哈哈
宁夏银川市 B1
@ 亚楠 多来逛逛