分你所享、信息共享、轻松分享
来自民间的思想 | 送人玫瑰,手有余香。

Gh0st大灰狼RAT家族通讯协议分析

0×00 概述

本报告由360云影实验室编写发布,主要分析Gh0st/大灰狼远控木马的通讯协议和其源代码中关于通讯协议实现的细节,以及对Gh0st/大灰狼通讯实现从自身安全性,实现的合理性上给出评价,举例相关的不足,破绽和漏洞,力图在远控木马攻防的实践上提供一些参考方向,以更好的防御与反击使用远控木马的黑客。 因Gh0st和大灰狼两个家族有相当多的重用的代码部分,所以本文将其放在一起对比分析。本文内容涉及其私有协议的数据结构解析,通讯模式和命令,流量检测点和控制端存在的漏洞以及可能存在被滥用的协议实现的缺陷几个部分。相关引用链接可在文末的References中找到。

0×01 变种关系

Gh0st是一种在互联网上被广泛传播的远控木马家族,因为其源代码开放,所以有各种五花八门的变种和改进版本,大灰狼是其中影响力较大的一个变种家族。 Gh0st/大灰狼都由控制端和被控端两部分组成,通常是由黑客在CC主机上运行控制端,并监听一个通讯端口,然后释放出被控端程序,再将被控端程序通过各种手段植入到中招的“肉鸡”上运行,肉鸡主动请求控制端的监听端口建立连接上线: Gh0st大灰狼RAT家族通讯协议分析 Gh0st的变种主要可在其通讯协议头部的Magic number中被识别,根据AVG旗下的Norman Safeground在2012年发布的一篇报告 The many faces of Gh0st Rat 中可以获知一些关于Gh0st变种的信息,当时捕获的样本主要包含如下Magic: 7hero, Adobe, B1X6Z, BEiLa, BeiJi, ByShe, FKJP3, FLYNN, FWAPR, FWKJG, GWRAT, Gh0st, GOLDt, HEART, HTTPS, HXWAN, Heart, IM007, ITore, KOBBX,KrisR, LUCKK, LURK0, LYRAT, Level, Lover, Lyyyy, MYFYB, MoZhe, MyRat, OXXMM, PCRat, QWPOT, Spidern, Tyjhu, URATU, W0LFKO, Wangz, Winds, World 大灰狼是在Gh0st公开的源码基础上改进出的一个木马家族,对Gh0st的很多功能细节都进行了较大幅度的修改,再加上大灰狼也开放了自己的源代码导致大灰狼也演化成了包含各种变种的一个独立家族,因为大灰狼的主要影响范围在国内,而且其通讯协议在Gh0st基础上做了更多加密隐藏的工作,所以已有的针对大灰狼的技术分析文献相对较少,其变种的特征也不是很明显。大灰狼与Gh0st有非常相似的控制端界面: Gh0st大灰狼RAT家族通讯协议分析 由此可以直观感受到两个家族的相似性。

0×02 Gh0st通讯实现

包结构

Gh0st的通讯完全遵循C/S模型,使用TCP承载的私有协议,这里用网上流传的最原始版本的Gh0st 3.6的源码为例。基本的通讯协议可以从控制端的通讯逻辑(gh0st3.6_src\gh0st\include\IOCPServer.cpp 的