CATBOMBER
题目
## 2020-05-28 - TRAFFIC ANALYSIS EXERCISE - CATBOMBER
ASSOCIATED FILES:
- Zip archive of the pcap: 2020-05-28-traffic-analysis-exercise.pcap.zip 6.1 MB (6,148,841 bytes)
- 2020-05-28-traffic-analysis-exercise.pcap (8,322,070 bytes)
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-PC
或Cat-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解码可获得登入密码。
在此处卡住了。
答案及后续分析
答案
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
Other Windows client host name: CAT-BOMB-W10-PC Other Windows client user account name: timothy.sizemore
Infected user's email account password: gh3ntf@st
- 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]
- 奸:很多杀毒软件、APP、商用软件,为保持长连接状态,所装软件会定期通过HTTP或其它协议去连接它的服务器。这样做的目的可以提供在线服务、监控升级版本等等,但同时也可以监控你的电脑、手机,窃取你的信息。
- 盗:木马、病毒等恶意软件为监控傀儡主机是否在线,会有心跳机制,那就是通过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