站点图标 问谛居

蓝帽杯2022 电子取证 Misc Writeup

Misc

domainhacker

7-zip双击后发现有压缩包(因为没有直接打开)

那就是要找密码了

后面发现在最后一个流,hacker 把 rar 下载了下来

追踪tcp流

截取部分搜索,发现和去年绿城杯的取证很像

直接效仿其去掉payload中疑似base64部分的前两位进行解密得到压缩包密码

找到密码了

打开后是 mimikatz 的提取结果(流量里面有看到目录)

这应该就是答案了

416f89c3a5deb1d398a1a1fce93862a7

因为次数不限,大不了把文件里所有hash都交一次,主要是忘存答案了(

domainhacker2

获取压缩包密码的方式同第一题

参考https://teamssix.com/210909-215110.html

https://www.freebuf.com/articles/network/251267.html

原本用的:QuarksPwDump.exe

答案不太对

后来想起来我有hash suite

三个答案都试了下

结果都不对,然后转成小写,第二个是正确的,之后再深究下原因

电子取证

手机取证

第一问

打开查看器直接搜索,右键导出

得出答案

第二问

搜索快递,搜到了一堆广告

搜姜总发现skype里面有姜总其他地方没出现,所以仔细的看了下

私聊没东西,但后面拉了一个群

群内聊天记录发现快递单号

计算机取证

第一问

将内存文件丢到Passware Kit Forensic

得到密码 anxinqi

第二问

用vol看了下进程

得知存在 TrueCrypt,有个名字疑似是 RAMCapture PID为2192

第三问

说了 bitlocker 那估计给的 E01 是 bitlocker 还是用 Passware Kit Forensic

同时选中内存与磁盘文件

解密后用 OSFMount 挂载

四个文件,office文件应该指的是第二个和第三个具体哪个不太清楚,

pass.txt 看起来是个字典,索性用 AOPR 跑,但是 AOPR 炸了,看着字典不厚时间还够就让队友手动爆破了

解的word 密码为:688561 pptx 密码为: 287fuweiuhfiute

最后在ppt中找到flag

没看懂hint(指ppt密码错误)

第四问

看了下新建文件文档,看到题目写的 TrueCrypt 以及进程也有 TrueCrypt,所以估计也是用 Passware Kit Forensic

应该是压根没有加密(?)

用 OSFMount 挂载

有密码,但是没有其他线索,准备先爆破

得到密码 991314

得到flag

程序分析

第一问

查看resources.arsc得到包名

第二问

反编译classes.dex找到MainActivity程序入口

###

第三问

在主程序中找到一串base64

解码得到一个域名,确认为答案

###

第四问

搜索字符串“安全”找到如下位置,找到类名

网站取证

第一问

日常代码审计,逛到了 Temp

居然火绒和在线杀软没扫描出来,表示不能理解

第二问

找到了 database.php

密码被加密了,看下加密函数

直接找了个 PHP 在线编译

第三问

继续审计,看到了个md5 和 key 这个 key 估计就是盐

但后来发现其实就是个 key 毕竟是对称的

第四问

在 .sql 文件中找到汇率 , 交易 ,用户信息如下

题目要求的是张宝——> 王子豪,通过筛选ID(5,3)得到如下结果

f1 = open("1.txt","r")
f2 = open("2.txt","w")

for i in f1.readlines():

if "5, 3" in i:
f2.write(i)

由于交易的金额是加了密 ,而题目中刚好也提供了解密函数

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;
  }

解密后得到每笔交易的金额如下

<?php
function decrypt($data, $key = 'jyzg123456')
{
   header('Content-type:textml;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;
}
$handle = fopen('./2.txt', 'r');
while (false !== ($s = fgets($handle,1024))) {
   $a=strpos($s,"5, 3, '");
   $s=substr($s,$a+7);
   $a=strpos($s,"');");
   $s=substr($s,0,$a);
   echo decrypt($s)."\n";
}

最后计算金额

a_2 = 619677+381192+485632+827781+944010+870430+864838+659765+840888+862278+959308+375606+382351 #13
a_3 = 600886+668715+834416+786289+569887+927718+734944+934225+679480+953223 #10
a_4 = 405953+980190+230656+627978+512603+227386+886700+723220+672833+392757+980233 #11
a_5 = 477194+341676+897454+558132+196594+710565+852025+780278+268891 #9
a_6 = 939520+565792+302532+275989+362937+133285 #6
a_7 = 122920+422750+135300+749074+240723+291956+994093+681733+633757+706072+511209 + 507084 #12
a_8 = 434537+639097+401141+695796+192908+865109+372958+889941+309835+785010+933275+143084+967908 #13
a_9 = 771339+498613+619591+141964+860425+651757+723147 #7
a_10 = 590890+432183+556558+678067+973891+406772+886149+822340 #8
a_11 = 657058+966135+589766+311949+616394+214160+201001+981701+914356 #9
a_12 = 135514+578433+683899+334341+741263+138021 #6
a_13 = 316098+146481+485839+205327+731848+428202+160504+919123+818915 #9
a_14 = 333834+694827+511634+443100+224355+955410+143577 #7
a_15 = 229766+470887+915854+534098+714293+752857+599085+949860+759455 #9
a_16 = 178042+308810+687866+664921+529044+626792 #6
a_17 = 138977+278599+984190+525555+994453+753228+128063+978584 #8
a_18 = 238634+132052+724610+518820+517548+753126 #6


res = 0.04*a_2 + 0.06*a_3 + 0.05*a_4 + 0.07*a_5 + 0.10*a_6 + 0.15*a_7 + 0.17*a_8 + 0.23*a_9+0.22*a_10 + 0.25*a_11 + 0.29*a_12 + 0.20*a_13 + 0.28*a_14 + 0.33*a_15 + 0.35*a_16+0.35*a_17 + 0.37*a_18
print(res)
退出移动版