学习学习!!!太难了。。。
容器加挂密码:2022.4th.changancup!
目录
一、案件背景:
二、题目
检材1
【网站前台】
【网站后台】
检材2
检材3
检材4
加密勒索apk程序
某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用”USTD币“购买所谓的"HT币”,受害人充值后不但 “HT币”无法提现、交易,而且手机还被恶意软件锁定勒索。警方根据受害人提供的虚拟币交易网站调取了对应的服务器镜像并对案件展开侦查。
(网站重构长安杯2022赛题复现详解 - 腾讯云开发者社区-腾讯云 (tencent.com)
超级详细 yeah)
根据报案人提供的网站域名和IP,警方调取了对应的服务器镜像“检材1”,分析掌握的检材回答下列问题
1 、检材1的SHA256值为
9E48BB2CAE5C1D93BAF572E3646D2ECD26080B70413DC7DC4131F88289F49E34
2 、分析检材1,搭建该服务器的技术员IP地址是多少?用该地址解压检材2
172.16.80.100
3 、检材1中,操作系统发行版本号为
7.5.1804
4 、检材1系统中,网卡绑定的静态IP地址为
172.16.80.133
5 、检材1中,网站jar包所存放的目录是
/web/app/
查看历史命令
java -jar /web/app/exchange.jar
直接启动jar文件,进程终止就停止,不持续运行
nohup java -jar /web/app/cloud.jar >/dev/null 2>&1 &
不挂断地运行jar文件,标准错误和标准输出都导入文件nohup.out,持续运行
6 、检材1中,监听7000端口的进程对应文件名为
cloud.jar
可以查看各个jar文件的application.properties(全局配置文件)
一个一个jar包打开,可以发现就是cloud.jar
7 、检材1中,网站管理后台页面对应的网络端口为
9090
在检材二中可以找到
8 、检材1中,网站前台页面里给出的APK的下载地址是
https://pan.forensix.cn/f/c45ca511c7f2469090ad/?dl=1
如何使物理机连通仿真后的检材
火眼仿真起来的虚拟机默认的网络连接配置都是 NAT 方式,将【虚拟网络编辑器】中 NAT 模式的子网 IP 改为【检材1】配置的静态 IP 的网段
(详见: 长安杯2022赛题复现详解 - 腾讯云开发者社区-腾讯云 (tencent.com) )
现在虚拟机内启动网站(命令是看history的)(开始启动了好几次都没成功,一定要在 /web/app/web内启动),然后在物理机上打开网址
感动,成功了!!!
9 、检材1中,网站管理后台页面调用的用户表(admin)里的密码字段加密方式为?
md5
将 admin-api.jar导出
搜password
10 、分析检材1,网站管理后台登录密码加密算法中所使用的盐值是
XehGyeyrVgOV4P8Uf70REVpIw3iVNwNs
在配置文件application.properties的最后
在检材2中找到了,检材1中删除的脚本 start_web.sh(别问我怎么找到。。我也不会
导入到检材1的 /web/app 目录下并执行(用xshell和xftp)
再次启动网站,并在物理机内访问
成功打开后台(端口为9090)小结:第一次做这个,一面懵逼,两脸懵逼。。。,继续学习!!!
已知信息: · 检材1IP: 172.16.80.133
· 技术员IP:172.16.80.100
· 网站前台端口 3000,后台端口 9090(检材2中)
根据IP地址落地及后续侦查,抓获了搭建网站的技术员,扣押了其个人电脑并制作镜像“检材2”,分析所有掌握的检材回答下列问题
11 检材2中,windows账户Web King的登录密码是
135790
12 检材2中,除检材1以外,还远程连接过哪个IP地址?并用该地址解压检材3
172.16.80.128
检材1是172.16.80.133,xshell还连接了172.16.80.128
13 检材2中,powershell中输入的最后一条命令是
ipconfig
完整路径
14 检材2中,下载的涉案网站源代码文件名为
ZTuoExchange_framework-master.zip
谷歌浏览器里有相应的zip下载记录,导出文件
goDCE-master:数字货币交易所
huobi-autotrading-master:火币网自动化交易工具
ZTuoExchange_framework-master:ZTuo数字资产交易平台
根据T8下载的apk
可以确定为 ZTuoExchange_framework-master
15 检材2中,网站管理后台root账号的密码为
root
16 检材2中,技术员使用的WSL子系统发行版本是
20.04
仿真
wsl -l -v
17 检材2中,运行的数据库服务版本号是
8.0.30
b1的版本号不同,但b1是检材3数据库的备份不是检材2的见(T24)
18 上述数据库debian-sys-maint用户的初始密码是
ZdQfi7vaXjHZs75M
百度了一下数据库debian-sys-maint用户的初始密码存储在/etc/mysql/debian.cnf中
19 检材3服务器root账号的密码是
h123456
T12:检材3服务器ip是172.16.80.128
ssh连接过检材3
已知信息:
- 【检材1】IP 为 172.16.80.133,用于搭建虚拟货币交易网站的前台(3000)和后台(9090)
- 【检材2】IP 为 172.16.80.100,是【技术员】用于远程管理【检材1】和【检材3】的机器
- 【检材3】IP 为 172.16.80.128,是【检材1】中搭建网站的数据库(33050)
根据网站前端和技术员个人电脑上的线索,发现了网站后端所在的服务器IP并再次调证取得“检材3”,分析所有掌握的检材回答下列问题
20 检材3中,监听33050端口的程序名(program name)为
docker-proxy
启动docker:systemctl start docker
查看网络状态:netstat -nalpt
21 除MySQL外,该网站还依赖以下哪种数据库
Redis MongoDB
见T10
22 检材3中,MySQL数据库root账号的密码是
shhl7001
23 检材3中,MySQL数据库在容器内部的数据目录为
/var/lib/mysql
方法一:
首先启动docker -> (docker ps -a )查看所有容器 -> (docker exec -it 容器id /bin/bash) 进入容器 -> history 查看历史命令
第一条就是mysql数据目录了
方法二:
进入mysql,使用下述命令
方法三:
docker-compose.yml,docker-compose是用来管理docker容器的
倒数第二行:显示外部/data/mysql/db映射到容器内部数据库目录/var/lib/mysql里面
24 涉案网站调用的MySQL数据库名为
b1
admin-api 配置文件
见第10题
25 勒索者在数据库中修改了多少个用户的手机号?
3
查看数据库日志,通过第23题的分析,容器外部数据库目录是/data/mysql/,进去后直接找到数据库日志/data/mysql/db/8eda4cb0b452.log
筛选了update和UPDATE,显然后者是手机号修改,共三个
26 勒索者在数据库中删除的用户数量为
28
同上,同样是日志中,1000-973+1=28
27 还原被破坏的数据库,分析除技术员以外,还有哪个IP地址登录过管理后台网站?用该地址解压检材4
172.16.80.197
需要还原被删除的数据库
检材3中的网站后台数据库b1都被删除了,检材2中有备份
对检材2中的b1数据库用弘连自带的工具直接进行数据库分析,admin_access_log表中只有172.16.80.100和172.16.80.197两个ip,见T2,检材1的登录ip是172.16.80.100,这个ip是技术员
28 还原全部被删改数据,用户id为500的注册会员的HT币钱包地址为
cee631121c2ec9232f3a2f028ad5c89b
member_wallet表
29 还原全部被删改数据,共有多少名用户的会员等级为'LV3'
164
导出【检材2】中b1 数据库
通过xftp导入【检材3】 /data/mysql/中
此时通过 root 用户恢复的数据库,需要将其赋予 mysql 用户能够执行的权限,数据库才能正常被调用,即
启动docker,打开数据库就ok了
用navicat连接
在数据库的 member 表中, 字段对应着每个用户的等级,筛选为3的用户
但是还不对,还有被删除的数据(从4701--5701行为所有用户x'x,被删除的用户id为973-1000
id为3共6人
所以LV3共有164人
30 还原全部被删改数据,哪些用户ID没有充值记录
318.989
在 member_wallet 表中查看,没有充值记录就一定没有余额(balance)
31 还原全部被删改数据,2022年10月17日总计产生多少笔交易记录?
1000
交易记录在 member_transaction 表中
32 还原全部被删改数据,该网站中充值的USDT总额为
408228
select sum(amount) from member_transaction
根据前期侦查分析,通过技术手段找到了幕后老板,并对其使用的安卓模拟器“检材4”进行了固定。分析所有掌握的检材,回答下列问题
33 嫌疑人使用的安卓模拟器软件名称是
夜神模拟器
将npbk再次解压
即可得到vmdk
34 检材4中,“老板”的阿里云账号是
forensixtech1
直接搜索阿里云
35 检材4中安装的VPN工具的软件名称是
v2Ray
36 上述VPN工具中记录的节点IP是
38.68.135.18
见上题图
37 检材4中,录屏软件安装时间为
2022/10/19 10:50:27
38 上述录屏软件中名为“s_20221019105129”的录像,在模拟器存储中对应的原始文件名为
0c2f5dd4a9bc6f34873fb3c0ee9b762b98e8c46626410be7191b11710117a12d
直接在数据库里找,路径搜索luping
录屏软件相关数据位于分区4/data/com.jiadi.luping中,在databases中的record.db数据库记录了与s_20221019105129录像相关的信息
39 上述录屏软件登录的手机号是
18645091802
同上题,选择mobile
就可以看见手机号了
40 检材4中,发送勒索邮件的邮箱地址为
skterran@163.com
41 分析加密程序,编译该加密程序使用的语言是
python
文件在【检材2】中出现过,导出一下
decrypt_file.exe和encrypt_file.exe都是python,看图标就行
或者是用die,看到打包工具为pyinstaller
42 分析加密程序,它会加密哪些扩展名的文件?
txt.jpg.docx.xls
PyInstaller 打包的程序可以 pyinstxtrator 来解包
参考:Python 反编译:pyinstxtractor工具和uncompyle6库的使用 - 腾讯云开发者社区-腾讯云 (tencent.com)
在产生的文件夹里找到与原文件名相同的文件,加上后缀.pyc
这个文件是没有的,我们需要根据Python版本自行补全: 然后回到目录下,打开控制台,输入命令回车执行,就可以看到目录下生成了文件了:
43 分析加密程序,是通过什么算法对文件进行加密的?
异或
44 分析加密程序,其使用的非对称加密方式公钥后5位为?
u+w==
pubkey = '-----BEGIN PUBLIC KEY----- MIIBIzANBgkqhkiG9w0BAQEFAAOCARAAMIIBCwKCAQEAx5JF4elVDBaakgGeDSxI CO1LyyZ6B2TgR4DNYiQoB1zAyWPDwektaCfnvNeHURBrw++HvbuNMoQNdOJNZZVo bHVZh+rCI4MwAh+EBFUeT8Dzja4ZlU9E7jufm69TQS0PSseIiU/4Byd2i9BvIbRn HLFZvi/VXphGeW0qVeHkQ3Ll6hJ2fUGhTsuGLc1XXHfiZ4RbJY/AMnjYPy9CaYzi SOT4PCf/O12Kuu9ZklsIAihRPl10SmM4IRnVhZYYpXedAyTcYCuUiI4c37F5GAhz RDFn9IQ6YQRjlLjuOX8WB6H4NbnKX/kd0GsQP3Zbogazj/z7OM0Y3rv3T8mtF6/I kwIEHoau+w== -----END PUBLIC KEY----- '
45 被加密文档中,FLAG1的值是
TREFWGFS
方法同上:
打开解密程序发现需要输入密码
同样是用pyinstaller打包程序
pyinstxtractor.py解包
更改文件头
uncompyle6反编译
获得密码:4008003721
将“数据下载地址.docx_encrypted”放在与解密exe同一路径下,并运行
小结:第一次做pythone exe的逆向,还是比较好上手的,直接套用命令就可以
加密勒索apk程序
分析所有掌握的检材,找到报案人描述的加密勒索apk程序,分析并回答下列问题
46 恶意APK程序的包名为
cn.forensix.changancup
T8题获得的链接,下载apk,用雷电APP进行分析
47 APK调用的权限包括
READ_EXTERNAL_STORAGE;WRITE_EXTERNAL_STORAGE;
48 解锁第一关所使用的FLAG2值为
MATSFRKG
雷电app脱壳后反编译进行分析
直接搜索flag2就出来了
49 解锁第二关所使用的FLAG3值为
TDQ2UWP9