wmctf2021 Flag Thief && 祥云杯 层层取证 && 陇剑杯 wifi && 羊城杯 辣鸡取证

0x00我是菜鸡

这题算是做过的取证题里很复杂的了,拿出来复现一下
大部分内容参考了套神等大佬的博客,先贴在上面
https://blog.csdn.net/qq_42880719/article/details/120000111
https://blog.csdn.net/u010418732/article/details/120009187

0x01wmctf题解

因为没有取证大师,我这里先选择了用FTK挂载镜像
(其实可以直接用FTK加载磁盘文件为驱动器,从虚拟机打开,但和这题关系不大,从Tokeii大佬处学到的)
在这里插入图片描述

Hint:曾远程过其他电脑
也是从Tokeii大佬的博客学到这里大概有几种思路

1.default.rdp文件
2.注册表搜索Terminal Server Client
3.BMC 与bin缓存文件,可缓存远程桌面图片,文件位置:%userprofile%\AppData\Local\Microsoft\Terminal
Server Client\Cache**。
4.Credentials 位置:%userprofile%\AppData\Local\Microsoft\Credentials**

这里找到了bin文件,可以用工具BMC-tools文件导出图片,看了下图片,大概是访问的电脑的一些截图,有一万多张需要拼接,这里因为是复现太麻烦了直接抄答案
可以看出VeryCrypt的密码 5eCuri7yPaSsW0rd@__WMCTF
之后开启autopsy
在这里插入图片描述大概分析出来的加密文件有这些,这里就没有取证大师那么智能了,可以直接找到VC加密的文件,所以只能手动试,而且第四个名字的字符串比较奇怪,猜一下可以发现是第四个
用上面的密码在VeryCrypt中挂载
可以拿到一个nox-disk2.vmem

DiskGenius挂载,读已删除文件,发现一张通讯录截图
在这里插入图片描述根据安卓的特性可以直接从/data/com.android.providers.contacts/databases/导出通讯录数据库
在这里插入图片描述在这里插入图片描述

数据库中发现加密的字符串,猜测是AES,密钥锁屏密码(navicat出了点问题先用博客里师傅的图了)

nox是夜神模拟器,这个文件是夜神模拟器的镜像文件,下载夜神模拟器的双开器挂载镜像
在这里插入图片描述取证解锁锁屏密码,很牛批

在早期版本(2.3-5.1)的Android手机中,锁屏密码相关的文件如下,这种类型的加密方式比较简单,只需要破解相关的SHA1的哈希值即可。
/data/system/password.key
/data/system/gesture.key
在6.0-8.0版本的Android手机中,锁屏密码相关的文件如下,该类型的加密方式则相对复杂,应该采用的是scrypt-hash算法(https://github.com/dannycoates/scrypt-hash)。
/data/system/gatekeeper.pattern.key
/data/system/gatekeeper.password.key

解密脚本

#!/usr/bin/python
# -*- coding:utf-8 -*-
import struct
import binascii
import scrypt

N = 16384;
r = 8;
p = 1;

f = open('gatekeeper.pattern.key', 'rb')  # 读取gatekeeper.pattern.key文件
blob = f.read()
s = struct.Struct('<' + '17s 8s 32s')
(meta, salt, signature) = s.unpack_from(blob)  # 提取其中关键的信息

f1 = open('password.txt', 'r')  # 读取字典
lines = f1.readlines()
for data in lines:
    password = data.strip()
    to_hash = meta
    to_hash += password  # 将字典中读取的密码和meta信息组合成to_hash
    hash = scrypt.hash(to_hash, salt, N, r, p)
    print
    'signature  %s' % signature.encode('hex')
    print
    'Hash:      %s' % hash[0:32].encode('hex')  # 取hash值的前32位
    print
    'Equal:     %s' % (hash[0:32] == signature)

    if hash[0:32] == signature:  # 如果相同,程序结束
        print password
        print
        "OK"
        exit()

windows装那个scrypt库很麻烦…哭了
套神博客中说可以用hashcat非预期,完全没用过,试一下之后补充
解锁后可以直接看到联系人信息,算是hint
![在这里插入图片描述](https://img-blog.csdnimg.cn/c0fc740db80d45419f05c9a0895cd47a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQnlOb3REMGc=,size_20,color_FFFFFF,t_70,g_se,x_16

用锁屏密码解密AES后得到flag

0x02 层层取证

稍微有点绕,不是很难,这里直接拿当时比赛写的wp了
FTK打开磁盘镜像读到hint
hint:你连电脑都不能仿真打开,还想要flag?
用Arsenal Image Mounter挂载镜像并且另存位vmdk文件后在vmware里挂载磁盘作为虚拟机打开
volatility用hashdump获取用户xiaoming的密码
也可以用Passwarekit直接得到
![在这里插入图片描述](https://img-blog.csdnimg.cn/57ca7b182225409bb6da2b84056eb30a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQnlOb3REMGc=,size_20,color_FFFFFF,t_70,g_se,x_16

xiaoming_handsome输入密码后成功开机,读到便签上下层的word文档的密码,但是电脑上没有发现word文件
(这里也可以直接用volatility看StikyNot.exe便签进程)

Win7便签存储位置: %appdata%\Microsoft\Sticky Notes
C:\Users\你的用户名\AppData\Roaming\Microsoft\Sticky Notes
StickyNotes.snt文件为便笺的数据文件。
StickyNotes.snt的编码问题:
fs22字符段后面就是便签里面的内容,如果便笺含有中文,中文内容是以**“\xx\xx”形式存在的,然后每行都会以\par**结尾。可以把“\”替换为“%”,用urldecode方式解密,编码注意选择为gb2312

参考https://blog.csdn.net/weixin_46081055/article/details/119845409

在这里插入图片描述

在内存中看见了一个D盘的BitLocker恢复密钥文件的浏览记录,直接用Elcomsoft Forensic Disk Decryptor根据磁盘镜像文件和mem文件破解出bitLocker恢复密钥解锁磁盘
在解锁的磁盘中看到流量包2.pcapng,发现其中的UDP包中有rar文件的文件头,追踪UDP流,提取流量包中的数据恢复rar文件
然后根据压缩文件的提示用开机密码解压rar以及用之前得到的word密码打开docx文件,flag就在文件中

0x03 wifi
这题看了wp感觉不难,分数给的满高的,但当时有的东西没接触过,所以没做出来,感觉还是学到东西了
先贴下雪殇大佬的博客,学到很多http://www.snowywar.top/?p=2554
大概就是vol分析镜像文件,得到一个zip,zip的密码说了是网络适配器的UID,但当时不知道在哪找,现在知道关键字查Interface就可以查出来
在这里插入图片描述拿到密码解zip得到.cap的密码
服务器端的流量包是一个哥斯拉的shell,base64decodepayload发现是做了三次异或加密,加密的key已知,所以再做一次异或就可以看到源码,知道后看客户端发出的流量,用哥斯拉的加密方式解密得flag

0x04 羊城杯
第一次出题,还是出简单了啊
题很简单,主机上连git的话会留下一个ssh,里面有连接的邮箱,可以查到github账号
之后本来想让大家解一个加密的小程序的,但因为出题催的很紧(之前鸽太久了…)而且misc其他题也不简单,就想不要出太难了,没有加密直接反编译或者读源码就能拿到flag
网上随便找个unpack项目https://github.com/xuedingmiaojun/wxappUnpacker
本来老版本微信直接拖下来wxapkg即小程序源码是加密过的,新版微信取消了这点,本来加密的解密方法
https://blog.csdn.net/yeyiqun/article/details/109172556
github工具https://github.com/BlackTrace/pc_wxapkg_decrypt

出题踩的一些坑:
dumpit拉镜像之前一点要把该删的东西都删了,不然很容易被非预期啥的,可以用cleanmgr清内存什么的
win7镜像拉下来dumpfile内容都是空的,试了好几个拉镜像的软件都这样不知道为什么,后来换了xp镜像就可以了,如果有大佬知道为什么球球告诉孩子一下
大概就这些吧~~~

  • 1
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

ByNotD0g

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值