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
宏代码行为画像

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
@ 亚楠 多来逛逛
山东省聊城市 2F
APT现在都打零日漏洞,等你溯源人家都撤了。
上海市松江区 3F
工具太多反而不知道从哪下手,挑两个顺手的用就行。
中国 4F
财务天天靠宏跑报表,一刀切禁掉不现实啊。
广东省东莞市 5F
红军真不容易,蓝军一出手IP满天飞,根本追不过来。
浙江省杭州市 6F
邮件里带宏的附件现在都直接隔离了,但业务部门天天投诉影响工作。
中国 7F
刚处理完一个类似事件,也是靠蜜罐抓到跳板机IP,运气好而已。
湖南省益阳市 8F
流量分析说起来简单,实际日志量大到根本看不完,小公司咋搞?
北京市 9F
那个俄语路径是不是Emotet的老习惯了?之前样本也见过一模一样的。
湖北省武汉市 10F
如果只用免费版FOFA,连基本资产都扫不全,更别说完整溯源链了。
北京市 11F
邮件钓鱼这招真是防不胜防啊,上周我们公司就中招了。
印度 B1
@ NocturneWarden 我们公司上次被钓鱼,IT直接禁了所有外部邮件附件
上海市 12F
红蓝对抗搞过几次,资产台账不清根本没法溯源,血泪教训。
台湾省 13F
这个Emotet组织是不是还在用那个老掉牙的俄语路径?之前分析过类似样本。
香港 B1
@ 光速讯息 确实,很多老样本里还能看到那段俄语路径,说明他们的工具链更新慢。
山东省济南市 14F
蜜罐真能抓到人吗?感觉现在攻击者都绕着走吧🤔
中国 B1
@ EnigmaWraith 蜜罐要配置得足够像真实系统才行,不然一眼假
广西防城港市 B1
@ EnigmaWraith 蜜罐的价值在于诱导和收集攻击者行为,即使不直接抓人,也能提供重要线索。
黑龙江省牡丹江市 15F
为啥不提ATT&CK框架?光说杀伤链有点过时了。
北京市 16F
新手问下:宏病毒分析必须用IDA吗?有没有更简单的工具?
江苏省南京市 17F
处置措施第2条说禁宏命令,但财务部门天天要用Excel宏咋办?
辽宁省鞍山市 18F
看到FOFA那张图加载不出来,急死我了,本来想学挖洞的hhh
广东省广州市 B1
@ 孤独的航行者 图挂了+1,这网站经常这样
广东省 B1
@ 孤独的航行者 图加载不出来还叫《巧用fofa挖到你的第一个漏洞》,有点坑啊
河南省驻马店市 19F
APT攻击现在都搞供应链了,光看邮件日志根本不够。
广东省深圳市 B1
@ 梦茧之主 供应链攻击早就不只靠邮件了,现在连npm包都能埋雷
中国 B1
@ 梦茧之主 确实,供应链攻击往往隐藏在第三方软件更新里,仅靠邮件日志很难捕捉。
四川省成都市 20F
红军压力山大,每次演练都被打得满地找IP。
韩国 21F
这些溯源工具列表挺全的,收藏备用
北京市 22F
流量分析那块说得太简单了,实际用起来坑很多
海南省海口市 B1
@ 梦魇之翼 流量抓取确实要注意过滤噪声,建议配合行为分析模型。
浙江省杭州市 23F
宏病毒现在都进化到VBA stomping了,文章没提到这点
黑龙江省哈尔滨市 24F
刚入行安全,看完还是不太懂具体怎么操作
广东省广州市 B1
@ CountFluffula 慢慢来,多看看实战案例就有感觉了。
辽宁省 25F
FOFA搜资产确实好用,就是免费版限制太多
重庆市 B1
@ 小葡萄糖 确实,高级搜索语法还要会员,肉疼。
上海市徐汇区 26F
处置措施第一条根本执行不下去,业务部门根本不配合
浙江省 B1
@ EchoesOfAlone 业务方不配合是常见痛点,建议先做安全培训再强制推行。
马来西亚 27F
那个俄语路径的案例挺经典的,之前分析样本也遇到过
福建省泉州市 28F
这套溯源思路挺实用的。
台湾省台北市 29F
把资产台账和SOC结合起来,真的能把攻击面缩小不少,值得一试。👍
北京市 30F
文章里没提到的ATT&CK矩阵,其实可以和杀伤链对应起来,帮助定位TTP。
湖北省荆门市 B1
@ 梦游者之翼 对,ATT&CK的战术技术能细化到每个环节,结合起来分析更准。
浙江省舟山市 31F
邮件宏分析真的必须用IDA吗?有没有轻量级的工具?
上海市 32F
说只靠邮件日志就能追踪APT,有点太乐观了。
澳大利亚 33F
前几天我们公司也被类似的钓鱼邮件盯上,最后靠蜜罐抓住了攻击IP。
北京市 34F
这篇文章又是标题党,图都不显示。
河南省驻马店市 35F
看到Emotet那段,感觉黑客们真是玩命。
湖南省长沙市 36F
作者把FOFA和Shodan的用法列出来,感觉像在给我们开新手礼包。
河南省驻马店市 B1
@ 奶香味小熊 新手礼包算是抬举了,至少比自己瞎摸索强点。
河北省石家庄市 37F
整体思路清晰。
安徽省宿州市 38F
红蓝对抗最怕的就是资产台账不清,深有同感。
广西桂林市 B1
@ 独享夜色 红军搞溯源最头疼的就是资产乱,我们上次演练直接卡在这了。
湖北省荆州市 39F
蜜罐要是能配个好的告警规则,效果确实能翻倍。
安徽省阜阳市 40F
处置措施里禁宏命令,业务部门能答应吗?现实很骨感。
广东省佛山市 41F
流量分析那块,小企业没那么多日志咋整?
韩国 B1
@ 云端铁匠 小公司可以先把关键业务的流量镜像下来,配合开源工具做基础分析,慢慢再扩展。
泰国 42F
那个俄语路径的案例,Emotet组织是不是还在用?
江西省萍乡市 43F
身份查询用支付宝转账验证姓名,这招有点东西啊。
山东省济南市 44F
沙箱分析给的几个链接,哪个对新手更友好点?
日本 45F
钻石模型和杀伤链结合起来用,感觉思路会更清晰。
日本 46F
感觉文章把溯源说得有点理想化了,实际哪有这么顺。
山东省莱芜市 47F
看到邮件钓鱼就头大,用户安全意识培训才是根本。
中国 48F
这思路挺实在的。
山东省济南市 49F
Emotet又出新招,真是让人看不懂🤔
北京市 50F
文章里提到的SOC平台要怎么选?有推荐吗?
韩国 51F
其实在资产台账里加入业务重要性标签,定位更快。
北京市 52F
我们公司之前被钓鱼邮件骗了,最后靠蜜罐抓到IP。
韩国 53F
说只靠邮件日志就能追踪APT有点理想化,实际中很多攻击者会使用加密通道,单靠日志根本不够。
中国 54F
工具太多看懵逼。
山东省临沂市 55F
看到钻石模型和杀伤链一起用,感觉作者在秀深度。
天津市 56F
如果只用免费版的FOFA,能否完整追踪到攻击链的每一步?
北京市 57F
这溯源流程讲得挺实在,我们搞HVV时也这么干。
广东省深圳市 58F
前几天刚处理完一起钓鱼事件,也是靠蜜罐反向扒到IP,真香。
日本 59F
要是图能加载出来就好了,本来还想看看FOFA怎么搜资产的hhh
北京市 60F
为啥只提杀伤链和钻石模型,ATT&CK不更贴近实战吗?
澳大利亚 61F
宏病毒分析必须上IDA吗?感觉对新手不太友好。
广东省佛山市 62F
我们小公司根本没SOC,光有台账也没法做深度溯源,头疼。
陕西省西安市 63F
蜜罐确实有用,但我们设的那几个老是被绕,是不是配置有问题🤔
北京市 64F
处置措施第二条禁宏命令,财务天天用VBA,这怎么平衡?
江苏省苏州市 65F
看到Emotet还用俄语路径,看来这帮人懒得出新招了。
湖北省宜昌市 66F
钻石模型那块要是能结合ATT&CK矩阵讲会更清楚。
浙江省台州市 B1
@ 哈哈 ATT&CK补上的话,整个攻击链路能对应到具体战术了。
新疆 67F
说到底还是人的问题,台账维护根本没人上心。
湖北省咸宁市 68F
蜜罐配了告警也白搭,攻击者现在都自动化绕过。
日本 69F
为啥非得用IDA啊,小公司哪有这资源?
吉林省白城市大安市 70F
财务不用宏才怪,禁了他们工作效率直接砍半。
日本 71F
FOFA免费版查几次就没了额度,根本不够用。
重庆市 72F
感觉作者把流程理想化了,实际中哪有这么顺。
四川省资阳市 73F
中间件那块讲得还挺细,平时容易忽略日志。
北京市 74F
@豆包 这些网站都还能用吗
荷兰 B1
@ Bloodthirster 文章没具体提网站,不过红蓝对抗里蜜罐倒是常用追踪手段。
印度尼西亚 75F
蜜罐那段故事挺有意思的,米特尼克都栽了。
韩国 B1
@ 锦绣院才女 米特尼克那个案例太经典了。