计算机取证
网站取证
手机取证
前言:最近要参加一个蓝帽杯的比赛,所以学习以下取证,不能坐牢去呀!!
初步目标:NSSCTF去年的取证题做完
[蓝帽杯 2022 初赛]网站取证_1
据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
请从网站源码中找出木马文件,并提交木马连接的密码。
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
解压给的文件夹后,发现了一个数据库、和一些源码。
网上的wp,是直接下载一个D盾直接扫,然后通过查看目录来找
然后获得了密钥
[蓝帽杯 2022 初赛]网站取证_2
据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
请提交数据库连接的明文密码
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
这里给了源码,自己是找了以下connection.php但没任何的发现
看了wp:是通过phpstorm直接打开这个文件夹,然后找的是database.php(其实也就是一个个找,如果直接全局搜索password也找不到)
所以说就是这个函数的返回值就是密码,跟进允许即可
[蓝帽杯 2022 初赛]网站取证_3
请提交数据库金额加密混淆使用的盐值。
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
首先思路就是还是找到加密的php文件,估计就是找那个加密密钥(全局搜索key,或者自己找)
[蓝帽杯 2022 初赛]网站取证_4
计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45)
张宝是 3 王子豪是 5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
自己在分析数据库的时候,发现 每一天的汇率
如果分析这个的话,从创建表可以发现最后一列是金额,但是是一个加密用md5解出来是英文字符
计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45)
收款人 在前 也就是 王子豪,张宝 5,3,上面的加密其实就是上一题的加密密钥,然后里面也有解密脚本
如果一个个手查5,3属实有点多这时候(借助以下✌们脚本)
整体分析了以下其实就是二个正则相当于
INSERT INTO "public"."tab_channel_order_list" VALUES (197, '689591506416', 'GG币', NULL, '2022-04-02 08:09:16', 5, 3, 'm5ptnGtu');
2022-04-02
m5ptnGtu
with open("bak.sql","r",encoding="utf-8") as fr:
read=fr.readlines()
for v in read:
v.split(", ")[4].split(" ").[0].[1::]
v.split(", ")[7].[1::-4]
这里间隔用的,后面有个空格,不然没空格自己继续改即可
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()
print(read)
count = 0
total = 0
url = "http://localhost/poc.php"
for v in read:
#匹配目标数据
if v.find("5, 3") != -1: #这里可以看懂就是看每行有没有这些数据
#排除不在dir中的日期的汇款
if v.split(", ")[4].split(" ")[0][1:] in dir:#这个split(,)[4]就是用,作为分割取第四个 然后用空格分割取第一个 最后取出下标1以及后面所有数据
print(v.split(", ")[4].split(" ")[0][1:])
print(v.split(", ")[7][1:-4]) #加密金额
#向服务器发送请求,参数是数据库中加密的金额数据
r = requests.get(url,params={"a":v.split(", ")[7][1:-4].encode('utf-8')})#这里就是[1:-4] 取出包含1-- (包含倒数第四个)
#汇率
hui = dir[v.split(", ")[4].split(" ")[0][1:]]#这里取出日期
content = r.content.decode('utf-8')
#计算总金额
total += int(content) * hui
print(total)
#total=15758353.76 很牛的脚本
解密脚本直接搞一个get传参即可,题目给了二位小数
passware Kit Forensic软件分析
通过内存分析,.dmp软件
[蓝帽杯 2022 初赛]计算机取证_2
题目描述:
现对一个windows计算机进行取证,请您对以下问题进行分析解答。
制作该内存镜像的进程Pid号是多少?
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
首先通过取证大师打开,
发现MagnetRAMCapture这个进程,这个软件是专门用来制作内存镜像的工具
[蓝帽杯 2022 初赛]计算机取证_3
现对一个windows计算机进行取证,请您对以下问题进行分析解答。
bitlokcer分区某office文件中存在的flag值为?(答案参考格式:NSSCTF{abcABC123})
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
写一下完整的流程,直接使用取证大师打开e01文件(会提示存在Bitlocker解密)
然后使用取证大师里面的内存镜像解析工具
使用取证大师自带的 内存镜像解析工具 解析 1.dmp ,得到一个TrueCrypt
密钥文件和一个BitLocker
密钥文件
分别进行导出
刚才已经知道了是Bit加密,然后直接右击解密,浏览密钥文件即可
解密了之后发现了一个ppt,但是需要密码才可以查看(然后有一个密码文件,莫非是一个个试嘛)
如果直接使用工具自动取证,会检验出这三个文件
看了题解之后发现是通过一个ppt破解软件,遍历字典
[蓝帽杯 2022 初赛]计算机取证_4
现对一个windows计算机进行取证,请您对以下问题进行分析解答。
TrueCrypt加密中存在的flag值为?(答案参考格式:flag{abcABC123})
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
通过一开始取出了 二个密码文件,其中就有TrueCrypt加密
那肯定是最后一个文件,结合题目说的“TrueCrypt加密”,猜测这个文件正确的后缀应该是hc
然后修改后缀添加设备都导入进来
发现一个哈哈哈.zip,直接进行爆破
[蓝帽杯 2022 初赛]手机取证_1
现对一个苹果手机进行取证,请您对以下问题进行分析解答。
627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?(答案参考格式:1920x1080)
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交
直接打开exe搜索图片名字,然后导出查看属性是 360*360
[蓝帽杯 2022 初赛]手机取证_2
现对一个苹果手机进行取证,请您对以下问题进行分析解答。
姜总的快递单号是多少?
直接搜索字符姜,然后一步步查看聊天记录
本作品采用CC BY-NC-ND 4.0进行许可。转载,请注明原作者 Azeril 及本文源链接。