- 概述
*.dDNS.net
威胁类型
木马
样本性质
曾关联海莲花等APT组织
- 准备工作
将样本记录的硬编码字符串的每一个字节加0x23,可以获得密钥、域名、注册表键
文章插图
作用
*.ddns.net
C2服务器域名
Softwaremicrosoftwindows NTCurrentversion
注册表键
ProductName
注册表键,系统版本
ComSpec
环境变量:CMD.EXE的路径
2q36kj8*6t9w5
密钥:数据加密解密时使用的密钥
- 通信行为-接收
样本采用TCP自定义加密通信,IP为域名(*.ddns.net)解析成功后得到的IP,端口为5832 。
文章插图
3.2 接收、校验数据
样本使用TCP协议传输数据,TCP载荷部分使用自定义加密协议,并且协议格式中含有身份校验位,只有校验通过才解析后面的内容,不通过则继续接收数据 。
1、2、3、4、5字节
6、7字节
8、9字节
10、11字节
后续
连接包
会话ID
/
/
/
/
命令与控制包
会话ID
数据大小
指令码
是否解密标志位
传输的数据
备注
单次会话值相同
做大小校验
不同指令执行不同的操作
为0则不解密数据,大于0解密
需要解密的数据
接收数据包格式一览表
每次对接收的数据的校验方式如上表 。第一次连接或者重新连接的数据包的前5个字节的值作为会话ID 。
接收的数据包由三部分组成:
- 填充数据(长度可变)
- 11个字节的校验数据、指令
- 后续操作需要的参数、数据
文章插图
接下来,校验有效数据的大小,有效数据的大小记录在第6、7字节,校验通过会根据第10、11字节的值来决定是否解密后续的数据 。
3.3 解密数据
解密操作就是由硬编码得到的密钥和数据进行按位异或,返回的数据包也是这种方式加密的 。
文章插图
- 执行指令
指令大致分为三类
- 获取基本信息
- 操作CMD.EXE
- 关闭进程、线程
获取电脑系统信息、磁盘盘符、文件信息、进程信息以及TCP&UDP表的信息,并将获取的信息按照不同的格式拼接,然后将拼接好的数据与密钥做加密操作,并且将加密后的数据拷贝到发送缓冲区中 。(具体的发送格式以及指令功能见文章末尾的发送数据包结构一览表)
文章插图
4.2 操作CMD.EXE
创建两个匿名管道,获取环境变量ComSpec的值即CMD.EXE的路径,以这个路径创建进程CMD.EXE,并且在创建进程的时候将进程的输入、输出各绑定一个匿名管道,这样就可以通过管道来对CMD.EXE进行远程操作,其中输入CMD的指令就是有效数据中解密后的数据,输出即回显通过管道获取,再拼接相应的格式后加密存放到发送缓冲区中 。
文章插图
文章插图
文章插图
推荐阅读
- 如何开始使用CS10无线网关
- 英国下午茶的传统,传统的英式下午茶其实是一种-
- 家常驴打滚怎么做
- 街头冰淇淋怎么自制?
- 最新整理 使用磷酸二氢钾请注意这5种情况,磷酸二氢钾正确的使用方法-
- 吃柿子有什么好处
- 奥利司副作用吓人
- 中药泡脚盆使用要注意什么
- 江西涉事中学回应禁用手机-如何看待学校禁止学生使用手机
- 角质层薄能敷面膜吗