CIA Hive 测试指南——源代码获取与简要分析

发布于 2025-02-08 02:05:00 字数 6805 浏览 13 评论 0

0x00 前言

11 月 9 日维基解密公布一个代号为 Vault8 的文档,包含服务器远程控制工具 Hive 的源代码和开发文档。本文仅站在技术角度,介绍测试方法,简要分析工具特点。

维基解密地址:https://wikileaks.org/vault8/

0x01 简介

本文将要介绍以下内容:

  • 源代码获取方法
  • 框架流程分析
  • 工具具体说明
  • 特点分析

0x02 源代码获取

下载地址:https://wikileaks.org/vault8/document/repo_hive/

代码库中的文件创建于在 2013 年 8 月和 2015 年 10 月之间,但工具 Hive 的开发时间应该更早

维基解密以 git 的方式公布该代码,包含以下几个分支:

  • armv5
  • autotools
  • debug
  • dhm
  • makemods
  • master(默认)
  • mt6
  • polar-0.14.3
  • polar-1.1.8
  • polar-1.2.11
  • polar-1.3.4
  • solarisbug
  • ubiquiti

下载后发现并不包含相关源代码,需要使用 git 释放源代码

注:这种方式能够减小源代码体积(下载文件大小 95.5MB,实际文件大小 170MB)

1、安装 git

kali2 默认安装,未安装的 Linux 系统使用以下安装命令:

sudo yum install git

Windows 系统下载地址:https://git-for-windows.github.io/

使用如下图

Alt text

2、常用 git 命令

查看所有分支,当前分支会被星号标示出:

git branch

当前分支为 master,如下图

Alt text

查看历史版本:

git log

查看 git 状态,能够列出被修改但还未提交的文件:

git status

如下图

Alt text

切换分支:

git checkout -b (branchname)

由于当前操作并未提交,所以恢复删除的文件使用.即可,命令如下:

git checkout .

成功释放出 master 分支下的代码,如下图

Alt text

补充切换版本的方法:

查看版本号:

git reflog

切换版本至 polar-1.3.4:

git checkout polar-1.3.4

0x03 框架分析

结合框架图对 Hive 进行分析

原图片来自 \hive\infrastructure\documentation\Hive Operating Environment.odp

我在原图片的基础上做了标记,便于分析,如下图

Alt text

(1) Client

相当于木马的被控端,通过 hive-patcher 生成

支持以下系统:

  • mt-x86
  • mt-mips
  • mt-mipsel
  • mt-ppc
  • linux-x86
  • sol-x86
  • sol-sparc

可使用以下目录的不同版本:

  • hive\snapshot_20141217-1052\clientDirectory
  • hive\snapshot_20141107-1345\clientDirectory
  • hive\snapshot_20141017-1409\clientDirectory

测试使用 hive\snapshot_20141107-1345\clientDirectory

用法如下:

./hive-patcher -a address [-d b_delay] [-i interval] (-k idKey | -K idKeyFile) [-I interface] [-p port] [-t t_delay] [-m OS]

该工具的详细说明可参考用户文档,位于 \hive\documentation\UsersGuide\UsersGuide.odt , 2.3 (S) Patcher

实例:

./hive-patcher -a 192.168.81.192 -p 4567 -i 3600 -j 5 -m linux-x86 -k "Testing Testing"

生成过程会显示配置信息,如下图

Alt text

(2) 端口转发

VPS Redirector,第一跳板,实现流量转发功能

详细配置可参考:\hive\infrastructure\documentation\Infrastructure Configuration Guide.odt6 (S//NF) VPS Redirector

(3) 中转服务器

Blot Proxy,第二跳板,实现流量分发功能。使用 OpenVPN 同 VPS Redirector 进行通信,对 Client 的证书进行校验,若证书有效,流量转发至 Honeycomb 服务器,若证书存在问题,流量转发至 CoverServer

详细说明可参考:\hive\infrastructure\documentation\Infrastructure Configuration Guide.odt5 (S//NF) Blot Proxy

需要安装 Blot-4.3 sinnertwin-blot-beastbox-1.3-1

具体功能通过 Switchblade 实现

Switchblade:

通过开源 Web 服务器 Nginx 和 LinuxIP 路由策略实现流量分发

详细配置可参考:\hive\infrastructure\documentation\Switchblade.odt

(4) Server

控制端,分为 CoverServer 和 Honeycomb

CoverServer:提供正常的网页功能,可根据不同端口返回不同的域名信息

详细配置可参考:\hive\infrastructure\documentation\Infrastructure Configuration Guide.odt3 (S//NF) Cover Server

Honeycomb:实际控制端,该部分的详细配置说明缺失,提供给用户操作的界面程序为 Cutthroat

Cutthroat:

相当于木马控制端,发送控制命令

可使用以下目录的不同版本:

  • hive\snapshot_20141217-1052\clientDirectory
  • hive\snapshot_20141107-1345\clientDirectory
  • hive\snapshot_20141017-1409\clientDirectory

启动方式:

./cutthroat hive

如果控制台回显 success,代表加载成功

详细配置可参考:\hive\documentation\UsersGuide\UsersGuide.odt , 3.4 (U) Command and Control Client

使用版本 snapshot_20141217-1052\clientDirectory 会报错,返回

./hive: undefined symbol: debug_print_buffer
[local failure] Failed to load hive [load]

如下图

Alt text

换另一个测试版本 snapshot_20141107-1345/ctDirectory

返回

[success] Successfully loaded hive [load]

如下图

Alt text

按下 Tab 键能够获得可用的命令

通信上分为两种模式:

主动连接:

ilm connect <triggerFileName>

用于主动连接服务器上的后门

被动连接:

ilm listen <port>

当成功与 Client 建立连接后,支持如下操作:

  • cmd exec
  • file put
  • file get
  • ilm exit
  • quit
  • shutdown now
  • shell open

0x04 其他工具

1、hiveReset_v1_0.py

位于 \hive\ilm-client\resetTimer_v1.0\delivery_1Oct2012

用于更新木马客户端

2、Chimay-Red

未公开

针对 MikroTik MIPS RouterOS 6.x 的远程利用工具,能够远程植入 Hive

相关说明:https://wikileaks.org/ciav7p1/cms/page_16384604.html

3、Mealybug

未公开

针对 AVTech Network Video Recorders 的远程利用工具,能够远程植入 Hive

0x05 综合分析

对于维基解密这次公布的 Vault8 文档,不包含漏洞利用工具和相关 POC

Hive 作为一款远程控制工具,支持多个操作系统,包括 Windows(Server 2003)、Linux(x86/x64)、Solaris(sparc/x86)、MikroTik(MIPS/PowerPC/Intelx86)、Ubiquiti (MIPS) 和 AVTech NVRs(AVTech ARM)

在隐蔽性上下足了功夫,通过流量分发的方式隐蔽实际的控制服务器地址,使用伪造的卡巴斯基实验室证书进行通信

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

情感失落者

暂无简介

文章
评论
28 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文