对某病毒样本的分析——第二弹之主体部分

Oci.dll

获取当前session 其实session概念是从visit之后才出现的,在XP中所有程序都在session 0中运行

遍历进程 找explorer.exe

获取explorer.exe的token

调用CreateProcessAsUserA函数 在session 0中运行 syncnet.exe

在OD跟的时候和实际检测到的命令行是不一样的 实际上是使msdtc服务自动运行

到这里 oci.dll的任务完成了 syncnet.exe随之运行

Syncnet.exe

读setup.ini中的字符

直接以命令行的形式运行 实际上是在开机运行中加了start.exe文件

最后在注册表中加了一个键 并设置了一个值 现在还不知道是干什么的

Dllhost.exe

将解压的代码复制到0x10000000处

Map各个节区

解压IAT

关键跳转

其实这个阶段和解压阶段时候inst.exe解压config.dat的操作是一样的

在Application Data目录下创建limit目录

在目录下创建crossfire.exe

通过CreateProcess运行crossfire.exe

在0x10001F80进入远控环节

【不要问我为啥换了OD版本………因为那个版本崩了好几次我闹心了

获取主机名

向58.20.79.4建立TCP连接

发送数据包

获取本机计算机名 系统信息等

创建新线程 重复运行此函数 以保持远控连接

监控网络连接 发现与58.20.79.4:2015已经被建立了远控

Start.exe

在临时文件目录下创建了一个日志文件

写日志文件

其实这个exe文件的每一步做完都写了日志文件

我懒得开日志文件看了

设置环境变量

通过CreateProcess运行load.exe

在注册表建新键 并设置键值 和上面syncnet.exe的操作是一模一样的

其实分析到这里,这个样本的流程已经差不多完全出来了,我并没有从头到尾把所有行为都写出来,只写了一些关键部分,实际上最关键的部分是dllhost.exe这是远控的主体,剩下的无非是使远控能不断运行,包括开机自启动,几个主要文件循环运行。

再次梳理一下样本的流程(主要是我懒得画流程图了 就用字儿写吧)

首先 由样本1234(1)解压出irsetup.exe与lua.dll并运行irsetup.exe

然后 由irsetup.exe 在目录下解压出config.dat Inst.exe io.dat TenioDL_core.dll四个文件并运行Inst.exe文件

然后由Inst.exe在windows目录下创建了oci.dll 在PolicyDefine目录下创建了 setup.ini与syncnet.exe文件 在Slimit目录下创建了 config.dat dllhost.exe load.exe setup.ini start.exe TenioDL_core.dll

直接运行dllhost.exe开启远控

通过修改注册表启动msdtc服务时加载oci.dll 由oci.dll加载syncnet.exe

到现在可能有人注意到为什么没有提那个crossfire.exe……………这次真的是我不知道那个文件到底做了什么,在VT上检测这个文件也是白的 我去分析 也没发现什么恶意行为……所以就没写。

事实上…………..这是我分析的第一个远控……………………………….

发表评论

电子邮件地址不会被公开。 必填项已用*标注