实现另一个“编程语言” - 记第四届伏魔挑战赛恶意脚本免杀
💡
原文中文,约12400字,阅读约需30分钟。
📝
内容提要
阿里云举办的伏魔挑战赛要求选手编写恶意脚本以绕过查杀引擎。今年的查杀引擎在静态分析和行为检测方面有所增强,选手需采用更复杂的手法实现免杀,如自创编程语言和API hammering等技巧。
🎯
关键要点
- 阿里云举办伏魔挑战赛,选手需编写恶意脚本绕过查杀引擎。
- 今年的查杀引擎在静态分析和行为检测方面有所增强,选手需采用更复杂的手法实现免杀。
- 常规手法如动态函数调用和字符串混淆在今年的引擎中效果不佳。
- 查杀引擎能够解析执行表达式,识别出恶意代码。
- 选手可以通过编写复杂的、不纯的函数来绕过静态分析。
- 使用globals()函数可以隐藏赋值语句,达到隐藏控制流的目的。
- 字符串格式化功能丰富,可以用来隐藏恶意代码。
- 选手可以自创编程语言来实现恶意脚本,绕过静态分析。
- API hammering技巧可以插入大量无用系统调用,干扰查杀引擎的分析。
- 反弹shell脚本需要调用系统API,使用API hammering可以实现绕过行为分析。
❓
延伸问答
伏魔挑战赛的主要目的是什么?
伏魔挑战赛要求选手编写恶意脚本以绕过查杀引擎。
今年的查杀引擎相比去年有哪些增强?
今年的查杀引擎在静态分析和行为检测方面有所增强。
选手可以使用哪些技巧来实现恶意脚本的免杀?
选手可以使用自创编程语言和API hammering等技巧来实现免杀。
为什么常规手法在今年的引擎中效果不佳?
常规手法如动态函数调用和字符串混淆在今年的引擎中效果不佳,因为引擎能够解析执行表达式,识别出恶意代码。
API hammering技巧的作用是什么?
API hammering技巧可以插入大量无用系统调用,干扰查杀引擎的分析,从而实现绕过行为分析。
如何通过globals()函数隐藏赋值语句?
使用globals()函数可以隐藏赋值语句,从而达到隐藏控制流的目的。
➡️