2022蓝帽杯初赛-forensics
不务正业web手,java看累了,来打取证😋😋😋
[蓝帽杯 2022 初赛]之Misc篇(NSSCTF)刷题记录(复现)_[蓝帽杯 2022 初赛]domainhacker-CSDN博客
MISC类
domainhacker
第一个打了忘截图了,直接用用上面链接wp的hhh....
拿到一个pcapng文件,wireshark打开直接读,找到最后有个获取1.rar的东西,binwalk -e直接导出来,(也可以提取分组字节流)发现有密码,分析传参部分:
substr隔了两个字符,从第三个字符选取:
base64解码拿到解压密码:
输入SecretPassw0rds解压,获得log文件,ctrl+F搜NTLM交了:
domainhacker2
附件已经给了一个rar,同理能拿到解压密码:
输入解压用工具一把梭:
python secretsdump.py -system /home/eddiemurphy/桌面/SYSTEM -ntds /home/eddiemurphy/桌面/ntds.dit -security /home/eddiemurphy/桌 面/SECURITY LOCAL -history
也可以导出来,直接搜administrator:
找到此处,得到上一次修改后的administrator密码:
07ab403ab740c1540c378b0f5aaa4087
包上flag{}交了:
flag{07ab403ab740c1540c378b0f5aaa4087}
计算机取证系列
计算机取证_1
限定了只能尝试交三次呃呃,害怕....
volatility直接梭:
python2 vol.py -f /home/eddiemurphy/桌面/1.dmp imageinfo
python2 vol.py -f /home/eddiemurphy/桌面/1.dmp --profile=Win7SP1x64 mimikatz
故开机密码&flag:
anxinqi
计算机取证_2
python2 vol.py -f /home/eddiemurphy/桌面/1.dmp --profile=Win7SP1x64 pslist
找到MagnetRAMCapture这个进程,这个软件是专门用来制作内存镜像的工具。
2192
计算机取证_3
PTF一把梭:
获得未解密版镜像:
把这个dd镜像文件再拿去AccessData FTK Imager梭,选Image那个选项添加进去:
导出这个ppt和pass.txt,再拿到PTF里去跑,添加字典一把梭。
passware kit forensic使用-CSDN博客
学会用字典爆破一下就出了:
计算机取证_4
书接上回,新建文本文档.txt 疑似是 TrueCrypt。使用 Passware Kit Forensic 破解 TrueCrypt ,但是 Passware Kit Forensic 直接将 TrueCrypt 的密码移除了,dd文件通用。
再把这个新建文本文档.txt从FTK里导出来,PTF梭:
但是这个txt直接打不开,会一直转....
binwalk+foremost分出一个zip文件,用ARCHPR开爆:
pass.txt找不到:
直接爆破:(用的纯数字,设一下字符长度啥的,一定要匹配六位,不然一直报错...)
开压缩包直接交了:
手机取证系列
手机取证_1
(好大的附件呃呃...后面才知道送了个盘古石阅读器给你hhh)
点这个exe,发现盘古石阅读器直接开了,那我们就搜:
导出来查看分辨率:
360×360
手机取证_2
直接搜姜总,查找消息记录交了:
SF1142358694796
程序分析系列
程序分析_1
jadx一把梭:
exec.azj.kny.d.c
程序分析_2
minmtta.hemjcbm.ahibyws.MainActivity
程序分析_3
程序分析_4
搜安全:
猜测为a类:
a
网站取证系列
网站取证_1
肉眼找估计难找,直接开火绒扫毒。
但是我运气比较好,一下就找到了hhhh:
lanmaobei666
网站取证_2
database.php里找到加密函数,跟踪一下:
因为我本机装的php7,这个函数已经被弃用了,所以这里vscode也给我划了斜杠。
直接网上跑,记得调到php5:
PHP Sandbox - Execute PHP code online through your browser (onlinephp.io)
KBLT123
网站取证_4
sql文件里截取下来:
注意汇率:
显然可看出收款人id在付款人id之前。
查看张宝和王子豪的id:
网站中有解密代码,我们可以魔改一下代码,让其接收我们的密文传参并返回解密后的金额。
起一个http服务把下面的php挂上去就行。
客户端提取相关数据并向服务端发送请求,接收返回的数据并计算总金额:
import requests #提取的日期对应的汇率 dir = {'2022-04-02': 0.04, '2022-04-03': 0.06, '2022-04-04': 0.05, '2022-04-05': 0.07, '2022-04-06': 0.10, '2022-04-07': 0.15, '2022-04-08': 0.17, '2022-04-09': 0.23, '2022-04-10': 0.22, '2022-04-11': 0.25, '2022-04-12': 0.29, '2022-04-13': 0.20, '2022-04-14': 0.28, '2022-04-15': 0.33, '2022-04-16': 0.35, '2022-04-17': 0.35, '2022-04-18': 0.37} with open("bak.sql","r",encoding="utf-8") as fr: read = fr.readlines() count = 0 total = 0 url = "http://127.0.0.1:1415/calc.php" for v in read: #匹配目标数据 if v.find("5, 3") != -1: #排除不在dir中的日期的汇款 if v.split(", ")[4].split(" ")[0][1:] in dir: #向服务器发送请求,参数是数据库中加密的金额数据 r = requests.get(url,params={"a":v.split(", ")[7][1:-4].encode('utf-8')}) #汇率 hui = dir[v.split(", ")[4].split(" ")[0][1:]] content = r.content.decode('utf-8') #计算总金额 total += int(content) * hui print(total) #total=15758353.76
服务端处理客户端发来的加密数据,解密后传回给客户端:
//calc.php <?php //接收参数,返回解密后的金额 $data = $_REQUEST["a"]; function decrypt($data, $key = 'jyzg123456') { header('Content-type:text/html;charset=utf-8'); $key = md5($key); $x = 0; $data = base64_decode($data); $len = mb_strlen($data); $l = mb_strlen($key); $char = ''; $str = ''; for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= mb_substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(mb_substr($data, $i, 1)) < ord(mb_substr($char, $i, 1))) { $str .= chr((ord(mb_substr($data, $i, 1)) + 256) - ord(mb_substr($char, $i, 1))); } else { $str .= chr(ord(mb_substr($data, $i, 1)) - ord(mb_substr($char, $i, 1))); } } return $str; } echo decrypt($data,$key = 'jyzg123456'); ?>
15758353.76