跳转至

CATBOMBER

题目

## 2020-05-28 - TRAFFIC ANALYSIS EXERCISE - CATBOMBER

ASSOCIATED FILES:

NOTES:

  • All zip archives on this site are password-protected with the standard password. If you don't know it, look at the "about" page of this website.

## SCENARIO

LAN segment data:

  • LAN segment range: 10.5.28.0/24 (10.5.28.0 through 10.5.28.255)
  • Domain: catbomber.net
  • Domain controller: 10.5.28.8 - Catbomber-DC
  • LAN segment gateway: 10.5.28.1
  • LAN segment broadcast address: 10.5.28.255

## QUESTIONS

This month's pcap is a Trickbot infection in an Active Directory (AD) environment where the infection spreads to the Domain Controller (DC).

  • Based on the Trickbot infection's HTTP POST traffic, what is the IP address, host name, and user account name for the infected Windows client?
  • What is the other user account name and other Windows client host name found in the Trickbot HTTP POST traffic?
  • What is the infected user's email password?
  • Two Windows executable files are sent in the network traffic. What are the SHA256 file hashes for these files?

调查过程

本题目中直接说明了是Trickbot感染,从AD到域控制器,是一个严重的入侵事件。由于对Trickbot木马未曾了解,所以需要先学习一下该木马的感染详情。但因为时间不是很充裕,先做题为主。

看可疑HTTP流量

首先查看http流量,看有没有一些可疑的HOST、POST请求,看到一条资产IP10.5.28.229与外部可疑IP203.176.135.102:8082的POST通讯:

可以看到其中资产IP发送了一个名为prolist的数据,其中看内容是包含了:系统进程相关信息、系统信息、本地机器数据。

继续往后看,看到一条传输疑似为C2信息的流量记录:

初步确定感染资产的信息

通过可疑的POST请求以及疑似的C2通讯信息,可以确定感染的资产IP为:10.5.28.229

通过发送的系统信息,可疑看到受感染主机的信息:

  • 受感染资产的主机名为:CAT-BOMB-W7-PCCat-Bomb-W7-PC.catbomber.net
  • 受感染的Windows用户名为:phillip.ghent
  • 可以确定该资产的操作系统为:Windows 7 Professional

基于域控制器进行分析

该木马的感染过程是先感染域内的某台主机(即10.5.28.229),然后控制域控制器(10.5.28.8)进行横向的渗透。

因此,我们查询域控制器被拿下后,域控制器与内网其他资产的通讯行为,进行资产受害排查:

由上图可以看到,由于域控制器的TCP通讯信息太多,无法直接一条条看,需要先做统计,看总共有哪些域内资产:

可以看到记录下来资产通讯IP没有更多有价值的,除去域控制器和229,其余是关口设备。

因此我们再返回去看域控制器发送的信息:

可以看到其他感染的Windows客户端为:CAT-BOMB-W10-PC.catbomber.net,其用户名为timothy.sizemore

获取受感染电邮密码

获取通讯流量中电邮密码可以是通过POP协议,直接明文展示,但本流量中没有显示。或者follw SMTP流量(info中显示用户登入的信息),然后将内容经过base 64解码可获得登入密码。

在此处卡住了。

答案及后续分析

答案

  1. Infected Windows client IP address: 10.5.28.229

    Infected Windows client host name: Cat-Bomb-W7-PC Infected Windows client user account name: phillip.ghent

  2. Other Windows client host name: CAT-BOMB-W10-PC Other Windows client user account name: timothy.sizemore

  3. Infected user's email account password: gh3ntf@st

  4. SHA256 hashes for the two EXE files: 4e76d73f3b303e481036ada80c2eeba8db2f306cbc9323748560843c80b2fed1 934c84524389ecfb3b1dfcb28f9697a2b52ea0ebcaa510469f0d2d9086bcc79a

通过木马通讯特征

在看了答案后,我发现自己一个很大的问题,就是在明确系统受啦某种木马的感染后,一定要先学习、分析这种木马的通讯特征,不能一上来就去看,效率困可能不高。

成功感染时的特征

例如这次Trickbot木马,它在成功感染系统时,会通过系统数据发送HTTP POST请求,通过8082端口。并且其请求的POST结尾是\90,因此使用以下的过滤来定位Trickbot感染时的请求:

http.request.uri contains "/90"

获取密码时的特征

Trickbot木马在被感染中的Windows中获取密码时,会发送以“/81”结尾的HTTP POST请求,因此我们可以这样过来来发现邮件账号、密码泄漏:

http.request.uri contains "/81" and ip contains mail
http.request.uri contains "/81" and ip contains smtp

如下图所示,把筛选出来的流量follow后可得到邮件通讯信息,其中密码为:gh3ntf@st

发送文件时的特征

在本题目中,我们需要找到Windows可执行文件通讯的信息,在找Windows可执行文件时,通常可以使用以下的这个命令:

ip contains "This program"

这是根据Windows可执行文件的文件头特征。

使用该命令过滤后,将过滤出的流量记录follow,可以确定为Windows可执行文件:

且通讯双方的分别为:

  • 资产 —— 10.5.28.229
  • 恶意IP —— 162.216.0.163

导出这两条记录中所发送的文件:

使用shasum命令计算文件哈希:

$ shasum -a 256 *.png
4e76d73f3b303e481036ada80c2eeba8db2f306cbc9323748560843c80b2fed1  cursor.png
934c84524389ecfb3b1dfcb28f9697a2b52ea0ebcaa510469f0d2d9086bcc79a  imgpaper.png

将该文件哈希在VT中搜索,确定为恶意。

补充

Trickbot

介绍

Trickbot是一种银行木马,它针对用户的敏感信息,并充当其他恶意软件的植入程序。 Trickbot通常通过垃圾邮件活动进行分发。 Trickbot具有执行Web注入,收集凭据以及分发其他恶意软件的功能。 一旦系统被感染,它将解密并下载几个模块。 每个模块都有特定的任务,例如设置持久性,传播和窃取凭据。[2]

TrickBot除盗窃金融账户信息外,还会盗窃浏览器、FTP、SSH等用户凭据,收集用户隐私,收集环境信息,收集特定类型服务器信息,收集邮箱等等。[4]

攻击流程

以下是一个通过邮箱附件发送Trickbot恶意软件,并导致主机受到感染的过程。

主要是:用户打开文档执行宏,文档内的恶意代码将会执行,通过调用CMD、POWERSHELL,下载并启动病毒。[4]

图:主体分析[4]

木马分析

以下是对18年版本TrickBot木马特征的总结:

  • 木马所用到的字符串全部采用自定义base64编码进行加

  • 代码进行了大量混淆对抗静态分析

  • 对抗动态调试
  • 对抗沙盒检测
  • 对抗dump分析
  • 运用了大量加密手段,对抗杀软查杀

感染特征

成功感染时的特征

例如这次Trickbot木马,它在成功感染系统时,会通过系统数据发送HTTP POST请求,通过8082端口。并且其请求的POST结尾是\90,因此使用以下的过滤来定位Trickbot感染时的请求:

http.request.uri contains "/90"
获取密码时的特征

Trickbot木马在被感染中的Windows中获取密码时,会发送以“/81”结尾的HTTP POST请求,因此我们可以这样过来来发现邮件账号、密码泄漏:

http.request.uri contains "/81" and ip contains mail
http.request.uri contains "/81" and ip contains smtp

如下图所示,把筛选出来的流量follow后可得到邮件通讯信息,其中密码为:gh3ntf@st

发送文件时的特征

在本题目中,我们需要找到Windows可执行文件通讯的信息,在找Windows可执行文件时,通常可以使用以下的这个命令:

ip contains "This program"

这是根据Windows可执行文件的文件头特征。

使用该命令过滤后,将过滤出的流量记录follow,可以确定为Windows可执行文件:

知识点补充

什么是银行木马(Banking Trojan)?

这是从恶意软件的目的上进行分类,把目的是窃取银行账户信息的恶意软件/木马称为银行木马(Banking Trojan),其主要针对银行机构,包括一些虚拟货币平台等。其主要会搜集用户的敏感信息进行搜集。

因为是从目的上进行的分类,所以每一种银行木马的技术手段都各不相同。

例如,恶意软件Zeus 通过垃圾邮件和偷渡式下载(从受到破坏和感染的合法网站下载的文件)将自己安装在Window的计算机上。安装完成后,它将使用键盘记录(读取用户键盘输入的功能)记录银行登录详细信息并将其发送回去。它还将自己连接到僵尸网络,以接收进一步的指令。[3]

分析HTTP的技巧

这种有规律、长期请求同一域名的HTTP通信行为一般来说“非奸即盗”。[1]

  1. 奸:很多杀毒软件、APP、商用软件,为保持长连接状态,所装软件会定期通过HTTP或其它协议去连接它的服务器。这样做的目的可以提供在线服务、监控升级版本等等,但同时也可以监控你的电脑、手机,窃取你的信息。
  2. 盗:木马、病毒等恶意软件为监控傀儡主机是否在线,会有心跳机制,那就是通过HTTP或其它协议去连接它的僵尸服务器,一旦你在线,就可以随时控制你。

木马的特殊通信方式

// TODO 木马病毒通信不通过DNS解析的方法和技术

全网环境下的流量监控

全网环境下流量速率很高,使用WireShark直接过滤存为单个数据包不太能做到,这时候可以使用TShark,命令行形式的流量分析工具。

使用命令进行过滤:

$ tshark - r INPUT_FILE_PATH -Y "ip.addr==10.5.28.229" -W OUTPUT_FILE_PATH

References

[1] Wireshark分析技巧,Wh0ales,https://wh0ale.github.io/2019/03/09/2019-3-9-wireshark%E6%8A%80%E5%B7%A7/

[2] Trickbot malware behavior and the protection that Endpoint Security Exploit Prevention signature 6150 offers, https://kc.mcafee.com/corporate/index?page=content&id=KB92380&locale=zh_CN

[3] What Is a “Banking Trojan?”, Simon Batt , https://www.maketecheasier.com/what-is-banking-trojan/

[4] TrickBot银行木马最新版本分析报告, 奇安信威胁情报中心, https://www.anquanke.com/post/id/167648%5D