攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

admin 2023年3月6日12:34:34评论24 views字数 2244阅读7分28秒阅读模式
攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

情报背景

近期卡巴斯基的研究人员发布了针对DeathStalker的追加分析报告,攻击者对攻击链的隐蔽性进行了较大的改进,在宏文档攻击日渐式微的今天带来一些新鲜的检测对抗思路。本文将对攻击者在宏文档攻击及Python恶意载荷中一些值得关注的防御规避技术进行分析研判。


组织名称

DeathStalker

战术标签

初始访问、防御规避

技术标签

VBA、py2exe、Python字节码

情报来源

https://securelist.com/vilerat-deathstalkers-continuous-strike/107075/


01 攻击技术分析

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

攻击链:远程DOTM模板加载执行VBA代码,释放执行自定义RAT


亮点1 VBA Stomping技术

Office文档中的宏通常存储于三个位置:

  • VBA宏源码,用户宏编辑器中查看的版本

  • P-code,预编译的宏代码,适用于某个特定Office版本

  • Execodes,P-code执行后产生的进一步的字节码


VBA Stomping技术(T1564.007 Defense Evasion.HideArtifacts)是指攻击者将恶意代码以P-code的形式插入文档中。由于它的优先级较之用户可见的明文VBA更高,存在用户查看不存在恶意行为的明文宏代码之后放行的可能性,更加具备迷惑性。插入P-code的方式存在局限性,执行环境的Office版本必须和样本制作版本保持一致,这使得VBA Stomping更适合具备目标基本信息的定向钓鱼攻击。在实战场景中攻击者也考虑到Office版本不一致的情况,在明文宏代码中实现迷惑性质的弹窗。

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

执行P-code失败后的伪装弹窗


亮点2 宏代码中利用图片插入API发送HTTP请求

在宏代码执行过程中,攻击者巧妙利用支持图片插入API发送HTTP请求实现数据渗出,规避对宏文档中常见WEB请求API调用的静态检测。


Shapes.AddPicture方法原本用于将图片添加到文档画布中,该方法的首个参数FileName的含义为插入的图像文件的路径(本地或远程),支持URL形式请求指定远程图片。

Shapes.AddPicture (FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height)


常规使用方式如下,向画布中插入本地图片文件:

'向画布添加本地图片
 shpCanvas.CanvasItems.AddPicture _ 
 FileName:="C:Program FilesMicrosoft Office" & _ 
 "OfficeBitmapsStylesstone.bmp", _ 
 LinkToFile:=False, SaveWithDocument:=True 


稍加修改,给首个参数传入URL,即可向指定的HTTP服务器发起GET请求,通过控制URL实现信息的渗出。

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

复现:利用AddPicture方法发送GET请求


亮点3 Python字节码花指令对抗静态分析工具

攻击者利用py2exe工具对RAT加载器进行封装,原始Python脚本被编译为pyc模块与精简的Python运行时打包后一起分发,通常利用uncompyle6等工具即可反编译获取原始脚本的伪代码。


攻击者通过在Python字节码层面插入花指令,有效对抗了常见工具的静态逆向分析:

  • 可执行但是不产生实际效果

  • 插入迷惑性分支与异常处理

  • 插入始终不会执行到的畸形代码以破坏反编译

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

插入垃圾代码破坏Python字节码反编译,右侧去除了花指令


本次攻击中出现的一些Python字节码花指令示例:

#读取常数到栈顶
LOAD_CONST xx
#移除栈顶元素
POP_TOP

#交换栈顶两个元素,执行两次无效化
ROT_TWO
ROT_TWO

#交换栈顶三个元素位置,执行三次无效化
ROT_THREE
ROT_THREE
ROT_THREE

02 总结

随着微软Office中安全机制的加码,宏文档攻击的适用范围进一步收缩(在高版本中被默认禁用)。但在对目标环境有充分信息收集的情况下,针对特定Office版本的定制宏文档攻击依然有用武之地。本次攻击中出现了一些宏文档攻击利用新思路,包括对宏代码的伪装以及使用替代API发起请求,在野攻击中的宏文档攻击仍有其生命力。在载荷隐匿方面,利用py2exe封装脚本与解包分析的流程都久已完善,内嵌字节码混淆技术虽然无法对抗手动分析,但对常见分析工具的对抗有效增加了分析成本,在对抗自动化分析等场景有实战价值。


攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。


攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

M01N Team公众号

聚焦高级攻防对抗热点技术

绿盟科技蓝军技术研究战队

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑

扫码加好友即可拉群


往期推荐

攻击技术研判 | 绕过Chrome安全首选项无交互安装恶意扩展

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

攻击技术研判 | 利用Excel默认密码实现静态免杀静态并减少钓鱼步骤

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

攻击技术研判 | 近期频发钓鱼新手法:伪造弹出登录窗口进行钓鱼攻击

攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路


原文始发于微信公众号(M01N Team):攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月6日12:34:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻击技术研判 | 宏文档攻击及Python恶意载荷防御规避新思路https://cn-sec.com/archives/1261582.html

发表评论

匿名网友 填写信息