实验环境
实验设备环境:windows xp
实验工具:PEID,strings,IDApro
实验过程
首先使用strings进行静态分析如下:
我们可以看到其涉及到网络状态,一个未知的域名以及一些注册表相关的信息。
下面可以使用PEID查看一下导入表:
我们可以观察到此dll会调用创建目录API函数,之前我们利用strings查看到包含C:\Temp,就是通过此函数创建的。
我们可以看到这个dll调用的函数是有关于注册表设置值的一些API函数。
下面使用IDA进行分析:
1、比较在main函数中与上一个实验的mian函数相比,新调用的函数是什么?
通过对比可知:
图中圈出的函数为新函数,点击进入:
我们会发现其存在两个正数,那么就说明此函数包含两个参数。
2、这个新函数使用的参数的什么?
返回上一层:
可以发现此函数的两个参数一个是存放在eax中一个是存放在ecx中。其中eax取决于argv。ecx的取值取决如下:
可以从上图中发现ecx的值取决于al,而al的值取决于sub_401040函数。
3、这个函数主要的代码结构是什么?
switch语句
4、这个函数能够做什么?
我们可以先分析一下switch分支中每一个分支代表的含义:
(1)第一个分支
第一个分支的作用是在C盘下创建一个Temp文件夹。
(2)第二个分支
第二个分支是确保将自身复制到Temp文件夹下并修改名为cc.exe文件。
(3)第三个分支
第三个分支的目的是删除文件(C:\temp\cc.exe)
(4)第四个分支
第四个分支的作用是写入注册表,打开Software\Microsoft\Windows\CurrentVersion\Run
将以Malware为key,value为C:\Temp\cc.exe。这样就实现了自启动
(5)第五个分支
第五个分支是进行休眠,186A0h转换为10进制就是100000,也就是100s.
(6)defalut缺省分支
我们饿可以看到此分支的目的就是打印一个字符串,具体字符串为:
5、恶意代码有什么本地特征?
通过以上分析我们知道恶意程序存在注册表本地特征。
6、这个恶意代码的目的是什么?
通过检测本地连接,如果本地有连接那么就连接指定的恶意网址,从中获取指令,其指令可能是创建新的文件夹、复制文件、删除文件、休眠以及打印缺省字符串。