使用github开源工具EvilClippy进行宏病毒混淆免杀:https://github.com/outflanknl/EvilClippy/releases
关于evilClippy,有:
EvilClippy是一款专用于创建恶意MS Office测试文档的跨平台安全工具,它可以隐藏VBA宏和VBA代码,并且可以对宏代码进行混淆处理以增加宏分析工具的分析难度。当前版本的EvilClippy支持在Linux、macOS和Windows平台上运行,实现了跨平台特性。
但是笔者在测试的时候,混淆后的恶意Word文件,目标电脑下载并启用宏后,除非电脑上没有杀毒软件,不然执行的时候都会被隔离并挂起删除,不管是火绒还是Windows自带的杀毒软件。
简单使用evilClippy生成一个混淆后的含有宏病毒的Word
先将CS生成的宏病毒代码粘贴到WORD中,具体步骤为:https://www.cnblogs.com/Cl0ud/p/13824021.html
但是在另存为的时候,存储需要选择:
即Word 97-2003文档(*.doc),因为evilClippy貌似只能对该版本范围内的Word宏病毒进行混淆。
使用 -s参数通过假的vba代码插入到模块中,用以混淆杀毒程序,这里我们需要写一个正常无毒的vba脚本,以下。
使用 -s 进行混淆:
EvilClippy.exe -s test.vba test2.doc
执行完成,接着看看其他的参数:
./EvilClippy.exe -h
参数有:
Options:
-n, --name=VALUE The target module name to stomp. This argument can be repeated.
-s, --sourcefile=VALUE File containing substitution VBA code (fake code).
-g, --guihide Hide code from VBA editor GUI.
--gg, --guiunhide Unhide code from VBA editor GUI.
-t, --targetversion=VALUE Target MS Office version the pcode will run on.
-w, --webserver=VALUE Start web server on specified port to serve malicious template.
-d, --delmetadata Remove metadata stream (may include your name etc.).
-r, --randomnames Set random module names, confuses some analyst tools.
--rr, --resetmodulenames Undo the set random module names by making the ASCII module names in the DIR stream match their Unicode counter parts
-u, --unviewableVBA Make VBA Project unviewable/locked.
--uu, --viewableVBA Make VBA Project viewable/unlocked.
-v Increase debug message verbosity.
-h, --help Show this message and exit.
当然再使用一下 -r 参数来设置随机模块名(混淆安全分析工具)
./EvilClippy.exe -r . est2_EvilClippy.doc
将最后的test2.doc丢到在线查杀网站上检查一下:
https://www.virscan.org/language/zh-cn/
未加任何参数的文件,扫描结果为:
经过 -s 参数之后的文件,扫描结果为:
经过 -s 和 -r 参数之后的文件,扫描结果为(少了一个引擎报毒):
这测试结果有毒吧hhh,不过该工具2019年发布,现在这么多杀毒软件能够查杀也是很正常的事情,毕竟别人是靠这个吃饭的,所以还是得深入到vbs代码底层去进行免杀。