2022蓝帽杯初赛取证复现
2022蓝帽杯初赛取证复现
计算机取证
下载附件 拿到一个dmp内存镜像和一个E01计算机镜像
取证一:在内存镜像中的taqi7开机密码为
.\volatility.exe -f .\1.dmp imageinfo
.\volatility.exe -f .\1.dmp --profile=Win7SP1x64 hashdump
拿到taqi7开机密码的哈希值为:7f21caca5685f10d9e849cc84c340528
NSSCTF{anxinqi}
取证二:制作该内存镜像的进程PID号为
通过搜索 我们可以知道 可以制作内存镜像的进程有:
dd命令
Win32dd
Fmem
LIME
Magnet RAM Capture
.\volatility.exe -f .\1.dmp --profile=Win7SP1x64 pslist
在该内存所有的进程信息中 可以找到Magnet RAM Capture的进程PID为2192
NSSCTF{2192}
取证三:计算机镜像中bitlokcer分区某office文件中存在的flag值为?
首先 有内存镜像 有e01镜像 直接爆破bitlocker密码
得到bitlocker解密密钥:368346-029557-428142-651420-492261-552431-515438-338239
在取证大师中解密bitlocker加密分区 提取出两个加密文件 一个密码本
使用密码本 进行字典爆破
得密码分别为287fuweiuhfiute 和 688561
从渗透看取证.pptx中有flag
NSSCTF{b27867b66866866686866883bb43536}
取证四:TrueCrypt加密中存在的flag值为?
先用取证大师自带的内存镜像解析工具提取出TC加密容器密钥文件
导出密钥文件 在挂载TC加密文件
发现一个加密zip文件 爆破出密码为:991314
解压得flag
NSSCTF{1349934913913991394cacacacacacc}
手机取证
取证一:627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?
在附件中有一个苹果测试 查看.exe
在里面直接搜索目标图片 并导出
查看图片信息 得到分辨率为360x360
NSSCTF{360x360}
取证二:姜总的快递单号是多少?
在给的取证测试里面直接搜索姜总
在聊天记录里面找到订单号
NSSCTF{SF1142358694796}
网站取证
取证一:请从网站源码中找出木马文件,并提交木马连接的密码。
拿到网站源码和部分数据库文件 在解压网站源码时火绒告警
在虚拟机中打开 找到木马文件 连接密码就是:lanmaobei666
NSSCTF{lanmaobei666}
取证二:请提交数据库连接的明文密码
在WWW/application/database处 找到数据库密码的明文为my_encrypt()
意思是需要经过这个函数计算之后得到明文
在application文件夹下 正好有一个encrypt文件夹 里面正是my_encrypt()函数的解密过程
<?php
function my_encrypt(){
$str = 'P3LMJ4uCbkFJ/RarywrCvA==';
$str = str_replace(array("/r/n", "/r", "/n"), "", $str);
$key = 'PanGuShi';
$iv = substr(sha1($key),0,16);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,"",MCRYPT_MODE_CBC,"");
mcrypt_generic_init($td, "PanGuShi", $iv);
$decode = base64_decode($str);
$dencrypted = mdecrypt_generic($td, $decode);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$dencrypted = trim($dencrypted);
return $dencrypted;
}
解密过程是:
1.总体解密方法为AES解密的CBC模式
2.解密密钥为PanGuShi
3.偏移值是PanGuShi
经过SHA1加密后的前16位
由此可以进行在线解密
数据库连接的明文密码为:KBLT123
NSSCTF{KBLT123}
取证三:请提交数据库金额加密混淆使用的盐值
一点点翻源码
在WWW\application\admin\model\Channelorderlist
中找到盐值
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;
}
NSSCTF{jyzg123456}
取证四:请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?
在数据库中提取2到18号的交易记录 2到18号每天GG币和RMB的汇率
翻找数据库 发现 张宝的用户id为3 王子豪的用户id为5
在交易记录的倒数第三位和倒数第二位分别为收款人和付款人 所以匹配含有数据(5,3)的交易记录 再将每天GG币的数量 脱盐解密 乘上汇率 汇总就是转账的RMB
import base64
import hashlib
def decrypt(data):
key = hashlib.md5()
key.update(b'jyzg123456')
key = key.hexdigest()
x = 0
data = base64.b64decode(data)
Len = len(data)
l = len(key)
char = ""
str = ""
for i in range(Len):
if(x==l):
x = 0
char+=key[x:x+1]
x+=1
i =0
for i in range(Len):
if(ord(data[i:i+1])<ord(char[i:i+1])):
str+=chr(ord(data[i:i+1]+256)-ord(char[i:i+1]))
else:
str+=chr(ord(data[i:i+1])-ord(char[i:i+1]))
return str
data = ""
huilv = [0,0,0.04,0.06,0.05,0.07,0.10,0.15,0.17,0.23,0.22,0.25,0.29,0.20,0.28,0.33,0.35,0.35,0.37]
money = 0
Money = 0
with open("./flag.txt","r",encoding='utf-8') as file:
data = file.readlines()
for line in data:
if(int(line.split(',')[5])==5 and int(line.split(',')[6])==3):
Data = int(line.split(',')[4][10:12])
money = line.split(',')[7][2:10]
tmpmoney = huilv[Data]*int(decrypt(money))
Money += tmpmoney
print(Data,huilv[Data],decrypt(money),tmpmoney,line.split(',')[5],line.split(',')[6])
print("最后金额",Money)
NSSCTF{15758353.76}
程序取证
取证一:本程序包名是?
NSSCTF{exec.azj.kny.d.c}
取证二:本程序的入口是?
Android程序的入口就是Main Activity函数
package
的值就是程序入口 记得后面加上MainActivity
NSSCTF{minmtta.hemjcbm.ahibyws.MainActivity}
取证三:本程序的服务器地址的密文是?
直接找到服务器地址的密文:
NSSCTF{aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6}
取证四:本程序实现安全检测的类的名称是:
全局搜索 “安全”
这里引用了一个d.a.a.c.a.a()函数
找到该函数 发现定义的类就是a
NSSCTF{a}