文件: InstallAntivirus2010.exe
语言: Unknown
类型: Scareware/FakeAlert
MD5 : 7A1EA3BCE90A5F88509E5862A9D93369
加壳: - / 部分数据使用Base64/BinaryEncrypt
大小: 112,128 字节
时间: 2010-7-28 22:43:40

本文来自www.sacour.cn 转载注明来源/包含高手绕道声明

昨天的一个样本,代码里面有很长一大段类似于Base64加密的代码:

而把它前几个字符稍加计算转换成明文,
密文.     i      V      B      O
明文.      89       50       4E

密文.     R      w      0      K
明文.       47       0D      0A

得到8950 4E/47/0D 0AXXXXXX,看到这一组代码之后有什么反应没?没错,正常人都不会有反应的,不过这儿不是重点,因为不打开程序的话我还不知道它是不是用BASE64加密的呢,我是因为看到后面有很多的AAAA(BASE64解密的时候4字节一组,A偏移量是0,而且表示6个bit,即是000000,4个A即是24bit的0,转成明文即为3字节的00(NULLCHAR)),很像二进制文件中的代码,那么假设它们就是程序代码,在OD中使用Binary方法输入,看一下这些代码是干什么的:
+0:      8950 4E       mov     dword ptr [eax+4E], edx
+3:      47            inc     edi
+4:      0D 0A??????   or      eax, ??????0A

看起来还真有点像是程序代码,等下让它自解密之后看看是不是这样呢?

解密过程,即是一种BASE64解密算法,程序第一个函数调用即是解密过程,密码盘在这儿,BASE64解码专用:

解密之后,搜一下89504E470D0A,……看来之前估计的BASE64是没错,但是把它当作是程序代码好像不对,因为这个是PNG的文件头,之前忘了它是FakeAlert了,肯定会弹个窗口骗人的,防止杀软对窗口里面的图片取特征(某些杀软不是喜欢在.data段取特征嘛- -),它用了BASE64加密,而且之后免杀也简单,换个码表就能生成完全不同的加密字符了。

后面的主要就是创建一个窗口和图片框,加载图片,显示主窗口,(可能需要提前在GetDlgItem、CreateFileA处设置一个断点。)首先程序弹出这样一个窗口:

假的,像是抽随机数加上去的……断GetDlgItem的话这儿会比较卡,之后程序会读取资源,将一些没有意义的字符写到sys32\msaszhmo.dll,然后会弹出个窗体,(~~中间打开mlang.dat之类的动作跳过啦,代码太恶心了,没注意就过去了。。~)问你是否同意安装,不管你同不同意反正程序就是复制自己到%windir%\system32\usеrinit.exe,注意这儿的е是俄语那个字母,不是英语字符e。

总之比较古怪了,不知道是不是沙盘里面执行的缘故,总之分析的不是太成功,囧,一直不用OD都不熟悉操作了,以后再去看看吧,清理的话:

1. 结束进程usеrinit.exe
2. 删除usеrinit.exe/msaszhmo.dll