2026西电长安杯wp(手机取证)

第一次写取证的wp,对我也是学习和复盘。这次的长安杯也是借助了AGENT进行分析,官方wp没出,若有疏漏和错误请各位佬们批评指正。

手机取证

4.71 该手机的型号是什么?

火眼直接看基本信息

答案:POCO F2 Pro

该手机连接 SSID 为 B411 的 WIFI 时,使用的随机 MAC 地址是什么?

火眼的WIFI信息里直接可以找到

c6:dd:73:79:79:19

4.73 该手机中安装过若干个地图 APP,王昊天最早搜索过的关键词是什么?

谷歌地图的搜索记录最早的是 "西安电子科技大学 网络安全创新大楼"

但是题目里说有若干个地图APP,搜索map确实有个Bmap挺像的

但是搜索Bmap手机上没有它的数据,可能删除了,所以这里就取google的数据

答案:西安电子科技大学 网络安全创新大楼

4.74 接上题,该关键词的搜索时间是什么?(提示:以检材原始时区回答,答案格式:yyyy-MM-dd HH:mm:ss)

参考4.73的截图:

答案:2026-07-08 11:03:53

4.75 该手机中安装了几个具有局域网主机信息扫描功能的APP?

直接搜索"scan"就能搜到一个包名里有netscan的,一般就是有扫描功能的app

然后去翻所有的应用,对可疑的app包名去翻一下数据库文件,发现了de.csicar.ning这个app

我们看它的数据库文件就能发现,它的字段里有port、scan等,很明显有局域网主机信息扫描功能

其他的应该是没有了

答案:2

4.76 接上题,其中一个 APP 有保存扫描到的设备的信息,该 APP 扫描到了几个设备?

4.75中ning-db数据库中就有device字段,我们打开来看一下,一共有8个设备

答案:8

4.77 接上题,上述 APP 保存的设备信息中,设备 ID(Device Id)为 4 的设备的 IP 地址是什么?

device表中有ip这个字段:

这是IPv4 地址的 int32 表示,我们给它转换一下就能得到ip地址

这里当然你也可以写一个脚本去转换:
点击查看代码

复制代码
import ipaddress


def int32_to_ip(value, *, strict=False):
    if value is None:
        return None

    if isinstance(value, (bytes, bytearray)):
        if len(value) != 4:
            raise ValueError(f"bytes 长度必须为 4,实际 {len(value)}")
        return str(ipaddress.IPv4Address(bytes(value)))

    if not isinstance(value, int):
        raise TypeError(f"不支持的输入类型: {type(value).__name__}")

    if strict:
        if not (-(2**31) <= value <= 2**32 - 1):
            raise ValueError(f"超出 32 位范围: {value}")
        unsigned = value & 0xFFFFFFFF
    else:
        unsigned = value & 0xFFFFFFFF

    return str(ipaddress.IPv4Address(unsigned))

答案:192.168.50.72

4.78 接上题,上述设备的设备供应商是什么?

vendor name字段就是供应商

答案:Intel Corporate

4.79 该手机上有文件浏览 APP 连接并访问了 NAS,这些 APP 的包名是什么?(提示:若有多个,以半角分号";"分割)

一般来说是通过SMB协议进行访问的

在已安装应用里优先看文件管理器类和局域网传输类:

复制代码
pl.solidexplorer2      Solid Explorer
com.voyagerfiles       Voyager
bin.mt.plus            MT 管理器
org.localsend.localsend_app   LocalSend

然后逐个在数据库文件中搜索 B411NAS、NAS、smb这类

最后在这两个app的数据文件中发现了B411NAS的文件传输内容

答案:pl.solidexplorer2;com.voyagerfiles

4.80 接上题,其中一个应用访问过来自于 NAS 的文件,访问时间是什么?(提示:以检材原始时区回答,答案格式:yyyy-MM-dd HH:mm:ss)

由4.79里说的两个数据库文件可以发现,pl.solidexplorer2访问过来自NAS的文件

时间戳转换一下,得到答案

答案:2026-07-09 11:31:07

4.81 该手机上安装有一个远程终端连接 APP,其中 id 为 89c8576f-49a9-47b9-ba00-d962b7bb47d9 的连接,其标签(Label)是什么?(答案格式:xxx@xxx)

远程连接终端app就是这个sh.haven.app,我们直接去翻数据库

答案很明显了

答案:b411@b411nas

4.82 接上题,第一次尝试连接该服务器的时间是什么?(提示:以检材原始时区回答,答案格式:yyyy-MM-dd HH:mm:ss)

还是翻数据库,在known_hosts这个表中有个firstseen字段,时间戳转换一下就是第一连接的时间

答案:2026-07-09 11:31:45

4.83 王昊天在一款即时通讯 APP 中登录了用户,该 APP 的包名是什么?

火眼这边能直接解析出来,直接就有包名

答案:it.belloworld.mercurygram

4.84 接上题,登录该即时通信应用的用户的手机号(包含区号)是什么?使用该题答案解压王昊天的 TG 云取证数据"WHQ_TG.7z"。

答案:+8615102997015

4.85 接上题,数据买家的用户名是什么?

很明显就是叫someone

答案:someone

4.86 接上题,数据买家开价多少?(答案格式:1234CNY)

继续分析聊天记录就可以知道

答案:2000U

4.87 接上题,结合王昊天的 TG 云取证数据,王昊天发送的网页的标题是什么?

答案:309.85 MB file on MEGA

4.88 接上题,王昊天发送给数据买家的虚拟货币钱包地址在什么网络上运行?(答案格式:xxxx(xxxx))

手机截图里有这样一张照片:

上面明确写了仅在Ethereum(ERC20)网络上,所以答案就是这个

答案:Ethereum(ERC20)

4.89 王昊天最早发送给联系人的屏幕截图,其来源应用的包名是什么?

最早的应该是这一张,

该图片文件名后缀含有LX Music,对应到包名就是cn.toside.music.mobile

答案:cn.toside.music.mobile

4.90 该手机上安装了一款虚拟货币钱包管理 APP,分析该应用的数据,该应用中使用的钱包的 id(Wallet ID)是什么?

虚拟货币钱包管理 APP肯定就是这个com.gemwallet.android,那么还是看数据库文件

accounts表中就有

答案:multicoin_0xd8198c17C8e6D89205263F83e05F710243fbDDfA

4.91 接上题,该钱包共管理多少个区块链钱包地址?

address字段就是钱包地址,一共54个

答案:54

4.92 接上题,该钱包最近一次入账(Receive)的时间是什么?(提示:以检材原始时区回答,答案格式:yyyy-MM-dd HH:mm:ss)

在recent_assets这个表中可以找到

答案:2026-07-10 11:32:02

4.93 接上题,用户最近搜索过什么关键字?(提示:以检材中的原始数据回答)

在search表中有搜索的字段

答案:::stablecoins

4.94 找出保存在手机中的钱包助记词,助记词的完整内容是什么?(提示:以空格分割)

找助记词一般去找剪贴板,txt文件,备忘录等等,这里上述三个都没有线索,想可能在某个笔记软件里。搜索note找到这个笔记软件

查看数据库文件,第三条记录就是完整的助记词

答案:convince pyramid route ordinary viable youth silk include program hub select renew

4.95 该手机上安装了一个名为 rsend 的 APP,该应用连接远程服务器使用的私钥文件的 SHA-256 哈希值是什么?

直接找到这个app的文件夹路径,在下面找到id_ed25519.pub和id_ed25519.enc这两个文件

id_ed25519.pub里面是私钥内容,id_ed25519.enc应该是整个私钥文件容器

这里感觉题意不是很清晰,我个人倾向于id_ed25519.enc整个文件是私钥文件。反正就是用火眼自带的hash工具算一下

答案:3cbee43994a6fd60e81300aeb11f99d182aa3b34dfacb1de6ec94fdecacae855

4.96 接上题,该应用向服务器同步了本地的哪个目录?(答案格式:/aaa/bbb/ccc)

config.json中已经很明显了,反斜杠转义直接去掉就行

答案:/storage/emulated/0/sync

4.97 接上题,该应用的计划任务中,每隔多少分钟会进行一次自动同步?

还是在config.json中,有以下一段:

schedule.enabled = true:启用了定时同步; - schedule.intervalMinutes = 120:同步间隔 120 分钟

答案:120

4.98 接上题,该应用最后一次成功的同步的开始时间是什么?(提示:以检材原始时区回答,答案格式:MM-dd HH:mm:ss)

目录下有一个日志文件:sync.log

sync finished ok=true这里要找ok=true的表示同步成功

我们可以看到最后一次同步成功的开始时间是07-10 11:11:19

答案:07-10 11:11:19

4.99 接上题,该应用的前几次同步失败的原因是远程服务器找不到哪个二进制文件?

看一下前面的报错日志就可以知道了,bash执行器找不到rsync这个命令(也就是这个命令对应的二进制文件)

答案:rsync

4.100 接上题,被成功同步至服务器的文件的文件名是什么?(提示:若有多个, 以半角分号";"分隔)

我们知道本地被同步的目录是/storage/emulated/0/sync,直接去这个目录下

就是这四个文件了

答案:2512.09442v1__Reference_Recommendation_based_Membership_Inference_Attack_against_Hybrid-based_Recommender_Systems.pdf;2512.09539v1__Comparative_Analysis_of_Hash-based_Malware_Clustering_via_K-Means.pdf;b411NAS_README.txt;wxtla.7z