# givemesecret
随便套一套
![img]()
# Master of DFIR - Phishing
(1/13) 攻击者的邮箱是什么?(注意:MD5 (攻击者邮箱), 以 cyberchef 的为准) 示例:9b04d152845ec0a378394003c96da594
利用 Outlook 打开 eml 即可得到攻击者邮箱:alice@flycode.cn(a8cd5b4ba47e185d4a69a583fde84da5)
![img]()
(2/13) 攻击者所投放文件的密码是什么?示例:000nb
见上方图片:2024qwbs8
(3/13) 攻击者所使用的攻击载荷后缀是什么? 示例:lnk
msc
![img]()
(4/13) 攻击者所投放样本的初始执行语句在该攻击载荷文件的第几行?示例:20
97(msc 载荷参考文章)
![img]()
(5/13) 经过初始执行后,攻击者所加载的第二部分载荷所使用的语言是什么?示例:javascript
解密载荷即得 VBScript
![img]()
(6/13) 攻击者所进行的第二部分载荷其将黑 DLL 存在了什么地方?(注意:需要提供完成的解混淆后的第二部分载荷 s*******s 函数的参数) 提交需要 MD5 (参数内容) 以 Cyberchef 结果为准 示例:9b04d152845ec0a378394003c96da594
这题需要从上面 msc 文件的下面的那几个 binary 拿到 vb 的恶意脚本,然后提示了 s****s 函数能发现是 selectnodes,然后去写个脚本解混淆一下就行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| Dim RTcxFmy, a, b, c Set RTcxFmy = CreateObject("MSXML2.DOMDocument")
' 构造 a 字符串 b = Chr(47) & Chr(&H4D) & Chr(77) & "C" & Chr(95) & Chr(Int("&H43")) & _ "o" & Chr(Int("110")) & Chr(&H73) & Chr(Int("111")) & "l" & _ Chr(&H65) & Chr(Int("&H46")) & "i" & Chr(5094 - 4986) & _ Chr(101) & Chr(Int("47")) & Chr(331 - 265) & Chr(105) & _ Chr(Int("&H6E")) & Chr(Int("&H61")) & Chr(&H72) & _ Chr(Int("121")) & Chr(&H53) & Chr(116) & "o" & "r" & _ Chr(-1088 + 1185) & Chr(2152 - 2049) & Chr(266943 / 2643) & _ Chr(Int("47")) & Chr(-385 + 451) & Chr(105) & _ Chr(Int("&H6E")) & Chr(Int("&H61")) & Chr(114) & _ Chr(Int("&H79")) & Chr(91) & "@" & Chr(Int("78")) & _ Chr(Int("97")) & Chr(&H6D) & Chr(&H65) & _ Chr(Int("&H3D")) & Chr(3877 - 3838) & Chr(Int("67")) & _ Chr(&H4F) & Chr(78) & Chr(83) & Chr(79) & _ Chr(Int("&H4C")) & Chr(Int("69")) & Chr(419 - 324) & _ "M" & Chr(Int("&H45")) & Chr(Int("78")) & "U" & _ Chr(Int("39")) & Chr(&H5D)
' 构造 b 字符串 c = Chr(&H2F) & Chr(-1536 + 1613) & Chr(4928 / 64) & Chr(67) & _ Chr(345 - 250) & Chr(Int("67")) & Chr(111) & "n" & _ Chr(&H73) & Chr(Int("&H6F")) & Chr(&H6C) & Chr(Int("101")) & _ Chr(145110 / 2073) & Chr(&H69) & Chr(108) & Chr(Int("101")) & _ Chr(Int("&H2F")) & Chr(66) & Chr(&H69) & Chr(1514 - 1404) & _ Chr(Int("97")) & Chr(Int("&H72")) & Chr(Int("121")) & _ Chr(83) & Chr(212744 / 1834) & Chr(&H6F) & Chr(Int("114")) & _ Chr(Int("97")) & Chr(&H67) & Chr(-749 + 850) & _ Chr(-3015 + 3062) & Chr(Int("&H42")) & "i" & _ Chr(&H6E) & Chr(Int("&H61")) & Chr(114) & _ Chr(Int("&H79")) & Chr(Int("91")) & Chr(&H40) & _ Chr(Int("&H4E")) & Chr(&H61) & Chr(109) & _ Chr(101) & Chr(&H3D) & Chr(-548 + 587) & _ Chr(67) & Chr(Int("&H4F")) & Chr(3379 - 3301) & _ "S" & "O" & Chr(-1145 + 1221) & Chr(Int("&H45")) & _ "_" & Chr(-626 + 706) & Chr(Int("65")) & Chr(78) & _ "E" & Chr(39) & Chr(Int("93"))
' 构造 c 字符串 a = Chr(29281 / 623) & Chr(Int("&H4D")) & Chr(77) & _ Chr(1587 - 1520) & Chr(Int("95")) & Chr(67) & _ Chr(Int("&H6F")) & "n" & Chr(Int("115")) & _ Chr(Int("&H6F")) & Chr(108) & Chr(Int("&H65")) & _ Chr(70) & Chr(&H69) & Chr(108) & Chr(101) & _ Chr(47) & "B" & "i" & Chr(6710 - 6600) & _ Chr(&H61) & Chr(Int("114")) & Chr(Int("121")) & _ Chr(&H53) & Chr(116) & "o" & Chr(221844 / 1946) & _ Chr(97) & Chr(Int("103")) & Chr(Int("&H65")) & _ Chr(4621 - 4574) & Chr(&H42) & Chr(105) & _ Chr(Int("110")) & Chr(&H61) & Chr(8019 - 7905) & _ "y" & Chr(Int("&H5B")) & Chr(64) & Chr(Int("78")) & _ Chr(&H61) & Chr(Int("&H6D")) & Chr(Int("&H65")) & _ Chr(&H3D) & Chr(Int("&H27")) & Chr(&H43) & _ Chr(79) & Chr(Int("&H4E")) & Chr(&H53) & _ Chr(8290 - 8211) & Chr(Int("76")) & Chr(6677 - 6608) & _ Chr(&H5F) & Chr(Int("84")) & Chr(1018 - 936) & _ Chr(&H45) & Chr(&H45) & Chr(Int("39")) & _ Chr(&H5D)
' 输出生成的 a, b, c 字符串 WScript.Echo & a WScript.Echo & b WScript.Echo & c
/MMC_ConsoleFile/BinaryStorage/Binary[@Name='CONSOLE_TREE'] /MMC_ConsoleFile/BinaryStorage/Binary[@Name='CONSOLE_MENU'] /MMC_ConsoleFile/BinaryStorage/Binary[@Name='CONSOLE_PANE']
|
![img]()
(7/13) 攻击者使用的这个白 EXE 加载黑 DLL 的手法所对应的 MITRE ATT&CK ID 是什么?(注意:请注意示例的提示提交大类即可不需要细化到分项) 示例: T1000
T1574
![img]()
(8/13) 攻击者所使用的黑 DLL 劫持了原始 DLL 的哪个函数?示例: main
枚举法()---curl_easy_init
![img]()
(9/13) 攻击者所使用的黑 DLL 解密下一阶段载荷所使用的 Key 是什么?(注意:请提交一段小写的十六进制字符串) 示例:1122334455
![img]()
![img]()
发现是 RC4, 然后找到了 key,v41 和 v42 连起来的⼩端序进⾏ md5 加密
f21a9d8b1e5d
(10/13) 攻击者所使用的下一阶段载荷的回连 C2 是什么?(注意:需要提供 ip 地址:端口的形式) 示例:127.0.0.1:5100
192.168.57.119:6000
![img]()
(11/13) 攻击者所使用最终阶段载荷所使用的加密算法是什么?示例:DES
枚举()AES
(12/13) 攻击者所使用最终阶段载荷所使用的密钥的 MD5 是什么?(注意:MD5 (密钥内容), 以 cyberchef 的为准) 示例:9b04d152845ec0a378394003c96da594
然后逆 dll 发现其实最终阶段的载荷其实是 shellcode 然后在 pcap 流量里,然后发现第⼀个流里面有
1730391917.bin, 然后提取出来直接逆发现好像不大行,然后用 010 看发现大抵是被加密过的了,然后上传到
vt 分析发现是用 donut 写的,然后随便 github 搜⼀个解密的⼯具
![img]()
![img]()
https://github.com/volexity/donut-decryptor
![img]()
然后解密了能拿到⼀个 go 写的程序,定位到关键函数,看汇编找到 key
![img]()
![img]()
pJB`-v)t^ZAsP$|r
(13/13) 攻击者使用了什么家族的 C2? 示例:PoshC2
OrcaC2
![img]()
Master of DFIR - Coffee
(1/9) 受害者主机名是什么?示例:DESKTOP-J6QZVBD
搜索即可
![img]()
(2/9) 受害者主机的 systemId 是多少?示例:1b0679be72ad976ad5d491ad57a5eec0
9e4a7e9ebdd51913b5d724be14868e85
![img]()
(3/9) 攻击者下载的文件的保存名是什么? 示例:flag.txt
利用上一题中获得的 aeskey 解密 websocket
![img]()
(4/9) tomcat 的用户名和密码是多少?示例:admin:admin
跟着爆破过程进行解密,发现最终结果
![img]()
![img]()
(5/9) 攻击者上传的文件名?示例:flag.txt
help.war
(6/9) 黑客使用 webshell 管理工具是什么?(注意:全小写) 示例:antsword
behinder
(7/9) 被黑客窃取的云存储服务的管理员账户和密码是多少?示例:admin:admin
利用 pz 解密 jsp
![img]()
拿到 key 写脚本解密
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import base64 from Crypto.Cipher import AES import zlib
class Decryptor: def __init__(self, aes_key, xor_key): self.aes_key = aes_key self.xor_key = xor_key
def decode_base64(self, data): return base64.b64decode(data)
def xor_decrypt(self, data): result = bytearray(data) for i in range(len(result)): result[i] ^= self.xor_key[(i + 1) & 15] return result
def aes_decrypt(self, data): cipher = AES.new(self.aes_key, AES.MODE_ECB) return cipher.decrypt(data)
def decompress(self, data): return zlib.decompress(data)
def full_decrypt(self, encoded_data): decoded_data = self.decode_base64(encoded_data) xored_data = self.xor_decrypt(decoded_data) aes_data = self.aes_decrypt(xored_data) return self.decompress(aes_data)
if __name__ == "__main__": aes_key = b'b42e327feb5d923b' xor_key = b'82ca9b43c1b8ef8c' encrypted_string = ''
decryptor = Decryptor(aes_key, xor_key) decrypted_result = decryptor.full_decrypt(encrypted_string) print(base64.b64encode(decrypted_result))
|
然后解密后应该是拿到一个 sqlite 文件 (去找最长的返回的响应包), 然后直接 navicat 打开去 system_config 的表就有账号密码 (解密 md5 网上直接找网站就行)
![img]()
hhcloud:vipvip123
(8/9) 挖矿程序落地的文件是什么? 示例:miner.exe
这里一样去对 jsp 马的进行解密 (这次是对请求包进行解密,然后就是脚本解密完反编译字节码,然后这里是成功执行挖矿程序所以我们可以找一个相应包最短的,毕竟 success 的响应只会是很短的)
![img]()
sys_update.exe
(9/9) 该挖矿程序回连的矿池域名是什么?示例:www.baidu.com
![img]()
# Master of OSINT(三血)
1
![img]()
根据图片环境分析,应为西北部,靠近大湖的地点,根据百度地图的街景分布锁定青海湖
![img]()
沿着京拉线沿线找可发现此地
![img]()
2
![img]()
谷歌识图,发现此建筑的名称
![img]()
即为图示位置
![img]()
3
利用谷歌识图发现相似塔台,为双流机场(zuuu)
![img]()
通过街景发现具体位置
![img]()
4
通过图片发现宜家家居和浙通物流这两个线索,暂时锁定浙江
![img]()
![img]()
再通过宜家家居门店地址和上方的地铁穿越锁定浙江杭州的宜家
![img]()
5
![img]()
通过单轨穿楼可以想到重庆二号线
![img]()
再通过远处的大桥可以判断地铁和道路所成的位置关系为
![img]()
通过沿线查找可锁定谢家湾立交
![img]()
![img]()
6
利用谷歌识图和地理特征判断可锁定南京大报恩寺琉璃塔
![img]()
百度全景锁定位置
![img]()
7(1 个月前刚去过此地)
通过地理位置判断此地位于很长的江心洲上
![img]()
通过搜索锁定长沙橘子洲
![img]()
![img]()
8
通过桥型分析为长度很长的跨海或跨江大桥,桥中间有路灯,右侧有风力发电机
后通过有无街景和水的颜色排除,得到上海长江大桥
![img]()
9
谷歌识图秒
![img]()
![img]()
10
通过图中的中铁三局集团携手促进浙江经济发展,锁定浙江
![img]()
再通过判断该处为大型铁路枢纽而且有普速铁路穿过,利用 https://www.openrailwaymap.org/ 可以锁定此处
![img]()
![img]()