GodLua后门最新版本分析

Posted 启明星辰金睛安全研究团队

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GodLua后门最新版本分析相关的知识,希望对你有一定的参考价值。

3月中旬,我们在某事业单位拦截到下载可疑EXE的行为,分析发现该EXE只是个下载者,并没有其它功能。继续分析它所下载的EXE,确认是后门GodLua。
GodLua最早由360netlab在2019年7月所披露,它是首款利用DoH(DNSover HTTPS)协议的恶意软件。GodLua使用DoH协议来获取C&C服务器,从DNS文本中检索第二/第三阶段C&C的方式并不新鲜,但使用DoH请求而不是传统DNS却是首次出现。
我们知道 HTTPS可有效阻止中间人攻击,也让中间人或运营商无法监测用户实时的访问信息。但在DNS并没有加密,即便网页是HTTPS,但运营商依然可以看见用户浏览的网站。
DoH(DNS over HTTPS)是专门为DNS服务器推出的TLS 加密功能,从用户发出访问请求开始全程加密。一句话,DoH请求对第三方观察者加密且不可见,极大了改善用户的隐私与安全。
GodLua主要针对Windows和Linux系统,下边主要分析它的通信协议。我们这次GodLua的版本是20191205160252,所谓版本是硬编码的时间,如下:

其中0x125D219C753C正是20191205160252,而它的编译时间是20191205080254,两者很接近,目前不清楚版本所代表日期的具体含义。在和C&C建立通信的HANDSHAKE阶段,会把版本会发送给C&C。


Windows的C2指令:

命令

命令码/类型

HANDSHAKE

1

HEARTBEAT

2

LUA

3

SHELL

4

UPGRADE

5

QUIT

6

SHELL2

7

PROXY

8


它的数据包格式为:

命令码/类型

数据长度Length

数据

1字节

大端,两字节

Length字节


本次GodLua的C&C已经失效,因此使用之前版本为20190621174820的GodLua报文。


HANDSHAKE:

GodLua后门最新版本分析

命令码/类型                   :packet[0]                 --->0x01,HANDSHAKE

数据长度Length            :packet[1:2]               --->0x0010长度

数据                              :packet[3:end]

                                             data[0:7]           --->Session随机生成

                                             data[8:end]       --->version,0x0000125cfecd8c24 ->20190621174820


HEARTBEAT:

Send:

         命令码/类型           :packet[0]         --->0x02,HEARTBEAT

         数据长度Length     :packet[1:2]      --->0x0004

         数据                       :packet[3:end]  --->time,0x5d1c1ad2, 1562122962

Replay:

         命令码/类型            :packet[0]         --->0x02,HEARTBEAT

         数据长度Length      :packet[1:2]      --->0x000a

         数据                        :packet[3:end]  --->1562122962


Linux的报文格式稍微有点变化,仍以HANDSHAKE为例:

数据长度Length               :packet[0:1]         --->0x0038

命令码/类型                      :packet[2]           --->0x02,handshake

数据                                  :packet[3:31]

                                         :Data

                                                 Data[0:15]     ---->xorkey--->0x2289c398.....2ad26c,随机生成

                                                 Data[16:23]    ---->version,0x00125cfecd8bdc--->20190621174748

                                                 Data[24:52]    ---->arch(Linuxi686-static-linux-uclibc),硬编码.


需要指出的是,Linuxi686-static-linux-uclibc是硬编码的,不同的样本并不一致,其它如Linux-x86,这说明攻击者为不同系统架构单独编译相应样本。 

360 netlab最早披露的样本版本是201811051556,而编译时间和版本对应时间很接近。显然至少在2018年11月就已经出现,已经持续一年多了,攻击者一直在更新。

以上是关于GodLua后门最新版本分析的主要内容,如果未能解决你的问题,请参考以下文章

留后门?Nacos被爆存在严重的旁路身份验证安全漏洞!

安全运维之:Linux后门入侵检测工具,附最新bash漏洞解决方法

Kafka各版本对比分析

如何使用 git CLI 获取最新版本

react-dev-utils 最新版本安装易受攻击的 browserslist 版本

Cesium矢量地图插件发布新版本