一:目录

1 .示例信息

2 .行为分析

3 .样本分析

4 .详细分析

(2)样本信息

1 .样品名称:样品. exe (脱壳后为样品dump.exe ) )。

2.MD5:5b8bc 92296 c2fa 60 fecc 6316 ad 73 f1 e 2

3 .是否装壳:装壳UPX

4 .编译语言: visual C

三.行为分析

1 )确定注册表中的系统是否感染

2 )获取windows目录,实现定时器随机命名,将病毒副本隐藏在windows目录中

3 )删除示例文件

4 )创建服务,实现自我启发

5 )链接指定网址,执行后门行为。

四.详细分析

1 .用1.PEID检查外壳,发现用UPX添加了外壳,偏离了ESP的法则

2 .病毒首先链接currentcontrolservices和15654656,使用RegOpenKey打开此注册表。 目的是确定是否创建了此服务,即系统中是否存在病毒

3 .如果此服务不存在,病毒将运行405A25并打开服务管理器。 然后获取windows目录,比较c://windows,然后通过GetTick获取计数器,并将其exe文件复制到windows目录中。 目的是实现自身隐藏,然后调用CreateService创建病毒服务。 确定服务是否打开,然后打开服务。 最后,获取目录信息,然后获取当前进程信息。 目的是获取示例文件的信息,准备删除,然后调用shell x以cmd可执行文件/c del nul删除示例文件并设置进程优先级。 之后为了准备破坏

4。 如果此服务存在,请执行后续操作。

调用StartServiceCtrlDispatcher函数执行线程

6 .分析服务线程

1 )获取closesocket和SDetServiceStatus等函数的地址

2 )创建互斥体,确保系统中只有一个病毒实例运行

3 )创建线程,枚举资源列表并更新文件。

a )与之前的)2)一样,打开15654656注册表以确定病毒是否正常运行。

b )获取文件属性,创建文件,读取文件,替换文件资源

c )加载刚刚更换的资源文件hra%u.dll

4 )分析第一个线程:

a )获取网络主机名和地址

b )比较用户名和密码:

c )获取当前文件路径并将文件分别复制到c、d、e磁盘(E:g1fd.exe )【调用copyfile函数执行】

d )在c、d、e上获取当前时间并运行程序,否则将文件复制到f驱动器,休眠500ms后创建下一个线程。

5 )分析第二个线程:

a )初始化网络配置,休眠100ms,获取本地时间,将其转换为int类型,如果小于20030221,则一直运行,然后创建CreateStartFun线程(本质上是调用StartAddress函数)

b )在StartAddress内部访问短地址aa.re67das.com,获取IP地址并使用套接字链接。

c )获取计算机的基本配置,然后单击load hra%u.dll

d ) send ) )发送刚刚获取的设备信息。

e )利用名为SelectAndRev3的函数,不断从服务器端接收控制信息,

f )输入第16号控制代码:

g )输入18号控制码(行动见脑图) :

6 )分析第三个线程:

a )获取本地时间,并且线程在小于2013.02.21时继续运行

b )否则,执行线程,如c :

c )如上所述,分析线程2匹配。 只有比2多一个文件写入函数

7 )分析第四个线程:

a ) MainFun4只比MainFun3连接到特定url的函数更多,但未分析此解密过程。 但是,可以通过apadns获取相关信息。