一、配景
近期截获一例行使最新发布WinRAR破绽(CVE-2018-20250)的冲击样本,文件名为Meeting summary.rar。该恶意ACE压缩文件内含一个名为Meeting summary的Office Word文档,诱使受害者直接解压释放该文件。
用WinRAR打开后该压缩档包含内容如下所示。
在winrar内一向点击进入目录可看到startups.exe的具体信息,如下图所示。
当受害者经由WinRAR直接解压该文件便会触发该破绽,从而释放内置的恶意法式(startups.exe)到用户windows系统的启动目录内,从而使得下次重启系统的时候该恶意法式能主动启动运行。
二、startups.exe法式剖析 文件名 startups.exe MD5 7706640ac741740d1e5521ed671e8904 SHA1 59773b72caefa9f882a8602a19d9210fa9ad1f65
startups.exe法式执行后首先会删除以前生成的文件。在暂时目录下查找以.ocra-delete-me结尾的文件并删除之。
经由GetModuleFileName获取可执行文件全路径文件名。
然后获取exe地点的目录名称。
设置情况变量OCRA_EXECUTABLE。
打开exe文件并映射到内存。
判断文件标记0x41B6BA4E,EXE文件是否是以该四个字节为结尾。
行使winhex打开startups.exe,能够看到startups.exe的确以该4个字节竣事。
读取把持标记号地点的位置(文件尾部倒数第8个位置起头的四个字节),从上图我们能够看到标记号地点的位置是0×00009600,也就是从exe文件偏移0×0000960处取值,startups.exe中取值是0×00000004。
执行0×00000004把持号响应把持,该把持是行使LZMA算法进行文件解压缩。
在解压缩函数004032c0把持后,解压后的内存部门数据如下所示。
在解压缩数据中读取把持标记号,如上图中起头的4个字节为0×00000001,该把持是建立目录。上图中能够看到建立的目录是src目录。然后是把持标识号为0×00000002,透露的是建立文件,上图中紧跟厥后的文件名为src\buby.rb。
如斯一来,就把解压数据中包含的所有目录和文件建立到系统暂时目录下响应的位置。
随后,经由把持标识号0×00000006进行历程建立动作。建立启动的历程是bin目录下的rubyw.exe(ruby法式),参数是src\ruby.rb。
IDA代码如下:
ruby.rb的内容如下:
上面代码的行使https接见https://66.42.33.59:443/#WEZf的内容,然后经由RtlMoveMemory、CreateThread建立并启动线程。
遗憾的是,该URL今朝已经无法保持,是以无法剖析进一步的恶意负载。
此外,经由收集搜刮,发现上述剖析中经常发现的OCRA字符串其实是一个开源项目。OCRA(OneClick Ruby Application Builder)是一个将.rb文件打包为可执行文件的gem,生成的EXE可离开Ruby情况运行。其道理是将Ruby法式运行所需的注释器、gems等悉数打包“带走”。
常用参数如下:
–windows 不显露掌握台(rubyw.exe)
–console 显露掌握台 (默认,ruby.exe)
–dll dllname 包含Ruby的bin目录中指定的DLL
–no-lzma 打包时禁用LZMA压缩
–quiet 不显露打包进度
–help 查察ocra匡助
–no-autoload 不包含剧本中autoload的项目
–icon 用自界说的ico替代掉默认的红宝石图标
由此,startups.exe其实就是一个由OCRA转换过来的exe文件。
三、竣事语
1、行使winrar(CVE-2018-20250)破绽;
2、行使OCRA将RB代码转换成EXE法式;
3、后续的恶意代码也是行使RB说话。
能够预期,行使WinRAR破绽(CVE-2018-20250)流传恶意法式的冲击行为将愈发红火。此外,行使开源框架(本文OCRA)实现恶意代码加载或者成为一种趋势。
用户要对后缀名为rar的压缩文档增强小心,建议未升级winrar补丁的用户立马更新winarar新版本或许删除UNACEV2.DLL文件使其无法支撑ACE花样。此外,建议点窜winrar使用习惯,不要在未明的情形下直接右键解压释放。建议双击打开后,看清楚压缩包的具体信息后在解压。