2022 长安杯 writeup

检材一

  1. 问的是检材1的sha256,可以直接对检材计算,如果对磁盘做镜像的话,得到另外一个hash值(此处也算对)

  2. 2022 长安杯 writeup_第1张图片

  3. 2022 长安杯 writeup_第2张图片

  4. 2022 长安杯 writeup_第3张图片

  5. jar 包存放目录,一是可以看历史命令,二是搜索,使用命令fina / -name "*.jar",查找所有以jar结尾的文件

  6. 7000端口的文件名。在历史命令中,可以看到使用了一个 sh start_web.sh 的脚本,后来通过rm的命令给删掉了,所以需要过滤历史命令。思路一是找到所有jar包,查看配置文件的启动端口即可,如果没有则查看所有前端vue的config,看是否启动在7000端口。正确答案为 cloud.jar
    2022 长安杯 writeup_第4张图片

  7. 管理后台对应端口,通过查看历史命令,把前端启动起来,可得端口为9090
    2022 长安杯 writeup_第5张图片

  8. 网站前台apk下载地址
    在3000端口,扫描二维码可得下载地址。使用【草料二维码解析】https://cli.im/deqr
    2022 长安杯 writeup_第6张图片
    2022 长安杯 writeup_第7张图片

  9. jar包分析(admin-api),思路一是直接看配置文件,看到system配置了md5加密,可以看到数据库的ip和密码。md5加密。

思路二是jar包分析,全局搜索查看是否包含 md5
2022 长安杯 writeup_第8张图片
2022 长安杯 writeup_第9张图片
2022 长安杯 writeup_第10张图片
思路三:我们之前把管理后台搭建起来了,发送请求,发现请求路径如下,因此我们可以去找后端对应的登录路由,也可以找到
2022 长安杯 writeup_第11张图片
10. key 如上所示

检材二

已知登录密码为 172.16.80.100,解压。首先打开镜像 检材2.E01 并分析

  1. 第一题登陆答案直接指出来了
    2022 长安杯 writeup_第12张图片
  2. 还远程连接过哪个ip地址(检材3的密码)

2022 长安杯 writeup_第13张图片

  1. powershell 的最后一条命令

    注意,是powershell 的最后一条命令,而不是系统ssh的历史输入命令,百度下powershell历史输入命令

    2022 长安杯 writeup_第14张图片

    2022 长安杯 writeup_第15张图片

    打开即得结果 ipconfig

  2. 下载的涉案网站源代码文件名为

    这个就是查看下载记录,比如谷歌下载记录

    2022 长安杯 writeup_第16张图片

  3. 管理员后台root账号的密码

    同样是谷歌

    2022 长安杯 writeup_第17张图片

  4. wsl子系统的发行版本

    登录虚拟机,直接百度 wsl 命令,可得 wsl -l -v,输入可得版本号

    2022 长安杯 writeup_第18张图片

  5. 运行的数据库服务版本号

    这边点开mysql解析,有两个版本号,要找到运行的数据库的那个库,应该是b1,对应版本是5.7.32

    这个实际上问的是 子系统内 数据库的版本号

    可以直接进入子系统,mysql -V,但是他提示我不能运行,所以find / -name mysql找到 mysql,-V

    2022 长安杯 writeup_第19张图片

  6. debian-sys-maint用户的初始密码是?

    百度,初始密码保存在配置文件中

    https://www.jianshu.com/p/1a3dbab1608d

    2022 长安杯 writeup_第20张图片

    直接在 wsl里看需要权限,但是没有这个权限,因此只能在windows 上找这个文件的位置

    C:\Users\Web King\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState\rootfs\etc\mysql

    2022 长安杯 writeup_第21张图片

  7. 检材3服务器root账号的密码是?

    我们知道另外一个服务器的地址后,在ssh历史中就找到了该命令

    2022 长安杯 writeup_第22张图片

检材三

  1. 解压,这个服务器为 admin-api.jar 的数据库地址,检材3中history有大量 docker 命令,启动 docker,发现就是33050

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IltxV2FL-1667194090125)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221030195917154.png)]

  2. 还依赖的数据库,就是 admin-api.jar 的配置文件中的数据库。redis和mongo

  3. mysql的账号密码就是 admin-api.jar 的配置文件中的密码

  4. mysql数据库在容器中的数据的目录,打开docker,进入容器

    由于 很多地方使用了 cat docker-compose.yml,查看上下文,可知在 /data/mysql/下

    2022 长安杯 writeup_第23张图片

    由本地映射到容器中,后面的就是答案

  5. 涉案网站调用的数据库名

    2022 长安杯 writeup_第24张图片

  6. 勒索者在数据库中修改了多少个手机号

    查看日志,存储位置就在虚拟机的 /data/mysql/下

    2022 长安杯 writeup_第25张图片

    但是发现并没有 b1,需要回到检材2,所有的文件都在检材2的D盘内,在此可找到b1的数据库

    此处有个删改的数据库的记录

    2022 长安杯 writeup_第26张图片

    直接搜索 update即可,发现有3条(其余5条是登陆时间不算)

  7. 勒索者删除的用户数

    搜索 delete ,有28条

  8. 除了技术员,还有哪个ip地址登陆过管理后台?(检材4)

    把 D盘的 b1 放到 检材3的镜像中的 /data/mysql/下,重启 docker,navicat 连接数据库

    2022 长安杯 writeup_第27张图片

    2022 长安杯 writeup_第28张图片
    Data\Roaming\Typora\typora-user-images\image-20221030213544520.png)]

    **还原回docker 一定要赋予权限 chmod -R 777 **

    直接看 access log

    2022 长安杯 writeup_第29张图片

  9. 还原全部被删数据,用户id为500的注册会员的ht币钱包地址?

在 member_wallet表中

2022 长安杯 writeup_第30张图片

  1. 还原全部被删数据,有多少个用户的会员等级为lv3

不是 member_level, 而是

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WoV5NsEi-1667194090128)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20221030215911222.png)]

可能从0开始,但这里最小的不是0,是1,因此

SELECT * FROM `member` where member_grade_id=3

共158条

但是还需要算上被删除的用户,通过查看日志,还有6条,因此一共164条。

  1. 还原全部被删数据,哪些id没充值记录

    首先查看表里的

    SELECT id  from member
    where id not in 
    	(select member_id from member_transaction)
    

    得到 318

    然后删除的里面还有个 989

    因此就是这两个

    另一个方法是执行 balance为0的查询

  2. 还原全部被删数据,2022年10月17日有多少笔交易记录?

    select * from member_transaction where create_time BETWEEN "2022-10-17 00:00:00" and "2022-10-17 23:59:59"
    

    查出来1000条s

  3. 还原全部被删数据,网站充值的 usdt 总额?

sum一下

select sum(amount) from member_transaction

得到 408228

检材四

  1. 嫌疑人使用的安卓模拟器软件?

    解压出来是 npbk文件,百度下,夜神模拟器

  2. 老板的阿里云账户号?

    npbk可以继续解压,得到 vmdk文件,加入到静态分析软件可以得到手机分析的结果

    2022 长安杯 writeup_第31张图片

    火眼分析下

    2022 长安杯 writeup_第32张图片

  3. 安装的工具的软件名称?

  4. 工具中记录的节点ip?

    上面两题答案

    2022 长安杯 writeup_第33张图片

  5. 录屏软件安装时间?

    应用程序中搜索luping

    2022 长安杯 writeup_第34张图片

    安装时间: 2022-10-19 10:50:27

  6. 录屏软件中名为“s_20221019105129"的录像,在模拟器存储中对应的原始文件名?

    找到录屏软件的位置,程序目录: /data/app/com.jiadi.luping-1

    2022 长安杯 writeup_第35张图片

    2022 长安杯 writeup_第36张图片

  7. 2022 长安杯 writeup_第37张图片

    为什么不能直接找到,其实应该同时导出record和 record.wal 才能在 account 中显示出手机号,我以上只是猜测。

  8. 发送勒索邮件的邮箱地址为?

2022 长安杯 writeup_第38张图片


在所有检材中找到被加密的文档和对应的加解密程序,回答问题

  1. 分析加密程序,编译该加密程序使用的语言?

    加密程序从检材2的D盘中导出,很明显是 python

    方法一,ida 打开看函数,是py的

    方法二,使用壳侦工具 detect it easy

    2022 长安杯 writeup_第39张图片

  2. 他会加密哪些扩展名文件?

    开始做 pyinstaller 的逆向 https://www.jianshu.com/p/9f35a6f7ba05 按照教程来(这个教程里的 pyinstxtractor 有问题,请下载最新版本https://github.com/extremecoders-re/pyinstxtractor/releases/tag/2022.10

2022 长安杯 writeup_第40张图片

pip3 install uncompyle6
uncompyle6可以反编译.pyc后缀结尾的文件,两种命令形式:
uncompyle6 xxx.pyc>xxx.py

得到文件即可分析

2022 长安杯 writeup_第41张图片

  1. 他是通过什么算法加密的?

    异或

    2022 长安杯 writeup_第42张图片

  2. 其使用的非对称加密方式公钥后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==

  3. 被加密的文档中,FLAG1的值为?

    需要解密,同样逆向解密程序

    2022 长安杯 writeup_第43张图片

    打开解密程序

    2022 长安杯 writeup_第44张图片

    2022 长安杯 writeup_第45张图片


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

  1. 恶意apk程序的包名为?
  2. apk调用的权限包括哪些?

以上两个问题就在 manifest 中,或者使用雷电 app 分析

2022 长安杯 writeup_第46张图片

2022 长安杯 writeup_第47张图片

  1. 解锁第一关所使用的 FLAG2 值为?

    直接反编译,搜索 flag2 可得结果(注意:需要脱壳),同时也要注意下判断逻辑,看是否需要加密

    2022 长安杯 writeup_第48张图片

    2022 长安杯 writeup_第49张图片

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

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

后两题可以看解析

你可能感兴趣的:(网安,网络安全)