Skip to main content

2024-11-17

容器密码:

/TP2G-h`q#(Ss!EUq,RR:Ss9"@!R"{-.kNw+-(gwGq.YLDS-|NEWH(GT3;6;

当时做的时候只有弘连的授权,美亚的等到比赛结束后25分钟才被批下来,麻了,有些题本来就得美亚看一眼就出的。

弘连仿真的时候看见密码了是jlb654321,因此就不重置密码。然后下面的做法我尽量按照当时做的时候来复现,实在有些麻烦的就还是用美亚来看了。

image-20241116225811191

计算机取证

1.对计算机镜像进行分析,计算该镜像中ESP分区的SM3值后8位为?(答案格式:大写字母与数字组合,如:D23DDF44)(2分)

BDBE1073

EFI系统分区,通常是FAT32,一般在100MB左右。

image-20241116230016388

2.计算机镜像进行分析,该操作系统超管账户最后一次注销时间为?(时区为UTC+08:00)(答案格式如:1970-01-0100:00:00)(2分)

2024-10-25 22:57:32

这个得用美亚的。

image-20241116231110520

3.对计算机镜像进行分析,该操作系统超管账户有记录的登录次数为?(填写数字,答案格式如:1234)(2分)

24

image-20241116230510603

4.计算机镜像进行分析,该操作系统设置的账户密码最长存留期为多少天?(填写数字,答案格式如:1234)(2分)

42

image-20241116230703747

5.对计算机镜像进行分析,该操作系统安装的数据擦除软件的版本为?(答案格式:1.23)(2分)

5.86

我看的控制面板卸载程序那里

image-20241116230753565

然后找到软件,看他的README

image-20241116230841841

6.对计算机镜像进行分析,该操作系统接入过一名称为"Realtek UsB Diskautorun UsB Device”的USB设备,其接入时分配的盘符为?(答案格式:A:)(2分)

E:

image-20241116231131823

7.对计算机镜像进行分析,该操作系统无线网卡分配的默认网关地址为?(答案格式:127.0.0.1)(2分)

192.168.43.1

image-20241116231228015

8.计算机镜像进行分析,该操作系统配置的连接NAS共享文件夹的IP地址为?(答案格式:127.0.0.1)(2分)

192.168.188.1

image-20241116231438240

9.计算机镜像进行分析,写出“吵群技巧.txt”文件SM3值的后8位?(大写字母与数字组合,如:D23DDF44)(2分)

10887AE1

这个在文档文件夹下

image-20241116231606886

image-20241116231737240

10.计算机镜像进行分析,该操作系统通过SSH连接工具连接CCTalk测试环境的SSH端口为?(填写数字,答案格式如:1234)(2分)

12849

image-20241116231807269

11.计算机镜像进行分析,该操作系统通过SSH连接工具连接的CCTalk境外服务器是哪个运营商的?(填写汉字,答案格式:阿里云)(2分)

亚马逊云

回收站有个CCTalk的xftp配置文件,知道IP是18.55.213.79

image-20241116232004105

然后whois即可

image-20241116232359727

12.计算机镜像进行分析,获取机主保存在本机的U盾序号的后4位数字为?(填写数字,答案格式如:1234)(2分)

6409

图片文件夹下面有个U盾图片,盲猜都是隐写

image-20241116232632925

发现有个RAR,手动分离

image-20241116232656172

image-20241116232722170

13.计算机镜像进行分析,机主存储的某篇新闻报道“小程序搅动资源争夺战”的发表年份为?(答案格式:2024)(2分)

2019

在下载文件夹中

image-20241116232835794

用CAJViewer

image-20241116232857556

14.计算机镜像进行分析,该操作系统访问“环球商贸”的IP地址为?(答案格式:127.0.0.1)(2分)

39.108.126.128

在finalshell里

image-20241116232956951

15.计算机镜像进行分析,“环球商贸”服务器配置的登录密码为?(答案按照实际填写,字母存在大小写)(2分)

HQSM#20231108@gwWeB

这题百度搜一下怎么解密finalshell保存的密码就好了。https://blog.csdn.net/SunJW_2017/article/details/115508202

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;
import java.util.Random;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

public class FinalShellDecodePass {
public static void main(String[] args)throws Exception {
System.out.println(decodePass(args[0]));
}
public static byte[] desDecode(byte[] data, byte[] head) throws Exception {
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(head);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(2, securekey, sr);
return cipher.doFinal(data);
}
public static String decodePass(String data) throws Exception {
if (data == null) {
return null;
} else {
String rs = "";
byte[] buf = Base64.getDecoder().decode(data);
byte[] head = new byte[8];
System.arraycopy(buf, 0, head, 0, head.length);
byte[] d = new byte[buf.length - head.length];
System.arraycopy(buf, head.length, d, 0, d.length);
byte[] bt = desDecode(d, ranDomKey(head));
rs = new String(bt);

return rs;
}
}
static byte[] ranDomKey(byte[] head) {
long ks = 3680984568597093857L / (long)(new Random((long)head[5])).nextInt(127);
Random random = new Random(ks);
int t = head[0];

for(int i = 0; i < t; ++i) {
random.nextLong();
}

long n = random.nextLong();
Random r2 = new Random(n);
long[] ld = new long[]{(long)head[4], r2.nextLong(), (long)head[7], (long)head[3], r2.nextLong(), (long)head[1], random.nextLong(), (long)head[2]};
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
long[] var15 = ld;
int var14 = ld.length;

for(int var13 = 0; var13 < var14; ++var13) {
long l = var15[var13];

try {
dos.writeLong(l);
} catch (IOException var18) {
var18.printStackTrace();
}
}

try {
dos.close();
} catch (IOException var17) {
var17.printStackTrace();
}

byte[] keyData = bos.toByteArray();
keyData = md5(keyData);
return keyData;
}
public static byte[] md5(byte[] data) {
String ret = null;
byte[] res=null;

try {
MessageDigest m;
m = MessageDigest.getInstance("MD5");
m.update(data, 0, data.length);
res=m.digest();
ret = new BigInteger(1, res).toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return res;
}
}

将代码复制并存储到本地,命名为FinalShellDecodePass.java,然后利用javac FinalShellDecodePass.java进行编译。编译完成后,利用java FinalShellDecodePass <密文字符串>进行解密,即可得到密码原码。

image-20241116233227801

image-20241116233319065

16.计算机镜像进行分析,机主安装的PC-Server服务环境的登录密码是?(答案按照实际填写,字母全小写)(2分)

jlb654321

同上的

image-20241116233401195

17.计算机镜像进行分析,机主搭建的宝塔面板的安全入口为?(答案格式:/abc123)(2分)

/c38b336a

宝塔这里,文件是在C:\ProgramData\Microsoft\Windows\Hyper-V\Virtural-PC\Virtual Hard Disks里躺着的,一个12G的镜像。

拉出了仿个真,注意一点就是仿真的时候选NAT,之前笔记中也讲过原因。

仿真起来后发现:

image-20241116233935075

直接强硬一点,dhclient启动

image-20241116234254817

好,出IP了,finalshell连上去。

image-20241116234346506

18.计算机镜像进行分析,机主搭建的宝塔面板的登录账号为?(答案格式:abcd)(2分)

igmxcdsa

同上图。

**19.计算机镜像进行分析,其搭建的宝塔面板的登录密码为?(按实际值填写)(2分)

igmxcdsa的密码md5值是93c35e3af4cfe9a3d19de72d4dce3337,admin的密码是admin

直接看密码是八个星号,肯定不对,然后暂时没找到哪里可以看密码。

那么就得看/www/server/panel/data/下的panle.db和div.pl

根据https://www.cnblogs.com/WXjzc/p/18180161

可以解出来本题的iv是iqR63gFphpP3Xxsm

image-20241117135617238

然后去解panle.db的

image-20241117135639097

image-20241117135646982

解出来就是93c35e3af4cfe9a3d19de72d4dce3337

cmd5查不到,并且也不确定是不是这个……

这个值93c35e3af4cfe9a3d19de72d4dce3337的来源是md5(md5(md5(password)+'_bt.cn'))

易得密码为jlb1998(实际上是从pagefile.sys里拿的)

验证:

20.计算机镜像进行分析,机主搭建的宝塔环境中绑定的宝塔账号是?(按实际值填写)(4分)

17859628390

image-20241116234922323

21.计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境的root密码为?(按实际值填写)(4分)

123456

image-20241116234959916

22.计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境连接的端口号为?(填写数字,答案格式如:1234)(2分)

3306

image-20241116235021503

23.接上题,“卡号分组”表所在的数据库名为?(答案按照实际填写,字母全小写)(4分)

a_train2023

看a_train2023数据库

image-20241116235211988

24.接上题,“孙华锦”在2020-07-01 10:49:07时间节点的交易余额为?(答案格式:1234.56)(4分)

6610.94

上面那个数据库没找到,然后看日志的时候发现数据库有过备份:

image-20241116235434158

image-20241116235524836

25.对U盘镜像进行分析,其镜像中共有几个分区?(填写数字,答案格式如:1234)(2分)

25-31等有空了再研究一下正确答案是多少,这7天忙没时间做。

26.对U盘镜像进行分析,其中FAT32主分区的FAT表数量有几个?(请使用十进制数方式填写答案,答案格式:1234)(2分)

27.对U盘镜像进行分析,其中FAT32主分区定义的每扇区字节数为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

28.对U盘镜像进行分析,其中FAT32主分区的文件系统前保留扇区数为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

29.对U盘镜像进行分析,其中FAT32主分区的FAT1表相对于整个磁盘的起始扇区数为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

30.对U盘镜像进行分析,其中NTFS逻辑分区的$MFT起始族号为?(请使用十进制数方式填写答案,答案格式:1234)(2分)

31.对U盘镜像进行分析,其中NTFS逻辑分区的簇大小为多少个扇区?(请使用十进制数方式填写答案,答案格式:1234)(4分)

32.对U盘镜像进行分析,请从该镜像的两个分区中找出使用“新建文本文档.tx”记录的同一个MD5值的两部分信息,并写出该MD5值的第13--20位字符串。(答案格式:大写字母与数字组合,如:D23DDF44)(4分)

D668AEE2

用我们垃圾佬最喜欢的diskgenius来恢复一下文件

image-20241117000814960

image-20241117000821016

然后在这两个分区的导出照片下面,找到最后一条,分别是2.2MB和6.0MB

然后2.2那个找到JPG的文件头,把前面部分删掉

image-20241117000952773

6.0那个同理

image-20241117001012084

分别得到两个文件

image-20241117001032990

每个都是中间隐藏了一半,所以答案就是D668AEE2