前言
2021年1月13日,蠕虫病毒incaseformat大范围爆发,该病毒会格式化系统盘外的分区及删除数据,感染后会通过U盘进行传播,传播性强,隐蔽性高,危害性大。
笔者在样本分析小组里得到一个样本,对病毒进行分析。笔者能力有限,如有分析不足之处,还请评论指出。
单步调试
调试总是退出,最后跟踪到这个函数内,发现了这两个字符串:
其中有个是注册表项,网上搜索是开机自启动的,进入IDA查看这个地址对应的行为。
SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\
msfsa:C:\\windows\\tsay.exe
即判断文件是否存在,如果不存在就拷贝过去再注册开机自启动,否则直接注册开机自启动。
继续调试,
接下来会判断正在运行的程序和目标地址的程序是否是同一个,如果是则继续,否则退出。
如果是同一个就将自己复制一份,路径为
C:\\Windows\\ttry.exe
-
把自己复制到
C:\Windows\tsay.exe
,并注册开机自动启动
-
tsay.exe依靠开机自启,tsay.exe复制一份副本
C:\Windows\ttry.exe
,并且执行
-
ttry.exe执行主逻辑
三个过程中都会通过判断自己的路径来决定执行什么动作,第一步判断目标文件是否存在以决定是复制还是执行文件。
病毒行为
发现病毒会清除除系统盘之外的其它磁盘,所以在delphi删除文件的API下断点,果然断下了。
跟踪到了sub_44EC70,这个函数的功能就是删除某个磁盘下的所有文件。
-
通过前缀路径*.*匹配所有文件名,循环删除
-
遇到文件夹则递归删除
通过交叉引用找到TForm1_Timer2Time
-
获取时间,如果年份大于0x7d9(2009),月份大于3,日期为1,10,21,29,就执行下面的动作
-
这里由于delphi库函数的一个常数错误,导致时间换算错误,于是在13日爆发
-
获取磁盘列表,位于sub_44E5C8
-
调用sub_44EC70删除磁盘上的文件
-
从调用顺序看出,磁盘列表第0位为系统盘
-
从C开始,一直穷举到Z。DelphiAPI DiskSize判断磁盘是否存在,通过GetDriveTypeA判断磁盘类型。
-
对于DRIVE_REMOVABLE类型和DRIVE_FIXED类型都执行一个动作。
其它相关行为
从函数命名和函数功能可以看出,这个函数是通过定时器被调用的。
通过交叉引用找到了这几个函数:
可以看到,除用于删除文件的Timer2外,还有三个定时器,经过分析,确定以下功能:
另外调试过程中发现:
在Timer2执行时,会把文件夹先删除,再把自己以文件夹名.exe复制过去,再删除。
检测&清除措施
-
检查任务管理器,查看是否有ttry.exe进程
-
文件夹选项勾选显示扩展名,显示隐藏的文件、文件夹或驱动器。
-
查看C:\Windows目录下,是否有tsay.exe和ttry.exe,如果有就删除。
-
Win+R执行regedit打开注册表,查看是否有
HKEY_CURRENT_USER\ SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\
下是否有
msfsa
键的项,如果有就删除。
-
删除各驱动器下的incaseformat.log
防护措施
招新小广告
ChaMd5 Venom 招收大佬入圈
新成立组IOT+工控+样本分析
长期招新
欢迎联系
admin@chamd5.org