BlackTech是一个主要针对东亚地区的商业间谍组织,其活动可追溯至2010年,其攻击的目标行业包含金融、政府、科技、教育、体育和文化等,其目的是窃取机密数据(各种账密、机密文件等)和获取经济利益。该组织主要使用鱼叉式网络钓鱼邮件进行攻击,惯用Plead、TSCookie、Gh0st、Bifrose等木马。
近期,微步情报局通过微步在线威胁情报云监测到 BlackTech 在多次攻击活动中使用的后门木马,包含Windows版本和Linux版本,多数杀毒引擎较难查杀,经过分析有如下发现:
微步在线通过对相关样本、IP 和域名的溯源分析,提取多条相关 IOC ,可用于威胁情报检测。微步在线威胁感知平台 TDP 、本地威胁情报管理平台 TIP 、威胁情报云 API 、互联网安全接入服务 OneDNS 、主机威胁检测与响应平台 OneEDR 、威胁捕捉与诱骗系统 HFish 蜜罐等均已支持对此次攻击事件和团伙的检测。
微步情报局监测到东亚黑客组织BlackTech近期攻击活动频繁,攻击目标包括中国地区的互联网金融、互联网教育等行业。根据近期捕获的BlackTech组织使用的后门木马,微步情报局发现该组织的武器库在持续丰富和变化,在Windows平台上使用由Gh0st源码修改而来的后门木马,在Linux平台上使用Bifrose后门木马,多数杀毒引擎较难查杀。另外在Linux平台还使用Python编写打包的后门木马。而在IT资产方面,BlackTech组织依旧保留了之前的特点,即经常租用中国、日本等地的服务器作为C&C服务器,在近期攻击活动中也复用了部分在过往攻击活动中使用的资产。
微步情报局近期捕获两个低杀毒引擎检出的Bifrose后门木马。经过分析,这两个后门木马在代码特征上基本一致,然后提取代码特征进行威胁狩猎寻找历史样本,发现历史样本及IT资产属于BlackTech组织。另外,这两个后门木马所使用的IT资产位于中国、日本,与BlackTech组织的特点相符。结合受害者信息综合分析,微步情报局对于将这两个Bifrose后门木马归因于BlackTech组织有较高的信心。
对BlackTech组织近期使用的IT资产进行排查,其中通过C&C cache8754.myssldomains.com关联到一个用Python编写打包的木马8764c735d2dbc4ab83b43eaa63e78c78(MD5)。经过分析,此后门木马是BlackTech组织的新武器。
对C&C cache8754.myssldomains.com进行IT资产维度分析:
cache8754.myssldomains.com曾被解析为以下IP地址:
2020-10-28 | 154.204.60.xx |
2020-08-12 | 104.238.160.xx |
2020-07-01 | 154.209.234.xx |
2020-06-23 | 193.187.118.xx |
其中193.187.118.xx可以关联到rt37856cache.work***news.com,而www.work***news.com是Python编写打包的木马8764c735d2dbc4ab83b43eaa63e78c78(MD5)的C&C(样本分析请见后文)。而这两个域名在字符特征上也十分相似,均使用cache关键词。
IP 103.40.112.228是BlackTech组织使用过的IT资产,近期微步情报局捕获到使用该IP作为C&C的Windows版本木马9061ff3f23735feddcc51d66f1647f9d(MD5),此木马是由Gh0st源码修改而来,而BlackTech组织也使用过由Gh0st源码修改过的后门木马。综合分析,微步情报局推测此Windows木马也是BlackTech组织使用的木马。
下面,微步情报局将对近期BlackTech组织使用的后门木马进行详细分析,包括Windows木马、Bifrose木马以及Python木马。
BlackTech具备Windows和Linux多平台的攻击能力,近期发现在Windows平台上使用由Gh0st源码修改而来的后门木马,在Linux平台上使用Bifrose后门木马,多数杀毒引擎较难查杀,另外在Linux平台还使用Python编写打包的后门木马。下面微步情报局将对这三种类型样本进行深入分析。
3.1.1类Gh0st样本分析
类Gh0st样本基本信息如下:
文件名称 | vsvss.exe |
SHA256 | c75113a4fdd9086f611b20d153e8a882bc11c0256c92468ed39adf0c43972284 |
SHA1 | 9763350d2dc9b9ab86c31929ce406f5935a7d4ec |
MD5 | 9061ff3f23735feddcc51d66f1647f9d |
样本大小 | 244.50 KB (250368 bytes) |
样本格式 | PE32+ executable for MS Windows (GUI) Mono/.Net assembly |
PDB信息 | D:\windows2000测试 x86 x64 v1.3\svchost-全功能-加密1205\x64\Release\svchost.pdb |
C2 | 103.40.112.228 |
1、样本入口初始化回连C2字符串,代码如下:
2、获取包括计算机名、用户名、内存信息、CPU信息在内的系统信息作为上线包。
3、样本上线完成以后,循环获取控制端指令,然后通过“CKernelManager”类调用各类指令执行,截图如下:
4、功能列表如下:
5、指令表
指令 | 功能 |
1 | 文件操作 |
40 | Shell |
50 | 端口映射 |
63 | UltraPortmapManager |
6、该样本整体风格和gh0st一致,为gh0st变种木马。例如两者的文件操作功能代码:
7、除此之外,样本中存在“CFileManager”、“CKernelManager”、“CShellManager”等几乎和gh0st源码一致的类名定义。
3.2.1 Bifrose后门木马分析如下
样本基本信息如下:
文件名称 | initkernel.dat |
SHA256 | af8301a821cf428dd3d8d52e5f71548b43ba712de2f12a90d49d044ce2a3ba93 |
SHA1 | 87d042bac542d2f23282bda4643b0c56538dfe98 |
MD5 | bb6a5e4690768121d9bffcd82dd20d8f |
样本大小 | 31.46 KB (32216 bytes) |
样本格式 | ELF 64-bit |
C2 | opensshd.com |
1、木马运行之后先使用内置编码数据初始化一个用于解密兑换的数组。
2、随后发起https网络通信,C&C地址opensshd.com直接采用硬编码数据存储。
3、通过前面初始化的兑换数组解密C&C服务器返回指令,分发执行远控指令,包含常见的文件操作、下载执行等功能。执行结果通过日志字符串发送告知C&C服务器。
其指令表如下:
指令(解析后) | 描述 |
137 | 创建目录 |
198 | 结束木马进程。 |
247 | 更换本地用于解密的兑换数组 |
246 | 执行/bin/sh目录下程序 |
139 | 查找目标文件 |
138 | 删除文件 |
143 | 重命名文件 |
132 | 下载写入文件 |
133、134 | 修改写入目标文件 |
135 | 关闭文件 |
130、21、248 | 测试 |
131 | 文件时间修改 |
3.2.2 Python编写打包的后门木马分析
样本基本信息如下:
文件名称 | |
SHA256 | 76bf5520c19d469ae7fdc723102d140a375bb32f64b0065470238e6c29ac2518 |
SHA1 | 8a1d27f22ecb365d6d0591fab30734598163ff03 |
MD5 | 8764c735d2dbc4ab83b43eaa63e78c78 |
样本大小 | 8.04 MB (8432384 bytes) |
样本格式 | ELF 64-bit |
C2 | www.workdaynews.com |
1、多引擎反馈该样本为python编写的。
2、在段信息中发现pydata section,这个是pyinstaller打包python程序为可执行程序的特点。
3、从样本中提取pydata段的数据,再使用pyinstxtractor.py对该数据进行解析;
提取pydata段数据的命令 objcopy --only-section=pydata axisdev pydata;
使用pyinstxtractor.py解析pydata段数据;
解包后找到agent.pyc,即为源程序编码后的程序。
4、对agent.pyc程序进行解码分析。
执行命令uncompyle6 agent.pyc > agent.py 。
对agent.py进行分析:
agent函数名及功能如下:
函数名 | 功能 |
get_install_dir | 获取安装目录 |
is_installed | 获取安装目录 |
get_consecutive_failed_connections | 获取连续连接失败 |
update_consecutive_failed_connections | 记录连续连接失败 |
get_UID | 获取UID |
server_hello | 向server请求命令 |
send_output | 发送输出到server |
expand_path | 扩展路径中的环境变量和元字符 |
Runcmd | 运行shell命令并返回输出 |
Python | 运行python命令或者python文件并返回输出 |
cd | 变更当前路径 |
upload | 上传本地文件到server |
download | 下载文件 |
persist | 实现持久化 |
clean | 卸载本agent |
exit | 退出本agent |
zip | 压缩文件目录或文件 |
其接受的命令如下:
cd | 变更当前路径 |
upload | 上传本地文件到server |
download | 下载文件 |
clean | 卸载本agent |
persist | 实现持久化 |
exit | 退出本agent |
zip | 压缩文件目录或文件 |
python | 运行python命令或者python文件并返回输出 |
help | 列出支持的命令 |
5、C&C配置
根据代码,agent会读取config中的C&C。由于agent通过import 引入config文件,因此这个config文件在pyinstxtractor.py提取数据的依赖目录里面,即config.pyc。
对config.pyc进行解码分析,提取 C&C地址www.workdaynews.com。
6、持久化技术分析
该agent意图实现持久化,对持久化技术进行分析:
reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /f /v ares /t REG_SZ /d "%s"' % agent_path
3.2.3 ATT&CK
技术ID | 技术实现 |
TA0003,T1547.001 Registry Run Keys / Startup Folder | Linux平台下添加自启动配置文件~/.config/autostart/ares.desktop |
TA0003,T1547.001 Registry Run Keys / Startup Folder | Windows平台下添加注册表 reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /f /v ares /t REG_SZ /d "%s"' % agent_path |
TA003,T1546.004 .bash_profile and .bashrc | Linux平台下添加自启动配置到~/.bashrc |
根据上述分析结果,微步在线情报局认为东亚黑客组织BlackTech是一个经验丰富、成熟度较高、威胁度较高的黑客组织。在近期的攻击活动中该组织使用了多数杀毒引擎较难查杀的Bifrose后门木马,这表明该组织的武器库在持续丰富和变化。由于该组织近期的攻击目标均为中国的金融、教育等行业的企业,建议相关行业的企业提高安全意识、注意防护。
opensshd.com
workdaynews.com
hknet.tech
www.google.com.dns-report.com
osscach2023.hicloud.tw
cache8754.myssldomains.com
103.40.112.228:443
103.56.114.134:443
185.245.43.40:8080
154.204.60.16:8080
172.104.108.248:80
c75113a4fdd9086f611b20d153e8a882bc11c0256c92468ed39adf0c43972284
af8301a821cf428dd3d8d52e5f71548b43ba712de2f12a90d49d044ce2a3ba93
76bf5520c19d469ae7fdc723102d140a375bb32f64b0065470238e6c29ac2518
ae4ca804bcbc56b3de9c1a39e2f5a976e7fc009d1e8951e46a16c68f6c101114
170a891d11749d7c67a71a71a5384225a78f4240d46397531821ab3d5e409bdb
0a06d4dc8d5be03cc932b74758f0004aeaa6cdf14806635b9452b5c4db900184
d53b5d29ee3a91c98cc1fedb33d239062933f6cfdf8ef0525095d4bf38772e24
8a080335e3d5205cc49d4d64219ab1d086bc9fb17b06aac1ae77e197a92372ff
b6c5e651e648b1162aba3ccaf60f7e9c1285f240d9593bf988df6d4cd79982a2
91102b2d4d3d9754e1255efa5fba4505167d702f82bb99a76073c22e433936e6
a69a2b2a6f5a68c466880f4c634bad137cb9ae39c2c3e30c0bc44c2f07a01e8a
7446ea8c799845cd32deeb43cd121692fa5ab2ba33c2ac98b8eeb2ca67ba84ea