2022蓝帽杯取证

Posted by Azeril on September 7, 2023

计算机取证

网站取证

手机取证

前言:最近要参加一个蓝帽杯的比赛,所以学习以下取证,不能坐牢去呀!!

初步目标: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

现对一个苹果手机进行取证,请您对以下问题进行分析解答。
姜总的快递单号是多少?

直接搜索字符姜,然后一步步查看聊天记录


Creative Commons License
本作品采用CC BY-NC-ND 4.0进行许可。转载,请注明原作者 Azeril 及本文源链接。