红蓝对抗之Golang应用攻击手段实例分析

红蓝对抗之Golang应用攻击手段实例分析

前言

威胁情报中心已经陆续监测捕获了一些红蓝对抗行动相关的样本,猎影实验室对这些样本进行了分析和关联,并对之进行了一定的总结,本文就Golang在红蓝对抗中的应用展开叙述。

Golang概述

Go又称Golang是谷歌开发的一种编译语言,2007年开始设计,2009年正式推出,并且开源开放,还具有跨平台特性,对多种操作系统都可以很好的支撑。

Golang在恶意软件中的应用

很早就已经出现了Golang编译的恶意软件,只是并没有广泛关注,近些年来,又开始逐步进入公众视野,无论是在APT攻击、僵尸网络还是勒索软件中都存有一席之地。

为何Golang会被一些攻击者青睐,大致有那么几点。

  1. 跨平台特性

支持Windows、Linux、OSX等主流操作系统,代码复用能力强,无需对跨平台修改做过多关注。

  1. 适应性强

程序在编译时会嵌入依赖库,使在目标机器上运行时无需其它依赖就能很好的执行,适应性强。但是由于这个原因会导致样本体积过大,在某些应用途径上存在一定缺陷。

  1. 免杀效果好

由于软件体量,代码体量,关注度等问题,导致杀软对Golang恶意程序的检测效果并不出色,甚至可以做到0查杀。

在APT攻击中,也有多个组织对Golang进行了应用,如APT28 Golang版本的Zebrocy Loader,APT34使用的VALUEVAULT(Golang版本的凭据窃取工具)。以及前段时间SSL VPN事件中使用的WellMess恶意软件,则直接对国内产生影响。

Golang在红蓝对抗中的应用

Golang在红蓝对抗行动中也展露锋芒,我们捕获到了一些与之相关的Golang样本,包括开源的、基于开源修改的和非开源的。

GECC(Cobalt Strike – Go External C2 Client)项目

使用Golang实现的Cobalt Strike External C2客户端。

ShellGo项目

使用Golang写的shellCode Loader

Golang Downloader

Golang程序下载远程载荷并执行

Golang Scanner

端口、弱口令扫描器

可以发现golang在个方面都有所应用。

并且还有许多开源程序覆盖远程控制、凭证窃取、Payload装载机、扫描爆破、代理工具等可能会陆续涌现出来,当然基于开源修改或自写的也是一样。

如何防御

安恒APT预警平台,安恒APT预警平台能够发现已知或未知的威胁,APT预警平台 的实时监控能力能够捕获并分析邮件附件投递文档或程序的威胁性,并能够对邮件投递,漏洞利用、安装植入、回连控制等各个阶段做强有力的监测。结合安恒威胁情报系统,可将国内外的威胁数据进行汇总,并分析整个攻击演进和联合预警。

安恒威胁情报中心,拥有专业威胁情报分析团队,分析安全威胁数据、跟踪APT事件,以及多源情报数据的分析,形成了高价值的威胁情况库。分析的情报包括恶意文件、僵尸网络、C2、扫描IP、黑产IP、挖矿等60余类情报数据等。通过提供威胁情报数据与服务,可为用户提升区域安全态势感知、未知威胁检测、威胁溯源分析、主动防御等场景的智能化程度;依托该核心数据能力,提供威胁情报数据,威胁情报检测等专业能力。