Logo
Overview

取证记录:平航杯

April 23, 2025
💡

看了题目背景,感觉是个好玩的东西。

😱

故事梗概:爱而不得,进而由爱生恨。作为有黑客背景的他,激发出了强烈的占有欲,虽然不能在真实物理世界成为她的伴侣,但在虚拟世界里,他执着的要成为她的主宰,于是,我们的故事开始了……。手机,电脑,服务器,木马,AI,Iot设备……无一幸免的都成为他的作案工具或目标,但最终在诸位明察秋毫的取证达人面前,都无处遁形,作恶者终将被绳之以法。追悔莫及的他最后终于明白,其实真正的爱,不是占有,而是放手!!!

🥲

由于环境配置问题,部分题目没有解出。

题目描述
"2025年4月,杭州滨江警方接到辖区内市民刘晓倩(简称:倩倩)报案称:其个人电子设备疑似遭人监控。经初步调查,警方发现倩倩的手机存在可疑后台活动,手机可能存在被木马控制情况;对倩倩计算机进行流量监控,捕获可疑流量包。遂启动电子数据取证程序。

警方通过对倩倩手机和恶意流量包的分析,锁定一名化名“起早王”的本地男子。经搜查其住所,警方查扣一台个人电脑和服务器。技术分析显示,该服务器中存有与倩倩设备内同源的特制远控木马,可实时窃取手机摄像头、手机通信记录等相关敏感文件。进一步对服务器溯源,发现“起早王”曾渗透其任职的科技公司购物网站,获得公司服务器权限,非法窃取商业数据并使用公司的服务器搭建Trojan服务并作为跳板机实施远控。
请你结合以上案例并根据相关检材,完成下面的勘验工作。"

检材:
window.e01                            
20250415_181118.zip        
export-disk0-000002.vmdk   
BLE                                     
USBPcap
通过网盘分享的文件:平航杯题目
链接: https://pan.baidu.com/s/1W_qpPBywESchS2UCovFgYA?pwd=njf7 提取码: njf7 
--来自百度网盘超级会员v6的分享
MD5: 6F3AE91C3152E8394B2E743FB2C75CCE
大小: 75161927680 字节
(是一个veracrypt加密,密钥是 早起王的爱恋日记❤   

计算机题目

计算机插入过usb序列号是什么

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR

便签里有几条待干

安装上就有了。

起早王的计算机默认浏览器是什么

是MSEDGE

起早王在浏览器里看过什么小说
起早王计算机最后一次正常关机时间

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows

起早王开始写日记的时间(

看下逻辑就能逆了吧(

currentuser下的.rednotebook就是

那那还是很有生活的。(2025/03/03)

SillyTavern中账户起早王的创建时间是什么时候(格式:2020/1/1 01:01:01)
> node
Welcome to Node.js v21.7.1.
Type ".help" for more information.
> new Date(1741607525472)
2025-03-10T11:52:05.472Z
SillyTavern中起早王用户下的聊天ai里有几个角色(格式:1)
SillyTavern中起早王与ai女友聊天所调用的语言模型(带文件后缀)(格式:xxxxx-xxxxxxx.xxxx)

另外这里值得注意的一点是,这里给出了bitlocker的密码。

电脑中ai换脸界面的监听端口(格式:80)
电脑中图片文件有几个被换过脸(格式:1)

这里是在D盘(bitlocker加密了)

最早被换脸的图片所使用的换脸模型是什么(带文件后缀)(格式:xxxxxxxxxxx.xxxx)

同样D盘有信息的。

inswapper_128_fp16.onnx

neo4j中数据存放的数据库的名称是什么(格式:abd.ef)

neo4j数据库中总共存放了多少个节点(格式:1)

neo4j数据库内白杰的手机号码是什么(格式:12345678901)

分析neo4j数据库内数据,统计在2025年4月7日至13日期间使用非授权设备登录且登录地点超出其注册时登记的两个以上城市的用户数量(格式:1)

起早王的虚拟货币钱包的助记词的第8个是什么(格式:abandon)

这个似乎是日记里说的,

搞了个钱包,助记词老是要忘记掉怎么办,要不放在输入法里试试。

微软输入法自定义短语里可以看到。但是我还是没有 配好环境。。

于是draft。

起早王的虚拟货币钱包是什么(格式:0x11111111)

直接恢复钱包。

0xd8786a1345cA969C792d9328f8594981066482e9

起早王请高手为倩倩发行了虚拟货币,请问倩倩币的最大供应量是多少(格式:100qianqian)
起早王总共购买过多少倩倩币(格式:100qianqian)

521

起早王购买倩倩币的交易时间是(单位:UTC)(格式:2020/1/1 01:01:01)

AI题目

这里看题解说是前三个就骗一骗AI就行。环境没打好呜呜。

分析crack文件,获得flag1(格式:flag1{123456})
分析crack文件,获得flag2(格式:flag2{123456})
分析crack文件,获得flag3(格式:flag3{123456})
分析crack文件,获得flag4(格式:flag4{123456})

手机题目

该检材的备份提取时间(UTC)(格式:2020/1/1 01:01:01)

额真是文件名吗?减8是utc时间。

分析倩倩的手机检材,手机内Puzzle_Game拼图程序拼图APK中的Flag1是什么(格式:xxxxxxxxx)

丢到手机上frida直接hook好了。

function getFlag() {
    let AESUtil = Java.use("com.example.puzzlegame.util.AESUtil").$new();
    console.log(AESUtil.decryptFlag());
  }
  
  function main() {
    Java.perform(() => {
      getFlag();
    })
  }
  
  setImmediate(main)
分析手机内Puzzle_Game拼图程序,请问最终拼成功的图片是哪所大学(格式:浙江大学)

社工吧。

木马app是怎么被安装的(网址)(格式:http://127.0.0.1:1234/)

参考这篇:

可以写一个简单的解压脚本。

r = open("DATA/浏览器(com.android.browser).bak","rb").read()
idx = r.find(b"none\n") + 5
r = r[idx:]
open("1.tar","wb").write(r)

可以再里面找到这个。加上文件名就是了。

检材内的木马app的hash是什么(格式:大写md5)

那就是这个文件的md5了

检材内的木马app的应用名称是什么(格式:Baidu)

com.example.reverseshell

检材内的木马app的使用什么加固(格式:腾讯乐固)

点开看一眼文件有个secshell,邦邦加固没跑了

检材内的木马软件所关联到的ip和端口是什么(格式:127.0.0.1:1111)

https://56.al/ 上传看看

可以下下来一个dex。

该木马app控制手机摄像头拍了几张照片(格式:1)

(见服务器/tmp/ratlog.txt)

木马APP被使用的摄像头为(格式:Camera)
木马APK通过调用什么api实现自身持久化(格式:JobStore)
根据倩倩的身份证号请问倩倩来自哪里(格式:北京市西城区)

服务器里有张图片310104200108110624

卧槽上海宁

此手机检材的IMEI号是多少(格式:1234567890)

貌似在那个备份包里搜imei能找到。没试过喵

exe逆向题目(hint:运行后请多等一会)(笔者:千万不要运行)

GIFT.EXE吧。IDA看了眼是个pyinstaller。

提取解密两把梭(雾:

源代码:

# Decompiled with PyLingual (https://pylingual.io)
# Internal filename: gift_builder.py
# Bytecode version: 3.10.0rc2 (3439)
# Source timestamp: 1970-01-01 00:00:00 UTC (0)

import os
import sys
import shutil
import zipfile
import tempfile
import base64
import zlib
import subprocess
import tkinter as tk
from tkinter import simpledialog, messagebox
PASSWORD = '20010811'
PACKED_DATA = b'....' # 太大了,这里放不下
def extract_and_run(packed_data):
    """解压并运行文件"""
    try:
        data = zlib.decompress(base64.b64decode(packed_data))
        extract_dir = os.path.join(tempfile.gettempdir(), 'gift_extracted')
        if os.path.exists(extract_dir):
            shutil.rmtree(extract_dir)
        os.makedirs(extract_dir)
        temp_zip = os.path.join(extract_dir, 'packed.zip')
        with open(temp_zip, 'wb') as f:
            f.write(data)
        with zipfile.ZipFile(temp_zip, 'r') as zipf:
            zipf.extractall(extract_dir)
        for file in os.listdir(extract_dir):
            if file.lower().endswith('.exe'):
                exe_path = os.path.join(extract_dir, file)
                subprocess.Popen([exe_path])
        return True
    except Exception as e:
        messagebox.showerror('错误', '解压或运行出错: {e}')
        return False

def main():
    root = tk.Tk()
    root.withdraw()
    password = simpledialog.askstring('密码', '我将永远记得你的生日:', show='*')
    if password == PASSWORD:
        success = extract_and_run(PACKED_DATA)
        if success:
            messagebox.showinfo('成功', '礼物已解锁!')
        else:
            messagebox.showerror('失败', '礼物解锁失败')
    else:
        messagebox.showerror('错误', '密码错误!')
if __name__ == '__main__':
    main()

所以就是,直接zlib+zip解压就拿到了。记得改个名字到exe1,防止运行了就哈人了

分析GIFT.exe,该程序的md5是什么(格式:大写md5)
> md5sum GIFT.exe
5a20b10792126ffa324b91e506f67223  GIFT.exe
GIFT.exe的使用的编程语言是什么
python
解开得到的LOVE2.exe的编译时间

metadata可以找到哦。

分析GIFT.exe,该病毒所关联到的ip和端口(

丢到云沙箱就能找到。

看了眼显然是加壳了

分析GIFT.exe,该病毒修改的壁纸md5

写个小脚本把wallpaper取出来吧。

import pywintypes
import win32api
import win32con
import winerror
from typing import Union, Iterator

LOAD_LIBRARY_AS_DATAFILE = 0x02

def load_library_as_datafile(library_path: str):
    library_handle = win32api.LoadLibraryEx(library_path, 0, LOAD_LIBRARY_AS_DATAFILE)
    assert library_handle != 0
    return library_handle

def enum_resources(library_handle):
    # 获取所有资源类型
    try:
        resource_types = win32api.EnumResourceTypes(library_handle)

        for res_type in resource_types:
            print(f"\nResource Type: {res_type}")
            
            # 获取该类型下的所有资源名称
            try:
                resource_names = win32api.EnumResourceNames(library_handle, res_type)
                for res_name in resource_names:
                    print(f"  Resource Name: {res_name}")
                    
                    # 获取资源数据
                    try:
                        resource_info = win32api.LoadResource(library_handle, res_type, res_name)
                        print(f"  Resource Size: {len(resource_info)} bytes")
                        
                        # 可以将资源保存到文件
                        with open(f"resource_{res_type}_{res_name}.bin", "wb") as f:
                            f.write(resource_info)
                        
                    except pywintypes.error as e:
                        print(f"  Error loading resource: {e}")
            except pywintypes.error as e:
                print(f"Error enumerating names: {e}")
    except pywintypes.error as e:
        print(f"Error enumerating types: {e}")
library_handle = load_library_as_datafile("1.exe")
enum_resources(library_handle)
win32api.FreeLibrary(library_handle)

啊呀,骇死我力

$ md5sum 1.png
733fc4483c0e7db1c034be5246df5ec0  1.png

同时资源文件里还能找到一个pem

-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIzKlacuMz/XDuZv8sNMJr3S86VHOBTZ
1IKSidumIpnw7QNXE2WpzZcW5jNuTkz7INkmkVGXauzN6BlHpYJkXRcCAwEAAQ==
-----END PUBLIC KEY-----

看看导入表可以继续深入

所以就是一个简单的rsa。

分析GIFT.exe,为对哪些后缀的文件进行加密: A.doc B.xlsx C.jpg D.png E.ppt

ABE

分析GIFT.exe,病毒加密后的文件类型是什么(格式:DOCX文档)

LOVE Encrypted File

分析GIFT.exe,壁纸似乎被隐形水印加密过了?请找到其中的Flag3(格式:flag3{xxxxxxxx})

水印fft一下吧。

分析GIFT.exe,病毒加密文件所使用的方法是什么(格式:Base64)
RSA
分析GIFT.exe,请解密test.love得到flag4(格式:flag4{xxxxxxxx})

服务器题目

该电脑最早的开机时间是什么(格式:2025/1/1 01:01:01)

/var/log/wtmp

服务器操作系统内核版本(格式:1.1.1-123)
除系统用户外,总共有多少个用户(格式:1)

有home的

分析起早王的服务器检材,Trojan服务器混淆流量所使用的域名是什么(格式:xxx.xxx)

分析起早王的服务器检材,Trojan服务运行的模式为:A、foward B、nat C、server D、client

关于 Trojan服务器配置文件中配置的remote_addr 和 remote_port 的作用,正确的是:A. 代理流量转发到外部互联网服务器 B. 将流量转发到本地的 HTTP 服务(如Nginx) C. 用于数据库连接 D. 加密流量解密后的目标地址

分析网站后台登录密码的加密逻辑,给出密码sbwyz1加密后存在数据库中的值(格式:1a2b3c4d)

网站后台显示的服务器GD版本是多少(格式:1.1.1 abc)

网站后台中2016-04-01 00:00:00到2025-04-01 00:00:00订单列表有多少条记录(格式:1)

在网站购物满多少免运费(格式:1)

分析网站日志,成功在网站后台上传木马的攻击者IP是多少(格式:1.1.1.1)

log里搜一下就有了

222.2.2.2

攻击者插入的一句话木马文件的sha256值是多少(格式:大写sha256)
攻击者使用工具对内网进行扫描后,rdp扫描结果中的账号密码是什么(格式:abc:def)

对于每个用户,计算其注册时间(用户表中的注册时间戳)到首次下单时间(订单表中最早时间戳)的间隔,找出间隔最短的用户id。(格式:1)

CD

统计每月订单数量,找出订单最多的月份(XXXX年XX月)

找出连续三天内下单的用户并统计总共有多少个(格式:1)

流量分析(提示:侦查人员自己使用的蓝牙设备有QC35 II耳机和RAPOO键盘)

请问侦查人员是用哪个接口进行抓到蓝牙数据包的(格式:DVI1-2.1)
起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备的原始设备名称为什么(格式:XXX_xxx 具体大小写按照原始内容)

还真是flipper啊,,

起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备修改成耳机前后的大写MAC地址分别为多少(格式:32位小写md5(原MAC地址_修改后的MAC地址) ,例如md5(11:22:33:44:55:66_77:88:99:AA:BB:CC)=a29ca3983de0bdd739c97d1ce072a392 )

原来是80:E1:26:33:32:31

搜device name还能找到一个,但是这个是侦查人员用的。

还有一个

流量包中首次捕获到该伪装设备修改自身名称的UTC+0时间为?(格式:2024/03/07 01:02:03.123)

第一个

起早王中途还不断尝试使用自己的手机向倩倩电脑进行广播发包,请你找出起早王手机蓝牙的制造商数据(格式:0x0102030405060708)
起早王的真名是什么(格式:Cai_Xu_Kun 每个首字母均需大写 )
起早王对倩倩的电脑执行了几条cmd里的命令(格式:1

7

倩倩电脑中影子账户的账户名和密码为什么(格式:32位小写md5(账号名称_密码) ,例如md5(zhangsan_123456)=9dcaac0e4787b213fed42e5d78affc75 )

qianqianwoaini$/abcdefghijkImn

起早王对倩倩的电脑执行的最后一条命令是什么(格式:32位小写md5(完整命令),例如md5(echo "qianqianwoaini" > woshiqizaowang.txt)=1bdb83cfbdf29d8c2177cc7a6e75bae2 )

rundll32 url.dll,FileProtocolHandler https://fakeupdate.net/win10ue/bsod.html

comment

留言 / 评论

如果暂时没有看到评论,请点击下方按钮重新加载。