35期报告汇总
 
安天发布《恶意样本移动后删除绕过防御识别的方法分析》

 
       自删除行为是恶意样本的标志行为,一般的自删除行均采用直接的方式进行自删除,近期安天追影小组通过样本分析发现了一种间接自删除方式,即通过两次移动文件操作进行自删除。第一次MoveFile对源文件进行移动和重命名,第二次MoveFileEx将移动的目标指向null,进行删除。虽然删除的是不同位置不同名的文件,但是也达到了自删除的目的,以下为原理分析。

       原理:

       底层功能函数MoveFileWithProgress具有将文件移动重命名的功能。

       BOOL WINAPI MoveFileWithProgress(
       LPCTSTR            lpExistingFileName,
       LPCTSTR            lpNewFileName,
       LPPROGRESS_ROUTINE lpProgressRoutine,
       LPVOID             lpData,
       DWORD              dwFlags);

       当lpNewFileName = NULL 使用该函数会删除需要移动的文件,所以该函数在恶意代码中多用作自删除。

       dwFlags为执行该函数的方式。该样本中使用MoveFile进行移动和重命名。



 
       通过设置dwFlag = MOVEFILE_DELAY_UNTIL_REBOOT执行完代码后,重启计算机将自删除。



 
       实现

       1、获取当前文件路径;


 
       2、将自身重命名并且移动到其他指定目录下;


 
       3、将路径指向空,设置重启后删除方式,能完整执行完恶意代码;


  
       运行该测试用例,将自身移动至指定目录下并且重命名为7777.exe
       NEWPATH = C:\\windows\\system32\\777.exe,运行后桌面的程序移动到指定目录下,重启后删除自身。

       检测方法

       由于该恶意行为不是直接通过删除自身而是命名后删除,混淆了主动防御对自删除的识别,因此需要通过组合规则来识别。首先获取初始样本的文件名,然后检测MoveFile中参数中ExistingFileName1是否与初始样本的文件名对应,并且记录NewFileName1的值。满足上述条件的情况下,获取记录MoveFileEx中的ExistingFileName2是否与MoveFile中的NewFileName1对应相等,如果相等则判断MoveFileEx中的NewFileName2是否为空,上述条件均满足就能识别出通过移动重命名自删除的这种方法。

       恶意样本绕过主动防御的方法还在更新升级,越来越多的新行为会不断出现,目前,安天追影高级威胁鉴定系统(PTD)已经可以识别上述自删除行为。