分类 | 难度 |
---|---|
SOC | Easy |
Khalid 刚刚登录了一台主机,他和他的团队将其用作测试主机,用于许多不同的目的。它脱离了公司网络,但可以访问网络上的大量资源。该主机被公司很多人用作垃圾场,但它非常有用,所以没有人提出任何问题。哈立德对此一无所知;机器已被破坏,不应该存在的公司信息现在已被盗 - 您需要弄清楚发生了什么以及哪些数据被盗取。
Tasks
- Task1: 乍一看,这次攻击似乎可疑的是哪种协议?
- Task2: 我们的主机与另一台主机之间似乎存在大量流量,可疑主机的 IP 地址是多少?
- Task3: 攻击者向客户端发送的第一个命令是什么?
- Task4: 攻击者使用的 DNS 隧道工具的版本是什么?
- Task5: 攻击者试图重命名他们意外留在客户端主机上的工具。他们给它起什么名字?
- Task6: 攻击者尝试枚举用户的云存储。他们在云存储目录中找到了多少文件?
- Task7: 被盗 PII 文件的完整位置是什么?
- Task8: 到底有多少客户 PII 记录被盗?
推荐工具: wireshark, tshark, Brim Zui, zeek,suricata等
分析过程
下载完成解压后是一个pcap的流量包,使用wireshark 打开查看统计->协议分级
,查看都有什么协议,在统计->端点
中可以查看IP地址
使用wireshark 看发现大部分都为dns协议,用suricata
配合jq
进行数据分析
$ suricata -c /etc/suricata/suricata.yaml -r suspicious_traffic.pcap -l log
// 生成文件 eve.json fast.log stats.log suricata.log
// 随便看一下第一个
$ cat eve.json | jq -s '.[0]'
{
"timestamp": "2023-04-30T18:26:57.675436+0800",
"flow_id": 367704534995173,
"pcap_cnt": 21,
"event_type": "dns",
"src_ip": "192.168.157.144",
"src_port": 59935,
"dest_ip": "192.168.157.2",
"dest_port": 53,
"proto": "UDP",
"pkt_src": "wire/pcap",
"dns": {
"type": "query",
"id": 7728,
"rrname": "buyadvupfor24.com",
"rrtype": "A",
"tx_id": 0,
"opcode": 0
}
}
event_type
为协议类型,dns下的rrname
为请求的域名吧(应该)
统计一下协议的类型有哪些,并按照次数进行排序
$ cat eve.json | jq -s '.[] | .event_type' | sort | uniq -c | sort -nr
12353 "dns"
1439 "flow"
361 "quic"
289 "tls"
122 "http"
120 "fileinfo"
5 "dhcp"
2 "ssh"
1 "stats"
dns 协议占大头,因此猜测这次可疑的攻击使用的是DNS协议(Task 1),后续还会有验证
接下来统计一下ip地址有哪些? 依旧是使用命令行:
因为使用的是DNS协议,目标主机的端口应该多为53
$ cat eve.json | jq -s '.[] | if .dest_port == 53 then .dest_ip else empty end' | sort | uniq -c | sort -nr
10894 "192.168.157.145"
2161 "192.168.157.2"
这段命令的含义:
判断 目的端口是都为 53,如果是则输出对应的目的ip,否则不输出,然后再对这些ip地址进行去重,排序
最多的ip地址为192.168.157.145
(Task 2),为可疑的IP主机
或者使用tshark
进行统计
$ tshark -r suspicious_traffic.pcap -Y 'udp.dstport == 53' -T fields -e 'ip.dst' | sort | uniq -c | sort -nr
5451 192.168.157.145
750 192.168.157.2
12 192.168.157.144,192.168.157.145
结果同上。
在分析过程中,发现dns的query中有很多类似于6bea00688135660021636f6d6d616e6420284445534b544f502d554d4e43.4245372900.microsofto365.com
的域名,前面的十六进制是可以进行16进制解码的,提取一下:
$ for i in $(cat eve.json | jq -s '.[] | .dns | .rrname' | grep 'microsofto365' | tr -d '"' | rev | cut -d'.' -f3-|rev);do echo ${i:18} | xxd -p -r; done | tee -a cmd.txt
读取json文件,提取出域名进行处理,dns隧道前18个字符是固定的,没有含义,从第18个字符开始进行解码,另存为cmd.txt文件
或者使用tshark提取
$ tshark -r suspicious_traffic.pcap -Y 'dns' -T fields -e 'dns.qry.name' | tee -a dns.qry.name
wpad.localdomain
clientservices.googleapis.com
clientservices.googleapis.com
....
$ cat dns.qry.name | grep 'microsofto365.com' >> dns.query
617d01661b600a8981.microsofto365.com
617d01661b600a8981.microsofto365.com
...
$ cat dns.query | rev | cut -d '.' -f3-|rev|tr -d '.' > hex.txt
2cea00661b600a0021636f6d6d616e6420284445534b544f502d554d4e434245372900
2cea00661b600a0021636f6d6d616e6420284445534b544f502d554d4e434245372900
...
$ for i in $(cat hex.txt );do echo ${i:18} | xxd -p -r;done | tee -a command2.txt
// 结果同cmd.txt
cmd.txt的内容就是命令行的输入与输出
C:\Users\test\Downloads>
C:\Users\test\Downloads>cmd.exe (DESKTOP-UMNCBE7)cmd.exe (DESKTOP-UMNCBE7)..Microsoft Windows [Version 10.0.19045.2846]
(c) Microsoft Corporation. All rights reserved.
(c) Microsoft Corporation. All rights reserved.
desktop-umncbe7\test
C:\Users\test\Downloads>whoami
攻击者发送的第一条命令就是whoami
(Task 3)
在攻击者输入dir查看文件目录时,输出中有一个可疑的文件
28/05/2016 21:38 142,336 dnscat2-v0.07-client-win32.exe
dnscat的版本为0.07
(Task 4)
下面有命令C:\Users\test\Downloads>ren dnscat2-v0.07-client-win32.exe win_installer.exe
通过查询可以知道,ren的作用是文件重命名,将文件dnscat2-v0.07-client-win32.exe
重命名为win_installer.exe
(Task 5)以达到隐藏的效果
C:\Users\test\OneDrive>dir
Volume in drive C has no label.
Volume Serial Number is 503A-D127
Directory of C:\Usdir
Volume in drive C has no label.
Volume Serial Number is 503A-D127
Directory of C:\Users\test\OneDrive
04/06/2021 08:52 <DIR> .
04/06/2021 08:52 <DIR> ers\test\OneDrive
04/06/2021 08:52 <DIR> .
04/06/2021 08:52 <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 24,470,171,648 byt ..
0 File(s) 0 bytes
2 Dir(s) 24,470,171,648 bytes free
通过这段命令执行的结果可以知道 OneDrive 云存储目录下没有文件,数量为 0
(Task 6)
继续看cmd.txt,攻击者读取文件C:\Users\test\Documents\client data optimisation\user details.csv
C:\Users\test\Documents\client data optimisation>type "C:\Users\test\Documents\client data optimisation\user details.csv
0,Chief Tecence,current_location,blood_group,website,username,name,sex,address,mail,birthdate
0,Chief Technology Officer,Bennett Group,725-79-1073,"5021 Mary Glens
...
720,Ambulance person,"Smith, Collins and Brown",524-80-5753,"22",maria11@yahoo.com,1992-01-12
720,Ambulance person,"Smith, Collins and Brown",524-80-5753,"224 Randolph Mountain Suite 809
被查看的PII文件路径为C:\Users\test\Documents\client data optimisation\user details.csv
(Task 8),
从第0行开始到第720行,共计721
(Task 9)条数据
总结
这个流量包大小为40MB左右,还是比较大的,用WireShark分析会有些乏力,个人感觉图形化工具配合命令行进行分析,效率和效果都挺不错的。这篇文章主要是使用suricata将流量包转化为json文件,配合jq进行数据分析。
使用WireShark + tshark 效果也不错。