引言
其实这篇WP早在21年美亚杯比赛之前就写好了,但是我比较懒,懒得挂博客上(反正没人看)
检材1
1.apk的sha256
用火眼给的软件打开,直接算好了。
2.apk应用包名
3.封装服务商(打包服务商)应用唯一标识(调证值)
4.危险权限
5.发送回的后台数据有哪些内容
打开模拟器进行抓包
小tips:在进行实验前,对自己的模拟器导入联系人,测试短信信息,甚至是浏览器历史记录,虚拟位置信息
开启代理模式抓包,会截取模拟器的所有流量。
可以看到,手机型号,通讯录截取到,但是模拟器没有短信功能,不能判断短信抓没抓
不过在比赛的时候软件出了问题,根本没抓到包,建议大家以后准备另外的模拟器抓包方法(记得提醒我去用flider抓包看看),喜欢安卓开发的可以搞一台安卓工程机。
最好的方法是直接看源码。不过这个apk的源码和ctf不太一样,据复盘所言是框架编程,具体的可以自行百度研究,但在这题当中的坑就是真正的源码其实是在jadx反编译中的资源文件内的!
源代码段全是调用的java系统函数,看不出任何逻辑。
我踏马直接疑惑???
还是个sojson.v4加密
怎么就出来段代码?简单分析之后就会发现,这就是apk的主逻辑代码。
淦!
发现了定位权限调用,所以获得的权限为ACDE
也可以花点时间多看看
联系人
短信
6&7.使用的http请求方式和回传域名
用之前的抓包
8.配置的变量apiserver的地址
简单搜一下
9.短信上传服务器接口
回传函数(应该)
apiserver + ‘apisms’
那就应该是http://www.honglian7001.com/api/uploads/apisms
10&11.关于数据库
神奇的压轴题,要写py的hook脚本,动态跑apk然后分析so文件里的密钥,这种难度差不多可以出一道ctf题了,有空可以研究下他给的脚本。但毕竟是宣传软件,不可能放这么难的题,软件里就自带一个sql检测脚本,跑一下。
[ 2021-10-25 21:19:33 ][net.sqlcipher] 检测到数据库文件:
/data/user/0/plus.H5B8E45D3/databases/test.db,
密码:c74d97b01eae257e44aa9d5bade97baf
[ 2021-10-25 21:19:33 ][net.sqlcipher] SQL:select count(*) from sqlite_master;
[ 2021-10-25 21:19:33 ][net.sqlcipher] SQL:PRAGMA user_version;
看起来很顺畅,但做的时候因为抓包问题卡了半天,没有时间做后面的题,亏死!
检材2
12..sha256
13.案发时间段登录服务器的ip地址
时区是UTF+8,那么根据题意主要看4.25或4.24的日期
仿真使用last命令
推测是192.168.110.203
14. 推测服务器的作用
分析服务器,首先查看history,这里直接在取证软件里看了。
好消息,没有被删除,发现奇怪的路径opt/honglianjingsai/chronusNode
进去发现有readme文件,猜测是反向代理
然鹅没这么简单,这个答案因为不准确被判错误
其实这题也可以根据后面几题的提示,文件目录下有个controller文件夹,看名字猜是一些配置文件,我们在后续题的分析中会发现,这个服务器将数据分类,分别送到了另外的三台服务器,具体分析见后几题,这时候我们再百度一下反向代理服务器的作用
那么显而易见了,答案就是负载均衡服务器!(坑死人了!!!)
15. 主要功能对应服务监听端口
根据readme文件去看const.js,发现是80端口
16. 服务启动所需的命令
分析history,发现有node app.js的可疑命令,进去试一下
真的可以运行!
17&18&19.该服务对于ip的处理依据,小于50转发到的ip
之前我们已经把controller文件里给看了个遍,聪明的你一定知道该去哪里寻找了吧。
找出最可疑的文件ADProxy.js
读取ip地址的四个点,如果等于4(合法ip)就判断IP3(ip第三位),当然,后面的数组也说明是第三位(数组是从0开始的,比赛的时候居然忘了……)
同时注意下一段的分类代码,当ip3小于50时,发送到proxy50,根据上一段代码我们可以知道proxy50代表的ip是192.168.110.111
再连起来分析下,这段代码通过对ip分类将数据传入了三台不同的服务器,所以转发目标服务器就是3台,这台服务器作用就是负载均衡。
20&21.受害者案发时的ip地址和发到的服务器
猜测该信息应该会存于日志文件中,打开chronusNode/logs
找到4-24的日志
从下往上翻(推测案发时间最晚,先等着,等后面拿到嫌疑人其他机器后可以确认案发时间),发现203和252同时出现,203我们上面已经发现是嫌疑人的登录用ip,那么就是192.168.110.252-CAB2021,同样的,我们可以看到发送到了113的服务器。
转发到的服务器,看上一题的分析,ip地址第三位>100很明显就是192.168.110.113啦。
检材3
这个检材稍稍有点迷惑,有3个镜像,分别对应了3个服务器,这里提示个小技巧,在我们做服务器集群的题时,把vm中的dhcp服务关掉,保留服务器镜像原本的静态ip地址(前提是服务器原本就是配置的静态ip)
22.原始硬盘的sha256
3个镜像,我们选哪个的sha256呢?这题比赛的时候我也没想通。结果官方解答是因为最后案发的ip是转发到检材3(192.168.110.113)上的,所以选择检材3。
23.开机密码
这个题是由后面的检材中分析得到的,当然你也可以选择爆破或者直接猜。
24.宝塔用户名
25&26&27.宝塔代码分析
1&2函数名和加密算法
宝塔早就在github上开源了,我的第一反应是直接clone源码。
不过这个题并不需要你去下,我们进入宝塔面板文件夹看看,我们会发现里面有很多的py文件。
more一个tools.py看看。
好像有点可疑?
我们将这个文件用火眼导出,拿出习惯的编辑器打开看看。
一下子就找到了,算法为md5
3.对默认密码执行了几次加密算法
在tools.py中首先用了一次md5,寻找这个类(class)文件夹下的pubic.py
(这个界面是在 宝塔面板-文件-编辑 打开的)
搜索字符串password
分析下代码逻辑可得一共三次
28.分析加密过程中使用的salt值
百度了一下,宝塔面板在传回用户的密码时会生成一个salt值并进对密码进行拼接,然后再进行一次md5加密。文章地址https://blog.csdn.net/qq_38410352/article/details/114087010
所以我们进入www/server/panel/data找到default.db(也可以根据上一题的函数发现这个数据库文件)
用其他软件打开,查看users这个表
29.网站源码根目录
查看history,发现可疑地址
进入www/wwwroot/www.honglian7001
发现这就是网站根目录。
顺便看一下index.html
完全没用的前端
更改:不用这么做,使用宝塔面板
30&31.数据库的ip和登录密码
www/wwwroot/www.honglian7001/app/database.php(用宝塔面板打开该文件更方便)
32.重构网站找到后台入口
首先要重构检材3的raid,可以用USF explorer
重构完成后直接仿真就行,不需要分析了。
这题要通过后面的检材才能找到答案。
重构之后用192.168.110.113/admin试一下
网站可以通,那么后台管理就是https://192.168.110.113/admin
33&35.涉案网站加密使用的salt值
根据上题得知的网站后台,我们进入www.honglian7001/app/admin目录下
找到commen.php,定义输入的密码和salt值(password_code),分别对password和salt值进行md5加密,然后再拼起来再进行md5加密,一共三次。
由此我们可见该架构网页下的app目录主要是网页的源码文件。
再翻深一点会发现该password函数在admin/controller/commmen.php下被调用,发送到数据库进行比对。
34.网站后台管理员密码
脑洞题,在日志里可以翻到(哪个想得到日志会记录密码明文啊???)
www/wwwroot/honglian7001/rungtime/log/202104/24
复制到编辑器搜索一下password
36.多少条设备记录
登录,设备查看,拉到底
37.受害者电话号码
通过通讯录可以分析出来(靠后续检材),分析时间风险太大,时间成本也不合算。
38.受害者通讯录一共多少条记录
不想多说
检材4
39&40.sha256和bitlocker的密码
火眼进行分析,发现有加密分区。在文件里面随便翻翻
卧槽?
输入密钥重新加载,然后计算哈希就行了
41.开机密码
各种方法都能看,火眼基本信息分析里面有,仿真也看得到,不过仿真比较容易确定
42.主要通过哪个浏览器
随便看看,很明显就是chorme
43.算给定文件的sha256
44.手机的IMEI
45.哪个软件接触的受害人
笑死
46.恶意安装包的下载地址
47.受害者微信id
48.嫌疑人的QQ号
49&50.管理敲诈对象的容器文件sha256和郭先生的号码
容器文件?看到有点懵,想了想,说的应该是虚拟机,毕竟在PC1找了一遍发现除了vm有用其他啥都没有。
正好仿真进去看发现《我的赚钱工具.zip》就是个虚拟机
但是居然有密码,我们在里面是找不到这个密码的,据题解所说,根据一些社工的知识,就用开机密码就能解出来(wtf???)
用vm打开,发现啥都没有。
我们在vmdk文件夹里看看,发现有vmsd快照盘
果然!直接还原
在用户/文档下面找到个小白鼠.txt文件,发现打不开,用火眼查看hex也看不出什么。
我们是不是忘了他桌面上有个Veracrypt?导出来,发现需要密码
这时候我们在文档下继续翻,可以发现key.rar的文件,这个也有密码无法解压。
怀疑是txt的密钥文件,死马当活马医吧,直接把rar导出来再当密钥文件试一下。
结果居然挂载上了???
进去后就能发现受害者信息,那么容器应该就是这个txt了,计算哈希。
郭先生号码
51.记录了几位受害者
由上题知有5个
52.zip里文件的哈希
照着做就行
53.一共转了多少
反正不止2000元
微信2000,依对1000,转账截图2000,QQ有600,数据库有一张1000
一共6600
莫名其妙的题不做也罢。
好多脑洞题,比上一年坑多了……
- 本文链接:http://example.com/2022/02/05/2021%E9%95%BF%E5%AE%89%E6%9D%AF%E5%A4%8D%E7%8E%B0/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。