攻击技术研判 | 改进的反虚拟机反调试技术

admin 2022年8月2日12:15:02安全文章评论3 views1239字阅读4分7秒阅读模式
攻击技术研判 | 改进的反虚拟机反调试技术

情报背景

GuLoader于去年3月底被首次发现,2022年再次出现。攻击者在新的变种中改进了其反调试与反虚拟机技术,很大程度上增加了分析难度,本文将就其中出现的防御规避技术进行分析研判。

组织名称

GuLoader

战术标签

防御规避

技术标签

虚拟机/沙箱规避

情报来源

https://cert-agid.gov.it/news/malware/tecniche-per-semplificare-lanalisi-del-malware-guloader/


01 攻击技术分析

亮点一:改进的基于RDSTC指令的反虚拟机技术

RDSTC指令是读取系统启动后的时钟数的汇编指令,调用两次RDSTC指令检查时间间隔是常见的反调试手段。而本次攻击中对RDSTC的反调试利用进行了改进:在调用两次RDSTC命令之间调用CPUID命令,并观察其时间间隔。CPUID指令在虚拟机内执行后会发生VM-Exit事件,交由管理程序处理并返回结果。这个过程可被篡改,这也是仅靠CPUID的结果并不能很好地达到对抗效果的原因。但是由于处在虚拟化环境中,CPU的能量状态会影响指令执行时间,导致虚拟机执行CPUID指令的速度会比在真实物理环境中慢。攻击者利用TSC时间戳计数器测量指令的持续时间,并判断运行环境是否在虚拟机中。

攻击技术研判 | 改进的反虚拟机反调试技术


攻击者会利用RDTSC指令继续重复测量并累计结果,如果累计结果超过设定阈值则判定为处于虚拟机环境中,以规避虚拟机或沙箱的分析。


亮点二:基于中断处理的反调试技术

 攻击技术研判 | 改进的反虚拟机反调试技术

攻击者通过在程序中插入INT3指令主动触发程序异常,并在自定义的异常处理程序中异或解码后续指令,修改寄存器恢复正确的执行序列。攻击者利用这种机制对汇编指令与真实的执行流程进行混淆,对断点设置的干扰也对调试分析造成一些难度。


02 总结

1.改进对RDTSC的新利用方式,配合CPUID指令的调用与基于精确时间的判断,识别所处环境,达到反虚拟机的效果;

2.利用指令加密并通过INT3中断解密指令执行的方式执行Shellcode,隐藏真正的执行流程,增大了静态动态分析的难度。


攻击技术研判 | 改进的反虚拟机反调试技术

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

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


攻击技术研判 | 改进的反虚拟机反调试技术

M01N Team公众号

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

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

攻击技术研判 | 改进的反虚拟机反调试技术

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑

扫码加好友即可拉群


往期推荐

攻击技术研判 | 不讲武德,再次发现投毒的“漏洞工具”

攻击技术研判 | 改进的反虚拟机反调试技术

攻击技术研判 | Symbiote“共生体”-利用eBPF技术的高隐匿Rootkit

攻击技术研判 | 改进的反虚拟机反调试技术

攻击技术研判 | 基于进程虚拟机的混淆分析对抗技术

攻击技术研判 | 改进的反虚拟机反调试技术


原文始发于微信公众号(M01N Team):攻击技术研判 | 改进的反虚拟机反调试技术

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月2日12:15:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  攻击技术研判 | 改进的反虚拟机反调试技术 http://cn-sec.com/archives/1215225.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: