频道栏目
首页 > 安全 > 网络安全 > 正文

通过Shellcode聚类识别定向攻击(APT)相关的恶意代码

2017-08-29 11:36:00           
收藏   我要投稿

APT 过程的关键环节
洛马的Kill Chain模型
武器构建
伪装的正常文档捆绑漏洞利用代码
载荷投递
发送带捆绑了恶意附件的邮件到目标
突破利用
目标尝试点击打开邮件附件,触发漏洞或代码执行机制,如果是内存类的漏洞,可能的Shellcode会得到执行


鱼叉邮件攻击中所使用的漏洞

漏洞利用与shellcode
Shellcode:什么和为什么
基本上就是一段不需要操作系统负责加载执行的机器码
内存破坏类Exploit的必要组件,相对独立
1)漏洞利用成功以后第一阶段执行的指令,开辟通信通道连接到C&C服务器
2)获取其他恶意组件代码执行,包括后门远控及各种专用恶意组件
方法
样本集
关注鱼叉攻击中被高频使用的RTF文件
11672 个样本文件
绝大多数收集自VirusTotal, 40%被捆绑了已知的Exploit
漏洞在样本中分布


使用IDA反汇编二进制数据
通过IDC脚本调用MakeCode()来查找和生成ASM代码
1
idaw.exe -c -A -S “extract_sc.idc offset” binary_data.dat

Shellcode检测和抽取演示



Shellcode抽取
抽取统计
一半样本只包含一段Shellcode
另一半样本包含两段Shellcode


Shellcode 聚类
N-gram feature

两阶段的 K-means 聚类
第1阶段挑出小簇
第2阶段划分剩下的大簇


统计

分析
两个基本假设
高级恶意代码有其独特的Shellcode
APT攻击由于其定向性涉及的恶意代码数量比一般攻击要少得多

已知的
Cluster 60
Sample 数量: 1
258fc73ce3ba011948f8704bbe3d87bc
www.agv-us.com
58.158.177.102

数据来源: Alienvault
Cluster 100
Sample 数量: 4
F845e5cc072360fa6ef1b8d50f9491ec
194.28.172.58


数据来源: Alienvault
360威胁情报中心的判定

未知的
Cluster 108
6 shellcodes
217.91.17.152:443 216.70.141.250:80 msnmail.mobwork.net
Cluster 56
2 shellcodes
firewall.happytohell.com
Cluster 65
6 shellcodes
boy-girl2013.narod2.ru
结论
一个简单有效的方法
通过Shellcode聚类识别定向攻击(APT)相关的恶意代码是一个有效的方法
可能漏过许多,但误报很少
单维度的数据异常不够
假设1并不一定正确
Shellcode可能并没有全部被抽取
聚类算法可以再优化
上一篇:互联网安全现状Q2报告:旧攻击方式重受青睐,DDoS攻击走向商业化
下一篇:DPAT:域密码导出可用于Hashcat破解
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站