2024“龙信杯“电子数据取证竞赛——计算机取证题目Writeup

以下内容是2024年“龙信杯”电子数据取证竞赛计算机取证题目的答案与解题思路

image.png

前置

前置发现电脑中有EFS加密文件,故使用仿真软件保持原有密码进行仿真

image.png

1.分析计算机检材,嫌疑人在将其侵公数据出售前在Pycharm中进行了AES加密,用于加密的key是多少?[标准格式:1A23456ABCD]

参考答案:65B2564BG89F16G9
解题思路:使用仿真软件对计算机检材进行仿真,打开桌面Pycharm软件,发现encrypted.py脚本,定位key值。

image.png

2.分析计算机检材,身份证为"371963195112051505"这个人的手机号码是多少?[标准格式:13013524420]

参考答案:15075547510
解题思路:
2.1根据key"65B2564BG89F16G9"、iv"83E6CBEF547944CF"对身份证"371963195112051505"进行加密

在线加密地址:https://www.mklab.cn/utils/aes

image.png

2.2 在文件中搜索对应值,解密当行其他值

image.png

3.分析计算机检材,对解密后的身份证数据列进行单列去重操作,重复的身份证号码数量是多少?(身份证不甄别真假)[标准格式:100]

参考答案:0
解题思路:
3.1 对加密文件“encrypted_data.txt”进行解密,编写代码如下:

import os 
import
time 
from Crypto.Cipher import AES 
from
Crypto.Util.Padding import unpad 
from concurrent.futures import
ProcessPoolExecutor, as_completed 
from tqdm import tqdm defaes_decrypt(encrypted_data, key, iv): cipher =AES.new(key, AES.MODE_CBC, iv) decrypted_data =cipher.decrypt(encrypted_data) unpadded_data =unpad(decrypted_data, AES.block_size) returnunpadded_data.decode("utf-8")defprocess_chunk(lines, key, iv): result =[] for line inlines: parts =line.strip().split(',')index = parts[0]decrypted_parts = [index] for part inparts[1:]:encrypted_part = bytes.fromhex(part)decrypted_part =aes_decrypt(encrypted_part, key, iv) decrypted_parts.append(decrypted_part) result.append(",".join(decrypted_parts)+ "\n")return result defget_file_line_count(file_path): withopen(file_path, 'r', encoding='utf-8')
as f: line_count = sum(1for _ inf) return line_countdefprocess_data(input_file, output_file, key, iv, num_workers=32,
chunk_size=10000):total_lines =get_file_line_count(input_file) num_workers =min(num_workers, os.cpu_count() * 2)withProcessPoolExecutor(max_workers=num_workers)
as executor, \ open(input_file, "r")
as f_in, \ open(output_file, "w")
as f_out: futures = [] lines_processed = 0pbar = tqdm(desc="解密进度",
unit="行",
total=total_lines)try:whileTrue:lines =[f_in.readline() for _ inrange(chunk_size)]lines =list(filter(None, lines))if notlines: break future =executor.submit(process_chunk, lines, key, iv) futures.append((future, len(lines)))forfuture, num_lines in futures: iffuture.done(): result =future.result() f_out.writelines(result) lines_processed += num_lines pbar.update(num_lines) futures.remove((future, num_lines)) exceptKeyboardInterrupt:print("\n用户中断操作。")except Exceptionas e: print(f"处理数据时发生错误:{e}")finally:for future, num_lines infutures: try:result =future.result() f_out.writelines(result) lines_processed +=num_lines pbar.update(num_lines) except Exceptionas e: print(f"处理剩余任务时发生错误:{e}")pbar.close() print(f"解密完成。共解密{lines_processed}行数据。")if__name__ =='__main__':key =b'65B2564BG89F16G9'iv =b'83E6CBEF547944CF'input_file= "../encrypted_data.txt"output_file = "decrypted_data.txt"start_time = time.time() print("开始解密...")try:process_data(input_file, output_file, key, iv, num_workers=64)except Exceptionas e: print(f"处理数据时发生错误:{e}")end_time = time.time() print(f"总耗时:{end_time -start_time} 秒")

image.png

3.2 使用EmEditor对身份证列进行去重操作

image.png

4.分析计算机检材,接上题,根据身份证号码(第17位)分析性别,男性的数据是多少条?[标准格式:100]

参考答案:5001714
解题思路:
4.1根据身份证的特性(第17位)来判断男性还是女性,其中奇数分配给男性,偶数分配给女性,编写代码如下:

import threading
from tqdm import tqdm 
import os defread_file_with_encoding(file_path, encoding): try:with open(file_path, 'r',
encoding=encoding) as file:return file.readlines()except UnicodeDecodeError:return None defprocess_line(line): try:_, _, id_number, _, original_gender =line.strip().split(',')exceptValueError:print(f"数据格式错误:{line.strip()}")return None iflen(id_number) == 18:gender_digit = id_number[16] # 第17位(0-based index)ifgender_digit.isdigit(): analyzed_gender ='男' ifint(gender_digit) % 2!= 0 else'女'else:print(f"身份证号码格式错误:{id_number}")return None else:print(f"身份证号码长度错误:{id_number}")return None returnf"{analyzed_gender},{original_gender}\n"defworker(lines, results, lock, pbar): local_results =[] for line inlines: result =process_line(line) ifresult: local_results.append(result) pbar.update(1)withlock: results.extend(local_results) defmain(): file_path ='decrypted_data.txt'ifnot os.path.exists(file_path): print(f"文件{file_path}不存在,请检查文件路径。")return lines =read_file_with_encoding(file_path, 'utf-8')if lines isNone:lines =read_file_with_encoding(file_path, 'gbk')if lines isNone:return total_entries = len(lines)num_threads = 8chunk_size = total_entries //num_threads threads = [] results = [] lock =threading.Lock() pbar =tqdm(total=total_entries, desc="处理进度",
unit="条")for i inrange(num_threads):start =i * chunk_size end =None ifi == num_threads -1 else(i + 1) *chunk_size thread =threading.Thread(target=worker,
args=(lines[start:end], results, lock,
pbar))threads.append(thread) thread.start() forthread in threads: thread.join() pbar.close() withopen('result.txt', 'w',
encoding='utf-8')
as outfile: forline in results: outfile.write(line) print("数据分析和写入result.txt 完成。")if__name__ =='__main__':main()

4.2 分析上述生成的result.txt文件,编写代码如下:

import os defcount_males_in_result(file_path): male_count =0withopen(file_path, 'r', encoding='utf-8')
as infile: for linein infile: analyzed_gender, _ =line.strip().split(',')if analyzed_gender =='男':male_count += 1return male_count defmain(): result_file_path ='result.txt'ifnotos.path.exists(result_file_path): print(f"文件{result_file_path}不存在,请先生成结果文件。")return male_count =count_males_in_result(result_file_path) print(f"第一列数据中男性数量为:{male_count}")if__name__ =='__main__':main()

image.png

5.分析计算机检材,接上题,对解密后的数据文件进行分析,甄别身份证号码性别值与标识性别不一致的数量是多少?[标准格式:100]

参考答案:5001185
解题思路:
分析上述生成的result.txt文件,编写代码如下:

import os 
from
tqdm import tqdm defcount_mismatched_entries(file_path): mismatch_count =0total_entries =0withopen(file_path, 'r', encoding='utf-8')
as infile: for linein tqdm(infile, desc="Counting
mismatched entries"):analyzed_gender,
original_gender =line.strip().split(',')total_entries += 1if analyzed_gender !=original_gender: mismatch_count +=1returnmismatch_count, total_entries defmain(): result_file_path ='result.txt'ifnotos.path.exists(result_file_path): print(f"文件{result_file_path}不存在,请先生成结果文件。")return mismatch_count, total_entries =count_mismatched_entries(result_file_path) print(f"不一致的数据量为:{mismatch_count},总数据量为:{total_entries}")if__name__ =='__main__':main()

image.png

6.分析计算机检材,计算机中存在的“VPN”工具版本是多少?[标准格式:1.1]

参考答案:4.4
解题思路:在E:\WinXray\WinXray.exe发现VPN软件

image.png

7.分析计算机检材,计算机中存在的“VPN”节点订阅地址是什么?[标准格式:http://xxx.xx/x/xxx]

参考答案:https://paste.ee/d/4eIzU
解题思路:

image.png

8.分析计算机检材,eduwcry压缩包文件的解压密码是什么?[标准格式:abcabc]

参考答案:yasuomima
解题思路:
在"C:\Users\Administrator\Downloads"路径下发现eduwcry压缩包,在bandzip发现通用密码,尝试解压成功。

image.png

9.分析计算机检材,接上题,请问恶意程序释放压缩包的md5值是多少。[标准格式:全小写]

参考答案:b576ada3366908875e5ce4cb3da6153a
解题思路:
开启win7虚拟机运行wry.exe,使用火绒监视器发现软件运行时会释放相关文件

image.png

于是用ida进行静态分析,搜索wnry字符串得

image.png

查看引用得sub_401DAB有个资源加载导出行为

image.png

image.png

其中Type为XIA,于是使用工具cff进行分析exe,在资源结点找到XIA字符串

image.png

其子项2058内容为压缩包(PK签名)

image.png

将其导出后用7z打开得与火绒监视得到的释放内容一致

image.png

10.分析计算机检材,接上题,请问恶意程序记录的洋葱浏览器下载地址是多少?[标准格式:http://xxx.xxx/xxx/xxx]

参考答案:https://dist.torproject.org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip
解题思路:
软件在VM运行时,通过火绒剑监视发现@WannaDecryptor@.exe去打开s.wnry文件释放Tor.exe

image.png

使用7z.exe打开s.wnry知该文件即为压缩包

image.png

于是全局搜索tor关键字发现c.wnry含有该链接

image.png

使用迅雷下载

image.png

使用7z打开对比大小及crc值是一样的,故推断该浏览器是从这链接下载后精简的

image.png

11.分析计算机检材,接上题,请问恶意程序解密了t.wnry后该dll的md5值是多少。[标准格式:全大写]

参考答案:f351e1fcca0c4ea05fc44d15a17f8b36
解题思路:
继续分析WinMain函数知sub_4014A6会对t.wnry进行解密,得到一个可执行程序(dll)然后通过sub_4021BD写入内存,最后通过sub_402924获取一个函数地址v7来调用

image.png

分析sub_4014A6函数

image.png

知v16在sub_403A77解密完成,于是使用xdbg进行动态调试,在sub_403A77处下断点

image.png

待执行完后对v16内容进行内存转储为t.dll文件,计算hash得

image.png

12.分析计算机检材,接上题,恶意程序运行起来后第一个循环调用了几次taskkill.exe。[标准格式:2]

参考答案:5
解题思路:
使用ida分析t.dll,搜索taskkill引用情况

image.png

查看引用,知taskkill被sub_100057c0循环调用,v0==1调用了5次

image.png

13.分析计算机检材,接上题,请问@WanaDecryptor@.exe.lnk文件是通过什么函数创建的。[标准格式:Aabcdef]

参考答案:CreateShortcut
解题思路:
搜索@WanaDecr yptor@.exe.lnk 字符串

image.png

知该快捷方式在sub_10004CD0通过脚本创建(CreateShortcut)

image.png

14.分析计算机检材,接上题,恶意程序修改系统桌面壁纸是在哪个函数实现的[标准格式:sub_xxx]

参考答案:sub_10004F20
解题思路:
搜索修改系统桌面api得SystemParametersInfo

image.png

查看该api被sub_10004F20调用

image.png

该函数将b.wnry文件内容写入到@WannaDecryptor@.bmp中,然后调用SystemParametersInfoW进行修改桌面

image.png

15.分析计算机检材,VeraCrypt加密容器的密码是什么?[标准格式:abc]

参考答案:qwertyuiop1
解题思路:
在E盘根目录找到疑似加密容器文件"data-backup.dd",经分析文件头是压缩包,将其解压。

image.png

16.分析计算机检材,其中存在一个苹果手机备份包,手机备份包的密码是什么?[标准格式:12345]

参考答案:75966
解题思路:通过Chrome浏览器搜索记录,确认苹果备份密码是5位

image.png

使用Passware Kit Forensic选择手机&云服务->iPhone Backup 自定义5位数字爆破

image.png

17.分析计算机检材,接上题,机主实际篡改多少微信数据?[标准格式:1]

参考答案:3
解题思路:
通过取证软件解析结果和缓存库进行对比发现

image.png

对比第一处

image.png

对比第二处

image.png

对比第三处

image.png

###18.分析计算机检材,接上题,机主共存款了多少金额?[标准格式:10万]
参考答案:98万
解题思路:

image.png

image.png

19.分析计算机检材,在手机模拟器中勒索apk软件的sha256值是什么?[标准格式:全小写]

参考答案:340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e
解题思路:
分析C:\Users\Administrator\backup.npbk模拟器备份文件

image.png

20.分析计算机检材,接上题,请问勒索apk软件的解锁密码是什么?[标准格式:qwer.com]

参考答案:anzhuo.com
解题思路:导出模拟器中目标apk,静态分析即可

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13131.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux学习_12

第十一章 管理Linux软件包和进程 主要包括源码下载安装软件,PRM管理工具,YUM/DNF管理工具 源码下载安装软件 源码文件:是指包含计算机程序源代码的文本文件。源代码是用特定编程语言编写的人类可读指令,它描述了计算机程序的逻辑、…

2024年Python最新下载安装教程,附详细图文,持续更新

大家好,我是Java徐师兄,今天为大家带来的是Python3 的下载安装教程,适用于所有 Python3 版本,感兴趣的可以看一下 文章目录 简介一、Python的下载1 网盘下载地址 (下载速度比较快,推荐)2 官网下载地址 二、…

JAVA同城服务顺风车预约车拼车系统源码支持小程序+公众号+H5

JAVA同城服务顺风车预约车拼车系统源码,全面支持小程序、公众号及H5平台,精准定位于解决城市出行痛点,满足用户多样化、灵活化的出行需求。市场分析显示,该系统凭借便捷的预约拼车功能,有效缓解城市交通压力&#xff0…

126.WEB渗透测试-信息收集-ARL(17)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:125.WEB渗透测试-信息收集-ARL(16) POC信息里面有一些集成的poc …

什么是 ISP:了解互联网服务提供商的作用

一、ISP 基础知识 从本质上讲,ISP 提供两项主要服务:互联网接入和互联网传输。互联网接入是指使用户能够连接到互联网的物理和逻辑连接,通常通过调制解调器、路由器或其他网络设备。此连接可以是有线的(例如通过 DSL、光纤或电缆…

Trace——下一代自动微分工具,优化AI系统设计

人工智能咨询培训老师叶梓 转载标明出处 在自动化设计和更新AI系统,如编码助手、机器人和副驾驶等领域,优化问题的研究显得尤为重要。传统的自动微分框架,例如PyTorch,虽然能够高效地优化可微分系统,但在面对一般计算…

天猫商品详情数据API接口简介

随着电子商务的飞速发展,各大电商平台都在积极开发和完善自己的数据接口,以便为商家和消费者提供更加便捷、高效的服务。天猫作为阿里巴巴旗下的重要电商平台,其商品详情数据接口是商家获取商品信息、进行数据分析的重要工具。联讯数据将详细…

unity 玩家和炸弹切线计算方式

脚本挂在炸弹上! using System.Collections; using System.Collections.Generic; using UnityEngine;public class TargetDetaction : MonoBehaviour {private Transform PlayerTF;private Transform bomb;private float radius;private string Player "Play…

【Linux】————信号

作者主页: 作者主页 本篇博客专栏:Linux 创作时间 :2024年11月12日 信号和信号量 首先说明这两者之间没有任何关系 信号:信号是在软件层次对中断机制的一种模拟,是一种异步通知机制,用于通知进程发生…

【数据治理】你知道数据加密和脱敏技术?

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

python:用 sklearn 构建 K-Means 聚类模型

pip install scikit-learn 或者 直接用 Anaconda3 sklearn 提供了 preprocessing 数据预处理模块、cluster 聚类模型、manifold.TSNE 数据降维模块。 编写 test_sklearn_3.py 如下 # -*- coding: utf-8 -*- """ 使用 sklearn 构建 K-Means 聚类模型 "&…

10款PDF合并工具的使用体验与推荐!!!

在如今的信息洪流中,我们几乎每个人都被淹没在大量的数字文档之中。无论是学生、教师还是职场人士,我们都需要高效地管理和处理这些文档。而PDF文件,凭借其跨平台的稳定性和通用性,成了最常用的文档格式之一。我们经常需要处理、编…

匿名管道 Linux

目录 管道 pipe创建一个管道 让子进程写入,父进程读取 如何把消息发送/写入给父进程 父进程该怎么读取呢 管道本质 结论:管道的特征: 测试管道大小 写端退了,测试结果 测试子进程一直写,父进程读一会就退出 …

【stablediffusion又出王炸】IC-Light,可以操控图像生成时的光照,光照难题终于被解决了!

IC-Light代表Impose Constant Light,是一个控制图像照明的项目。可以操控图像生成时的光照,对内容主体重新打光生成符合新背景环境光照的图片。这下商品图合成这种需要最大程度保持原有主体 ID 需求的最大的问题解决了。 Controlnet, Layerdiffusion, IC-light… …

HTML文本标签学习记录

HTML:HyperText Markup Language(超文本标志语言) HTML结构&#xff1a; 一个文档声明&#xff1a;<!DOCTYPE html>表示这是一个HTML页面 一个html标签对&#xff1a;<html></html>作用是告诉浏览器&#xff0c;这个页面是从<html>开始&#xff0c;…

Vmware安装macos虚拟机

解锁虚拟机安装 maOS 限制 下载工具包 https://github.com/DrDonk/unlocker解压进入文件夹unlocker.exe 以管理员身份运行win-install.bat 以管理员身份运行 Vmware创建虚拟机 虚拟机配置设置 选择类型 镜像选择 系统选择 存储路径设置 启动虚拟机实例 选择语言 磁盘管…

机器学习-4:机器学习的建模流程

机器学习的建模流程 流程为&#xff1a; 原始数据 --> 数据预处理 --> 特征工程 --> 建模 --> 验证。 原始数据收集 所有AI或机器学习的基础就是数据&#xff0c;没有数据就什么都做不了&#xff0c;在搭建一个系统之前首要考虑的就是有没有足够多的数据可以支撑这…

【原创】java+ssm+mysql美食论坛网系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

RHEL 网络配置(Linux网络服务器 09)

0 引入 对于Linux系统的网络管理员来说&#xff0c;掌握Linux服务器的网络配置是至关重要的&#xff0c;同时管理远程主机也是网络管理员必须掌握的。这些是后续网络服务配置的基础。 本文&#xff0c;我们讲解如何使用nmtui命令配置网络参数&#xff0c;以及通过nmtui命令查…

新增支持Elasticsearch数据源,支持自定义在线地图风格,DataEase开源BI工具v2.10.2 LTS发布

2024年11月11日&#xff0c;人人可用的开源BI工具DataEase正式发布v2.10.2 LTS版本。 这一版本的功能变动包括&#xff1a;数据源方面&#xff0c;新增了对Elasticsearch数据源的支持&#xff1b;图表方面&#xff0c;对地图类和表格类图表进行了功能增强和优化&#xff0c;增…