欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

APT34核心组件Glimpse:远控复现与流量分析

来源:本站整理 作者:佚名 时间:2019-07-11 TAG: 我要投稿

一、前言
2019年4月18日,一位名为Lab Dookhtegan的用户在国外聊天频道Telegram公布了APT34相关基础设施、黑客工具、成员信息及受害者信息等内容。其中APT34也被称为OilRig (Crambus,“人面马”组织,Cobalt Gypsy),是一个来自于伊朗的APT组织,该组织从2014年开始活动,主要针对中东地区,攻击范围主要针对政府、金融、能源、电信等行业,受害者实体主要有:迪拜媒体公司,阿提哈德航空公司,阿布扎比机场,阿联酋国家石油公司,兰普雷尔能源公司,科威特阿米里迪万湾,阿曼行政法院,阿联酋总理办公室,国家巴林安全局等。

本次泄露的黑客工具列表如下:
工具名称
描述
PoisonFrog
旧版木马
Glimpse
基于powershell的新版木马,DNS远控工具。
HyperShell
Webshell
HighShell
Webshell
MinionProject
钓鱼工具包,fox管理界面,加载了HighShell模块
Webmask
DNS隧道,DNSpionage的主要工具,用于DNS修改
本文将对APT34远控组件Glimpse新版木马进行技术分析。
二、Glimpse复现
2.1 文件目录
Glimpse是一套使用DNS隧道的远控工具,下图为Glimpse文件列表。
文件夹中除了Readme.txt项目部署说明文件外,分为Agent、Panel和Server三部分:Agent部分为客户端程序;Server部分为服务器端程序;Panel为该工具的图形面板,用于管理Server与Agent的通信(用于Windows系统下,本次实验服务器端环境为Linux,因此未用到panel工具)。

2.2 通信过程
其中Agent为受控主机也被称为客户端,Server为控制节点也被称为C2服务端;双方的通信是通过DNS隧道A/TXT记录进行命令的分发与命令执行后的回传。 在实验设置中,使用内网的虚拟机作为Agent,而Server使用国外的VPS,与VPS的IP绑定的域名为fengrou2019.club。

2.3 阿里云域名解析配置
为了使得域名与自建的C2服务器ip对应,需要在阿里云域名服务中创建一条A记录将fengrou2019.club的域名指向C2服务器的vps的IP地址,主机记录为“@”意思是直接解析主域名 fengrou2019.club。同时创建一条NS记录,将所有fengrou2019.club的子域名都指向主域名。主机记录为“*”意思是泛解析,匹配其他所有域名 。这样做的目的是能够将受控主机的所有关于fengrou2019.club的自定义子域名都指向C2服务器进行解析。C2服务器接收到之后做出响应,实现通信过程。
阿里云域名服务设置如下如所示:

2.4 Agent客户端
1、启动脚本为runner_.vbs,用于启动powershell主脚本;

2、主体脚本为dns_main.ps1,用于与服务端通信;
dns_main.ps1中通信的域名需指定为fengrou2019.club

运行dns_main.ps1,程序生成特定目录PUBLIC\Libraries\ 61076a9f9f\(GUID由此脚本生成),并在目录下创建receivebox、sendbox、done等子文件夹,通过这些子目录下的文件读写来实现与服务端的通信。


2.5 Server服务端
(1)复制“APT34”目录到指定文件夹
#目前apt34代码放在如下目录中/home/APT34
(2)进入”Glipse”的服务器端代码块中
cd /home/APT34/Glimpse/server
(3)创建“home”文件夹,并将“srvr.js”文件拷贝至“home”文件夹下
mkdir homecp srvr.js ./home
(4)安装node.js和npm,并完成各个包的安装
apt-get install nodejs npm#一路enter下去,在本文件夹下生成一个package.json的文件。npm init​#安装如下依赖包,会在文件夹下自动生成node_modules文件夹。npm install --save body-parser cookies child_process dnsd webix express ip fs path sqlite3 http portscanner child_process async ejs express-fileupload dateformat multer file-base64 flat-file-db moment busboy#安装forevernpm install --save -g forever
(5)运行前查看端口状态。
netstat -ntulp | grep 53
开启服务前查询53端口状态,发现没有监听。
(6)修改服务端代码。
将服务端DNS解析的域名改为C2服务器的域名:fengrou2019.club

(7)开启服务端。
forever start srvr.js

[1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载