“ 复盘一下昨天的精武杯,三个小时的比赛时间有点紧迫,在第一部分就卡了快两个小时(虽然这部分全对了)。”
文中的思路仅代表个人观点,如有错误之处请大佬指正,带*号的是不会的题目,欢迎大佬一起交流学习
检材链接:https://pan.baidu.com/s/1YuNx1B59y_GHd7xd2lhbFQ?pwd=ch4q
容器密码:2024精武杯@比赛检材!@#
01
—
计算机和手机取证
1. 请综合分析计算机和手机检材,计算机最近一次登录的账户名是
admin
在登录成功的记录中按照登录时间降序排列
2. 请综合分析计算机和手机检材,计算机最近一次插入的USB存储设备串号是
S3JKNX0JA05097Y
USB设备最近使用记录按照操作时间降序排列
3. 请综合分析计算机和手机检材,谢弘的房间号是()室
201
在admin用户的文档目录下可以看到顺丰1 2 3k.zip
将该目录下的文件导出
可以使用火眼的耗时任务中的特征分析功能
可以识别到顺丰1k.zip为Excel工作表
修改后缀为xlsx,打开搜索谢弘
4. 请综合分析计算机和手机检材,曹锦芳的手机号后四位是
0683
打开顺丰2k.zip中的顺丰2k.xlsx,搜索曹锦芳
5. 请综合分析计算机和手机检材,找到全部4份快递相关的公民信息文档,按姓名+电话+地址去重后共有多少条?
4997
目前已经找到了顺丰1 2 3k.xlsx,根据题目提示应该还有第四个,直接索引搜索顺丰
到分区7导出顺丰4k.xlsx
将四个Excel工作表导入到MySQL数据库中
因为表中没有字段名
所以导入的时候要将字段名行设置为0,第一个数据行设置为1
自定义一个表名
定义一下大概的字段名
将另外3个表格也导入,导入完成后一共5965条记录
SQL语句去重统计一下
6. 请综合分析计算机和手机检材,统计检材内共有几份购票平台相关的公民信息文档
3
可以看到与之前的顺丰表格在同一目录下的storage文件为加密容器
密码在微软便笺中
其中5thGoldenEyesCup是容器外部的密码,123456是内部隐藏层的密码
先挂载外层
可以得到12306裤子1.txt
使用R-Studio扫描,可以找到被删除的12306裤子2.txt
恢复出12306裤子2.txt
再挂载内层
找到12306裤子3.txt
使用R-Studio扫描没有找到有删除的文件,所以一共3份购票平台相关的公民信息文档
7. 请综合分析计算机和手机检材,樊海锋登记的邮箱账号是
[email protected]
直接用filelocator pro搜索樊海锋
8. 请综合分析计算机和手机检材,统计购票平台相关的文档,去重后共有多少条身份证号为上海的公民信息?
109
python脚本拼接txt
将所有----都替换成空格
再重新编辑一下字段名
导入到MySQL数据库
字段分隔符用空格
SQL语句去重筛选一下,上海的身份证号码开头为310
9. 请分析手机检材,2022年11月7日,嫌疑人发送了几条短信?
3
10. 请分析手机检材,其中保存了多少条公民住房信息?
12
在微信的好友聊天消息记录里面有交易过公民住房信息
都在检材的相册中
张三、李四、王武、范宏伟、郭何、章衡、关星、常见、俞辉遥、陈剑、吴涵、张智共12人
02
—
服务器取证
服务器部分给到的检材有4个
使用火眼的raid重组工具分析可以得到3个.001后缀的镜像为软raid
重组成逻辑盘
会得到一个组好的镜像
火眼直接分析server4.E01可以解析到是Linux系统,server4.E01应该是系统盘,而组出来的raid应该为数据盘,添加检材类型选择多镜像文件
仿真也是,将server4.E01和组好的raid一起挂载
SSH连接拒绝访问
查看/etc/ssh/sshd_config文件确认配置没有问题后,找到hosts.allow
可以看到只允许8.8.8.8访问sshd服务
修改为all
此时就可以使用SSH远程连接了
接下来开始做题
1. 请对所给服务器检材进行分析,请写出管理员安装“mdadm-4.1-9.el7_9.x86_64”的时间?(答案格式:18:18:18)
13:13:01
使用管理套件命令rpm查询相关信息
01:13:01 PM换算成24小时制就是13:13:01
2. 请对所给服务器检材进行分析,请写出宝塔默认建站的目录是什么?(答案格式:/abc/def)
/data
查看宝塔面板默认默认信息
访问内网面板地址,使用初始账号密码登录不上
修改一下密码
再次登录即可进入宝塔后台
查看面板设置
3. 请对所给服务器检材进行分析,请写出ip为192.168.157.1的机器登陆失败的时间是什么时候?(答案格式:xxxx-xx-xx xx:xx:xx)
2023-10-09 16:47:29
4. 请对所给服务器检材进行分析,写出网站的数据库root帐号密码?(答案格式:xxxx)
hl@7001
在前面可以得到默认建站目录为/data,但是发现当前的/data目录是空的
在火眼中解析出来的raid数据盘中有一个2023.cn文件夹
刚好对应到服务器上的网站目录
查看磁盘分区详细信息
/dev/sdb即为raid重组后的数据盘,将其挂载到/data
在网站目录中找到database.php,发现代码被混淆
将database.php拉到本地解密一下
<?php
$z0="xxxxxxxxx";
$code=urldecode(base64_decode($z0));
echo $code;
?>
得到原来的代码
5. 请对所给服务器检材进行分析,请分析网站后台管理员帐号的加密方式(答案格式:xx($xx.xxx($xxx))
md5($salt.trim($pwd))
将网站源码打包下载到本地用vscode打开,找到添加管理员相关代码
对传入的参数调用了AdminService中的AdminSave()方法,右键转到AdminSave()方法的定义
可以看到调用了AdminInsert()方法处理传入的的参数,右键转到定义
密码login_pwd调用了LoginPwdEncryption()进行处理,继续转到定义
可以看到管理员登录密码加密方式为将pwd去空格后加盐计算md5
6. 请对所给服务器检材进行分析,网站首页友情链接中的“弘连网络“的更新时间是什么时候?(答案格式:xxxx-xx-xx xx:xx:xx)
2023-02-16 15:02:29
修改hosts将www.hl2023.cn重定向到当前服务器ip
访问网站
发现报错了,还直接输出了database.php内容,将还原后的代码覆盖到database.php中,依旧是系统出现错误
可能是数据库没有连接上,查看一下服务器当前的网络连接信息
之前找到的数据库连接信息中的数据库端口为3307,本地的mysql数据库服务端口为3306,火眼解析到了还有一个docker容器中存在mysql
启动docker服务并启动容器
然后给网站源码目录赋予全部权限
此时就可以访问到网站的前台了
在最下面可以找到弘连网络的友情链接
Navicat连接docker中的数据库,在sxo_link表中找到链接的更新时间upd_time
时间戳转换一下
7. 请对所给服务器检材进行分析,网站后台管理页面入口文件名是什么?(答案格式:xxx.php)
4008003721.php
查看网站访问日志/www/wwwlogs/www.hl2023.cn-access_log
可以看到网站安装完成后,访问了admin.php,但是响应码为404,后面又访问了4008003721.php,尝试访问发现进入了后台登录页面
在宝塔面板日志中可以发现是将网站public目录下的admin.php重命名了
8. 请对所给服务器检材进行分析,网站数据库备份文件的sha256的值是多少?(答案格式:a656ac5f9e9d3bc2915aec31a5dfd0bd3bd3ef1ac497016dafae43669d7d6d22 不区分大小写)
9DEDE75E455A7C4C5CC4B61E41570ADF82AF25251C5FD8456A637ADD864B0AF0
在面板设置中可以看到默认的备份目录是/data/backup
可以看到在备份目录下有个shop1.sql
想使用火眼计算哈希发现文件大小为0
并且在当前目录下还有一个.shop1.zip隐藏文件
这个才是真正的数据库备份文件
计算sha256
9. 请对所给服务器检材进行分析,网站数据库备份文件的解压密码是多少?(答案格式:xxxxxxx区分大小写)
22Ga#ce3ZBHV&Fr59fE#
将数据库备份压缩包下载到本地,使用passwarekit爆破密码,使用默认的密码设置爆破不出来,一般这样的题目应该是会给一个字典的,在/root目录下找到.w0rd.txt
使用该字典爆破得到密码为22Ga#ce3ZBHV&Fr59fE#
10. 请对所给服务器检材进行分析,商城中“弘连火眼手机分析专用机MT510”商品的原价是多少?(只填写数字,精确到小数点后2位:9999.99)
1398000.00
直接到网站中搜索相关商品没有找到
使用Navicat运行SQL文件还原数据库
刷新一下网站即可
可以看到原价为1398000.00
03
—
1. 请分析流量分析.pcapng文件,并回答入侵者的IP地址是?
192.168.85.130
wireshark打开流量包,可以看到一直是192.168.85.130在请求192.168.85.250
在统计->会话中也可以看到一直是这两个ip在通信
2. 请分析流量分析.pcapng文件,并回答被入侵计算机中的cms软件版本是?(答案格式:1.1.1)
5.2.1
过滤http协议的流量
可以看到访问量wp-开头的目录,可以确定cms为WordPress,版本号即为访问css文件时get传入的ver参数,5.2.1
3. 请分析流量分析.pcapng文件,并回答被入侵计算机中的MySQL版本号是?(答案格式:1.1.1)
5.5.53
筛选http协议且包含phpmyadmin和version关键词的流量
http && http contains "phpmyadmin" && http contains "version"
追踪http流,搜索version
可以看到Software version: 5.5.53 - MySQL Community Server (GPL)
4. 请分析流量分析.pcapng文件,并回答被入侵计算机中的MySQL root账号密码是?
admin@12345
筛选phpmyadmin登录(POST方法提交数据)相关的流量
http contains "phpmyadmin" && http.request.method=="POST"
可以看到在爆破用户名和密码
在下面找到访问到/phpmyadmin/index.php的流量,这里应该是使用了正确的密码进入了phpmyadmin后台
密码为admin@12345,追踪一下http流可以看到是302跳转后进入了phpmyadmin后台
5. 请分析流量分析.pcapng文件,并回答入侵者利用数据库管理工具创建了一个文件,该文件名为?
06b8dcf11e2f7adf7ea2999d235b8d84.php
继续往后查看http流
可以看到执行了如下SQL语句
设置了mysql的日志路径为C:phpStudyPHPTutorialwww6b8dcf11e2f7adf7ea2999d235b8d84.php
是渗透中利用MySQL数据库getshell的常用手法
6. 请分析流量分析.pcapng文件,并回答被入侵计算机中PHP环境禁用了几个函数?
10
上题看到设置了general_log的文件地址到网站根目录,接下来肯定是要在SQL语句中执行恶意语句来RCE
查看禁用的函数一般可以通过phpinfo信息中的disable_functions
筛选出包含phpinfo的流量
http contains "phpinfo"
可以看到执行了SELECT '<?php phpinfo();?>'
接下来应该就是会去访问06b8dcf11e2f7adf7ea2999d235b8d84.php让服务器以PHP脚本解析<?php phpinfo();?>
筛选出包含有disable_functions的流量
http contains "disable_functions"
追踪http流,搜索disable_functions
或者在导出对象中导出HTTP对象中的06b8dcf11e2f7adf7ea2999d235b8d84.php,因为要查看phpinfo信息,必定会访问之前设置的日志文件
导出后修改后缀为.html用浏览器打开搜索disable_functions
数一下一共禁用了10个函数
7. 请分析流量分析.pcapng文件,并回答入侵者提权后,执行的第1条命令是?
dir
Windows中提权成功后的命令行开头应该是C:Windowssystem32>
筛选相关流量
tcp contains "C:\Windows\system32>"
对第一条追踪tcp流可以看到执行的命令为dir
8. 请分析流量分析.pcapng文件,并回答被入侵计算机开机时间是?
A、2019/6/13 18:51:33
B、2019/6/13 18:50:33
C、2019/6/13 18:53:33
D、2019/6/13 18:52:33
B
在执行dir命令之后执行了systeminfo命令
但是这里的中文由于编码的问题没有显示,可以更换为GBK编码
可以看到系统启动时间为2019/6/13, 18:50:33
9. 请分析流量分析.pcapng文件,并回答被入侵计算机桌面上的文件中flag是?(答案格式:abcdef123456789)
3f76818f507fe7e66422bd0703c64c88
继续查找tcp流,在流1366中,可以看到使用type命令查看了桌面上的fl-ag.md文件内容
10. 请分析流量分析.pcapng文件,并回答图片文件中的flag是?(答案格式:abcdef123456789)
d31c1d06331a9534bf41ab93afca8d31
在执行完systeminfo命令后可以到使用bitsadmin命令从远程服务器上下载了一个flag.png到C盘根目录,在http对象中可以导出flag.png
winhex打开flag.png,在尾部可以看到一个压缩包
分离出来是打不开this.txt的,但是flag的明文已经给出
为d31c1d06331a9534bf41ab93afca8d31
04
—
APK功能分析
1. 请分析1.备忘录.apk反编译出的文件中,正确答案在哪个文件里?
activity_main.xml
直接做这里有点懵逼,这题应该是接在第三题后面,jadx反编译该apk搜索打开apk得到的base64字符串
2. 请分析1.备忘录.apk并找到程序中的主activity是?(答案格式:com.tencent.mm.activity)
com.hl.memorandum.MainActivity
GDA反编译查看BaseInfo
3. 请分析1.备忘录.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})
HL{d0b2058a-ac29-11ed-807f-acde48001122}
在雷电模拟器中运行该app得到base64编码的内容
解码得到flag
4. 请分析2.easyapk.apk中SharedPreferences配置文件的名称(包括后缀)是什么?
myprefs.xml
模拟器运行该app,需要输入一个答案
jadx反编译,来到com.hl.easyapk.MainActivity
定义了5个字符串,分别创建一些对象并调用其中的方法来获取值
str1通过创建一个cache对象并调用该对象的getCacheD()方法来获取数据
str2通过创建一个extCache对象并调用该对象的getExtCacheD()方法来获取数据
str3通过创建一个files对象并调用该对象的getFilesD()方法来获取数据
str4通过创建一个extFiles对象并调用该对象的getextFilesD()方法来获取数据
str5通过创建一个prefs对象并调用该对象的read()方法从SharedPreferences获取数据
找到prefs类
可以看到定义了SharedPreferences的标签名为myprefs,在模拟器的文件管理器中搜索可以找到SharedPreferences配置文件
5. 请分析2.easyapk.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})
HL{55c99ed4-d894-ae59-3a3b-6fe3eed793e7}
继续看MainActivity下面的代码
创建一个StringBuilder()对象sb,加入"HL{"作为sb的开头,拼接str1 2 3 4 5并调用sha中的encrypt方法加密再转小写拼接到sb中,然后加上"}"作为sb的结尾,将sb转为字符串赋值给result
sha.encrypt()其实就是md5加密
接收用户输入的key,检查长度是否为40,如果为40则对result进行分段,结果与输入的key进行对比,如果匹配,则显示提示消息 "答案正确!"
也就是说可以用来校验flag是否正确
直接使用雷电APP智能分析中的Frida脚本跟踪一下字符串相等判断,随便输入一个答案提交,即可跟踪到与flag作对比的事件
6. 请分析3.verify.apk,该程序中所使用的AES加密KEY值为
thisisyouraeskey
一个密钥验证器程序
查看MainActivity
接收用户输入的key,调用en1中的encrypt()方法加密
该方法为AES加密
将加密后的值与tPbnK29ENaqgPANeD1Hud3KyiS4uf8oaSa0b6ldRDHs=进行对比
也就是说输入的key为tPbnK29ENaqgPANeD1Hud3KyiS4uf8oaSa0b6ldRDHs=进行AES解密的结果
使用Frida脚本跟踪加解密事件,随便输入一个key即可得到AES加解密使用的key和iv
7. 请分析3.verify.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})
HL{301b6b90-ac37-11ed-bad4-5811224dd424}
使用在线网站进行解密得到程序需要的密钥
模拟器中运行该程序,输入密钥
在程序的assets目录下有个lookme文件,是.7z压缩包
使用压缩软件打开apk,提取出lookme,添加.7z后缀,使用Whose key am I ?解密压缩包查看lookme.txt
*8. 请分析4.easyjni.zip,压缩包中数据库的解密秘钥为
66d6ad256b0b03143e5571276bcebfc756a8fc0f7322b31ee8a8a2e992cbce37
*9. 请分析4.easyjni.zip并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})
HL{b950f5b8abfd5a0b3331ca65e687ff94}
*10. 请分析5.calc.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})
HL{96233a87c59bf7f0aa2ed16d9bc2e07a}
05
—
总结
Windows部分比较套,上次遇见这种隐藏分区的VC容器还是2023年的盘古石杯初赛;手机部分考察的比较简单,数信息条数那里要细心一点;服务器部分需要组好raid挂载才能搭建起网站;流量分析比较有意思,很常规的Web渗透手法,分析需要有耐心;APK最后涉及深入一点的逆向确实不会了
点点关注不迷路
喜欢的看官还请多多点赞转发
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论