强网杯(部分)

最牢的一场,在取证逆爽了说是。。。

Misc

0x01 Master of DFIR - Phishing

总共13个问题,第一个是攻击者的邮箱,将得到的eml文件中的邮箱取md5即可

img

第二个问题是攻击者所投放文件的密码,将eml文件中的第二段base64密文解开即可看到密码

img

第三问是攻击者所使用的攻击载荷文件windows默认的打开方式的全称,将eml文件中正文部分的内容解base64之后得到一个压缩包文件,且压缩包文件的密码即为上一问的结果 2024qwbs8

img

解开压缩包之后看到文件后缀为msc,直接搜索一下全称即可知道本题的答案为Microsoft Management Console

img

第四问是攻击者所投放样本的初始执行语句在该攻击载荷文件的第几行,打开压缩包中的文件后可以得知投放样本的初始执行语句在第97行

img

第五问是经过初始执行后,攻击者所加载的第二部分载荷所使用的语言是什么,看到这一段,提取出来之后有很明显的VBS脚本特征

img

再用url解解码一下看看,所以本问的答案为VBScript

img

第六问是攻击者所进行的第二部分载荷其将白EXE存在了什么地方,将vbs脚本解混淆之后即可知道,这部分之前在打H&NCTF的有一道re题就是解这个混淆,将关键字段拿出来Dim 定义一个变量赋值之后用MsgBox 函数显示出来即可知道为/MMC_ConsoleFile/BinaryStorage/Binary[@Name=‘CONSOLE_MENU’],然后取MD5即可

img

第七问是攻击者使用的这个白EXE加载黑DLL的手法所对应的MITRE ATT&CK ID是什么,没搜到,问一下AI就好,答案为T1574

img

第八问是攻击者所使用的黑DLL劫持了原始DLL的哪个函数,将文件中的二进制文件拿出来分析即可

框出来的三个二进制文件,倒数第一个就是题目所说的黑dll,第二个是感觉像释放出来的白exe

img

先分析最后一个二进制文件,黑dll,逛了一圈函数,发现这个函数有动态解密的嫌疑,最后提交该函数名正确,本问答案为curl_easy_init,且加密的字节数为dwSize为136192

img

img

第九问攻击者所使用的黑DLL解密下一阶段载荷所使用的算法是什么,跟进上一问中动态进行解密的函数sub_10001240即可发现疑似RC4加密,故本问的答案为RC4

img

第十问是攻击者所使用的下一阶段载荷的回连C2是什么,此处将白exe运行起来之后直接修改eip去走那个黑dll劫持函数的逻辑,用于解密RC4保护的加密内容,走完所有的解密过程之后原内容处有很明显的PE结构文件特征了

img

此处直接使用idapython给这部分dump下来,总的字节数上面提到过

1
2
3
4
5
6
7
8
9
10
11
12
13
import idaapi

start_address = 0x5BE280B0
size = 136192

data = idaapi.get_bytes(start_address, size)
if data is None:
print("none")
else:
# 保存到二进制文件
with open("output.bin", "wb") as f:
f.write(data)
print("ok")

得到dump下来的文件PE文件之后继续进行逆向分析,动态调试起来之后实现了回连C2的自解密结果如下,本题答案为192.168.57.119:6000

img

第十一问是攻击者所使用最终阶段载荷所使用的加密算法是什么,这题是蒙的AES加密,因为在刚刚dump下来的这个exe中只有网络行为的连接,并没有其他内容,本题答案是AES

第十二问是攻击者所使用最终阶段载荷所使用的密钥的MD5是什么,这就绕不开一直苦苦寻找的那段逻辑了,卡了很久在这儿,应该是前面分析落东西了,网络行为不可能能连接成功,那么我流量包里落东西没分析了那就是,我应该去找这段shellcode

img

追踪TCP流之后将该shellcode直接dump下来

img

那么现在shellcode有了,我缺一个主动调用这个shellcode的exe主体,直接搓一个主动调用一下该段shellcode

img

然后使用ida动调这个刚写的exe,跟到shellcode的逻辑之后,shift+f12直接看字符串就能看到key

img

那么该问题的答案既是pJB`-v)t^ZAsP$|r的MD5值

第十三问是攻击者使用了什么家族的C2,貌似找数据包的时候看到了它的UA,本题答案为orcaC2

img

最后得到flag

img