检材一

2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元。经询问,昨日金某被嫌疑人诱导裸聊,下载了某“裸聊”软件,导致自己的通讯录和裸聊视频被嫌疑人获取,对其进行敲诈,最终金某不堪重负,选择了报警。警方从金某提供的本人手机中,定向采集到了该“裸聊”软件的安装包—zhibo.apk(检材一)。请各位回答下列问题:(题目中需要通过分析出来的答案对检材二三四五解压,解压密码为IP的情况,需要在密码后增加-CAB2021,例: 192.168.100.100-CAB2021)

检材一加挂密码:2021第三届CAB-changancup.com

1 、请计算检材一Apk的SHA256值
3fece1e93be4f422c8446b77b6863eb6a39f19d8fa71ff0250aac10f8bdde73a
雷电APP直接跑
2 、该APK的应用包名为
plus.H5B8E45D3
见上题图
3 、该APK程序在封装服务商的应用唯一标识(APPID)为
H5B8E45D3
反编译之后的资源文件里也有
4 、该APK具备下列哪些危险权限(多选题):
A.读取短信 B.读取通讯录 C.读取精确位置 D.修改通讯录 E.修改短信
ABCDE
5 、该APK发送回后台服务器的数据包含一下哪些内容(多选题):
A.手机通讯录 B.手机应用列表 C.手机号码 D.验证码 E.GPS定位信息
ACDE
雷电的HTTP和TCP抓不到包,开代理模式,在马铃薯视频填上手机号和邀请码(编一个),填上
后APP直接申请了手机通讯录权限,A确定,在后台抓到的包里能看到我输入的手机号和邀请码,
CD确定

接第8题,解密后能发现调用定位权限的代码,E确定

6 、该APK程序回传通讯录时,使用的http请求方式为()
POST
7 、该APK程序的回传地址域名为【标准格式:www.abc.com】
www.honglian7001.com
见上题图
8 、该APK程序代码中配置的变量apiserver的值为【标准格式:www.abc.com/abc】
www.honglian7001.com/api/uploads/
在资源文件中找到APP首页的html即index.html,上面是填写手机号和邀请码,下面的script是
sojson.v4加密

解密Sojson v4 解密 - Bugku CTF后直接搜索就找到了

9 、分析该APK,发现该程序还具备获取短信回传到后台的功能,短信上传服务器接口地址为【标准格式:www.abc.com/abc】
www.honglian7001.com/api/uploads/apisms
在短信sms代码中找到mui.ajax函数,是向服务器发送数据,后面跟的url是请求发送的目标地址
mui ajax用法详解 - alice-you - 博客园

10 、经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该文件的文件名为
test.db
直接用雷电自带的Frida脚本直接出
11 、经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该数据库的初始密码为

c74d97b01eae257e44aa9d5bade97baf

见上题图

检材二

经过掌握的APK程序后台服务器回连地址,警方成功调取该服务器的镜像,请使用第7题的答案对检材二进行解压进行分析

检材二解压密码:www.honglian7001.com

12 、检材二的原始硬盘的SHA256值为:
E6873068B83AF9988D297C6916329CEC9D8BCB672C6A894D393E68764391C589
13 、查询涉案于案发时间段内登陆服务器的IP地址为【标准格式:111.111.111.111】
192.168.110.203
根据案件背景判断,案发时间是2021年4月24,弘连上有两个ip192.168.110.129、192.168.110.203,不好判断

仿真后last显示用户最近登录信息,192.168.110.129仅登录3秒,还是192.168.110.203更靠谱

14 、请对检材二进行分析,并回答该服务器在集群中承担的主要作用是()【格式:文件存储】
负载均衡
查看历史命令

进入su再查看,发现最后有个弘连竞赛的文件夹

进入/opt/honglianjingsai

查看README.txt

进入/controller,判断出这个文件夹存放网站的源代码

查看ADProxy.js,反向代理的ip是192.168.110.111、192.168.110.112、192.168.110.113,根据不同的条件(51-63行),传入不同的服务器,因此这个服务器就是负载均衡设备

/*** 反向代理**/
module.exports = function(_brain, _app) {/* INCLUDE */const path = _brain.A.path;const async = _brain.A.async;const proxy = require('http-proxy-middleware');const net = require('net');/* DEFINE */const _tag = path.basename(__filename, ".js");var _isBanned = false;var _isStarted = false;if(!_brain.A.checkIsNull(_brain.C.autorun_config[_tag], _tag)){_isStarted = _brain.C.autorun_config[_tag];}/* DEFINE PROXY */const _proxy50 = {protocol: 'http:',host: '192.168.110.111',port: 80}const _proxy100 = {protocol: 'http:',host: '192.168.110.112',port: 80}const _proxy100p = {protocol: 'http:',host: '192.168.110.113',port: 80}/* Private Function *//*** Service Running*/var service = function (){if(!_isStarted) return;// proxy middleware optionsconst _proxyer_chronus = proxy({target: '/', // target hostchangeOrigin: true,               // needed for virtual hosted sitesws: true,                          // proxy websocketsrouter: function(req) {var clientIP = req.get("x-forwarded-for")if (clientIP == undefined) {clientIP = req.connection.remoteAddress}var clientIPArr = clientIP.split(".")if (clientIPArr.length == 4) {var clientIP3Int = parseInt(clientIPArr[2])global.logger.warn('[Proxy_RequestHeader] -> ' + JSON.stringify(req.headers));global.logger.warn('[Proxy_ClientIP] -> ' + clientIP);if (clientIP3Int <= 50) {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy50));return _proxy50} else if (clientIP3Int <= 100) {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy100));return _proxy100} else {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy100p));return _proxy100p}}}})_app.all('/*', _proxyer_chronus);};/*** Service Killing*/var serviceKiller = function (){};/* Public Function *//* 返回_tag */var getTag = function (){return _tag;};/* 判断服务是否开启 */var isStarted = function (){return _isStarted;};/* 判断服务是否被意外禁止 */var isBanned = function (){return _isBanned;};/* 服务开关 */var startServer = function (callBack){_isStarted = true;service();if(callBack)callBack(100, _tag + ' Started');};var stopServer = function (callBack){_isStarted = false;serviceKiller();if(callBack)callBack(100, _tag + ' Stopped');};/* Service AutoRun */if(_isStarted){startServer();}else{stopServer();}return{getTag             : getTag,isStarted          : isStarted,isBanned           : isBanned,startServer        : startServer,stopServer         : stopServer,};
}
15 、上一题中,提到的主要功能对应的服务监听的端口为:

80

见上题代码

16 、上一题中,提到的服务所使用的启动命令为:
node app.js
history中发现重启之后第一个就是开启node app.js,下面的是查看文件、清屏等
17 、经分析,该服务对于请求来源IP的处理依据是:根据请求源IP地址的第()位进行判断【标准格式:9】
3
将ip按照中间的.分开,分成4段 ,如果是4段,判断ip地址的第3位是否在0-50之间、在50到100之间、大于100,根据不同的条件转发到不同的服务器
var clientIPArr = clientIP.split(".")if (clientIPArr.length == 4) {var clientIP3Int = parseInt(clientIPArr[2])global.logger.warn('[Proxy_RequestHeader] -> ' + JSON.stringify(req.headers));global.logger.warn('[Proxy_ClientIP] -> ' + clientIP);if (clientIP3Int <= 50) {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy50));return _proxy50} else if (clientIP3Int <= 100) {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy100));return _proxy100} else {global.logger.warn('[Proxy_Destination] -> ' + JSON.stringify(_proxy100p));return _proxy100p}}
18 、经分析,当判断条件小于50时,服务器会将该请求转发到IP为()的服务器上【标准格式:111.111.111.111】
192.168.110.111 
19 、请分析,该服务器转发的目标服务器一共有几台【标准格式:9】
3
20 、请分析,受害者通讯录被获取时,其设备的IP地址为【标准格式:111.111.111.111】
192.168.110.252
cd /opt/honglianjingsai/chronusNode/logs,4月24只有 2021-4-24-6-26.log
 

查看

具体

Proxy:代理服务器

[Proxy_ClientIP]:代理服务器客户端ip

[Proxy_Destination]:中间商代理服务器转发到的服务器ip

[Proxy_RequestHeader]:代理服务器请求头

[2021-04-24 06:29:47.558] [WARN] Chronus - [Proxy_ClientIP] -> 192.168.110.252
[2021-04-24 06:29:47.559] [WARN] Chronus - [Proxy_Destination] -> {"protocol":"http:","host":"192.168.110.113","port":80}
[2021-04-24 06:30:10.451] [WARN] Chronus - [Proxy_RequestHeader] -> {"host":"www.honglian7001.com","connection":"keep-alive","content-length":"43","accept":"text/plain","origin":"file://","x-requested-with":"XMLHttpRequest","user-agent":"Mozilla/5.0 (Linux; An
droid 10; PBCM30 Build/QKQ1.191224.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.92 Mobile Safari/537.36 Html5Plus/1.0 (Immersed/32.0)","content-type":"application/x-www-form-urlencoded","accept-encoding":"gzip, deflate","accept-
language":"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"}
21 、请分析,受害者的通讯录被窃取之后,经由该服务器转发到了IP为()的服务器上【标准格式:111.111.111.111】

192.168.110.113

见上题图

检材三

通过对检材二的分析,警方进一步掌握并落地到了目标服务器地址,通过对服务器进行证据固定,得到服务器镜像--检材 三,请使用第21题答案对检材三进行解密并分析,回答下列问题:
检材三加挂密码:192.168.110.113-CAB2021
22 、检材三的原始硬盘的SHA256值为:
205C1120874CE0E24ABFB3BB1525ACF330E05111E4AD1D323F3DEE59265306BF
23 、请分析第21题中,所指的服务器的开机密码为:
honglian7001
web1.E01仿真后发现是192.168.110.111,一个反向代理ip对应一个镜像,192.168.110.113应该是web3.E01

仿真后没有出现密码,直接重置了,密码从检材四PC机中的xshell中看

24 、嫌疑人架设网站使用了宝塔面板,请问面板的登陆用户名为:

hl123

先启动宝塔,bt default查看用户名和密码

更改网络配置

更改密码

成功登录

25 、请分析用于重置宝塔面板密码的函数名为

set_panel_pwd

在/www/server/panel/tools.py中

对应的set_panel_pwd函数

26 、请分析宝塔面板登陆密码的加密方式所使用的哈希算法为
MD5
见上图
27 、请分析宝塔面板对于其默认用户的密码一共执行了几次上题中的哈希算法
3
25题图执行一次,图中public.md5,在tools.py中找到public库来自/www/server/panel/class/public.py

public.py代码中执行两次

28 、请分析当前宝塔面板密码加密过程中所使用的salt值为【区分大小写】

v87ilhAVumZL

29 、请分析该服务器,网站源代码所在的绝对路径为
/www/wwwroot/www.honglian7001
30 、请分析,网站所使用的数据库位于IP为()的服务器上(请使用该IP解压检材4,并重构网站)【标准格式:111.111.111.111】

192.168.110.115

31 、请分析,数据库的登陆密码为【区分大小写】

wxrM5GtNXk5k5EPX

和上题一样的位置

32 、请尝试重构该网站,并指出,该网站的后台管理界面的入口为【标准格式:/web】
/admin
33 、已该涉案网站代码中对登录用户的密码做了加密处理。请找出加密算法中的salt值【区分大小写】

lshi4AsSUrUOwWV

34 、请分析该网站的管理员用户的密码为:
security
重组raid:用FTK挂载检材五的RAID

用R-Studio进行重组,创建RAID虚拟磁盘后,将挂载的盘拖进去,点击自动检测

然后创建镜像(逐字节生成),生成虚拟块 RAID 1.dsk

火眼仿真一下,成功

数据库是192.168.110.115即RAID 1.dsk,网站服务器是192.168.110.113即web3,192.168.110.113/admin

在centos/分区2/www/wwwroot/www.honglian7001/runtime/log/202104/24.log中找到,用户名admin密码security

成功登录

35 、在对后台账号的密码加密处理过程中,后台一共计算几次哈希值
3
跟33题同样的位置
36 、请统计,后台中,一共有多少条设备记录
6002
37 、请通过后台确认,本案中受害者的手机号码为
18644099137
2021-04-24 06:37+8=2021-04-24 14:37
38 、请分析,本案中受害者的通讯录一共有多少条记录

34

检材四

通过对检材二和三进行分析,警方通过IP落地,警方掌成功抓获犯罪嫌疑人,现将嫌疑人的PC机和手机进行了取证,分别制作了镜像,请使用第13题的答案对检材四进行解密,并回答下列问题
检材四加挂密码:192.168.110.203-CAB2021
39 、请计算检材四-PC的原始硬盘的SHA256值
E9ABE6C8A51A633F809A3B9FE5CE80574AED133BC165B5E1B93109901BB94C2B
40 、请分析,检材四-PC的Bitlocker加密分区的解密密钥为
511126-518936-161612-135234-698357-082929-144705-622578
41 、请分析,检材四-PC的开机密码为
12306
在手机的备忘录里
42 、经分析发现,检材四-PC是嫌疑人用于管理服务器的设备,其主要通过哪个浏览器控制网站后
Chrome浏览器
43 、请计算PC检材中用户目录下的zip文件的sha256值

0DD2C00C8C6DBDEA123373F91A3234D2F07D958355F6CD7126E397E12E8ADBB3

44 、请分析检材四-phone,该手机的IMEI号为
868668043754436、868668044204431
45 、请分析检材四-phone,嫌疑人和本案受害者是通过什么软件开始接触的【标准格式:支付宝】

伊对

嫌疑人创建了两个伊对的账号,两个都联系了受害人金先生,真离谱,广撒网啊

46 、请分析检材四-phone,受害者下载恶意APK安装包的地址为
https://cowtransfer.com/s/a6b28b4818904c
47 、请分析检材四-phone,受害者的微信内部ID号为
wxid_4drzfboq0hk322
48 、请分析检材四-phone,嫌疑人用于敲诈本案受害者的QQ账号为
1649840939
49 、请综合分析,嫌疑人用于管理敲诈对象的容器文件的SHA256值为
9c4be29eb5661e6edd88a364ecc6ef004c15d61b08bd7dd0a393340180f15608
我的赚钱工具里面是虚拟机,解压密码是12306
50 、请综合分析嫌疑人检材,另外一受害者“郭先生”的手机号码为
1526668888
在虚拟机里搜索郭先生,发现只找到最近浏览里面生成的快捷方式,属性里面显示都是在X盘,桌面上还有veracrypt,最近浏览里面还有一个key.rar,结合49题的容器文件,得出结论,小白鼠是容器,key.rar是密钥文件,加挂即可
51 、通过嫌疑人检材,其中记录了几位受害者的信息
5
52 、请使用第11题的密码解压“金先生转账.zip”文件,并对压缩包中的文件计算SHA256值
cd62a83690a53e5b441838bc55ab83be92ff5ed26ec646d43911f119c15df510
53 、请综合分析,受害者一共被嫌疑人敲诈了多少钱(转账截图被隐藏在多个地方)
6600

微信2000

伊对1000

虚拟机里的金先生转账2000

QQ600

说还有一张账单在数据库里没找到

2021第三届长安杯相关推荐

  1. 2021第三届长安杯检材三复盘

    22.检材三的原始硬盘的SHA256值为: 205C1120874CE0E24ABFB3BB1525ACF330E05111E4AD1D323F3DEE59265306BF 23请分析第21题中,所指 ...

  2. 第三届长安杯解析(2次修订版)镜像+具体解析+个人详细解题过程,涉及多个模块,我会努力把所有写好,可以做一下题目,提升很明显。

    第一次写的太烂了,看到其他大佬写的我很羞愧,所以努力修订. 长安杯链接: 链接:https://pan.baidu.com/s/1PIJpKRpn5H94_bxbOJIO0w?pwd=ybww 提取码 ...

  3. 2021年长安杯电子数据取证大赛

  4. 2022第四届长安杯检材一wp

    2022长安杯案情背景:某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用"USTD币"购买所谓的"HT币",受害人充值后不但 "H ...

  5. 2022第四届长安杯复盘(WP)

     2022长安杯案情背景:某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用"USTD币"购买所谓的"HT币",受害人充值后不但 " ...

  6. 2021 长安杯 Re

    2021 长安杯 Re 忙了半天,就肝了两个Re,其中一个还是比赛结束后才出的,菜的令人发指,呜呜呜!!! 1.Fantasy apk逆向,查了一下,没有加固,直接在 jadx-gui 当中打开,可以 ...

  7. 第三届“达观杯”文本智能信息抽取挑战赛丰厚奖金,群英集结,等你来战!...

    近日,第三届"达观杯"文本智能信息抽取挑战赛正式上线启动(点击阅读原文,跳转报名页面),6月28日至8月31日,面向所有参赛选手开放竞赛结果提交.本届"达观杯" ...

  8. 第三届“达观杯”文本智能算法大赛参赛指南

    比赛介绍 2019 年 6 月 28 日,第三届"达观杯"文本智能信息抽取挑战赛正式开赛,同期面向参赛选手开放竞赛结果提交.本届比赛由中国人工智能学会吴文俊人工智能科学技术奖办公室 ...

  9. 牛客竞赛:第三届超越杯程序设计团体赛题解

    比赛链接:第三届超越杯程序设计团体赛重现赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJhttps://www.nowcoder.com/acm/contest/313 ...

最新文章

  1. 我在阿里做中后台开发
  2. QML基础类型之data
  3. 不止代码:路径数量(ybtoj-最小生成树)
  4. python处理完数据导入数据库_python 将execl测试数据导入数据库操作
  5. 使用Fluent NHibernate和AngularJS的Master Chef(第2部分)ASP.NET Core MVC
  6. 继承的原理java_Java继承和多态的原理
  7. [vscode] python debugging
  8. JSON序列化视图展示
  9. 搭建一个wordpress
  10. Java 会被新兴语言取代吗?
  11. vue 项目中引入字体文件的正确方式~
  12. 【学习记录】QT5 的简单界面设计及错误总结
  13. 自学量化投资之旅-学习第一个策略EMV指标
  14. javaweb-一个投票网页
  15. 什么手势使用电子计算机比较快,手势功能
  16. 使用ubuntu系统做程序开发
  17. 【机器学习】为什么机器学习难于应用
  18. 眼镜选款新方法,用AR+Scene技术实现3D虚拟试戴
  19. 百度站长“快速收录”获取方法分享步骤流程
  20. 编写代码的软件用什么编写的_编写出色的代码

热门文章

  1. matplotlib.plt.subplot()用法
  2. html 如何合并表格
  3. [ 后端篇 ] 10 - AWS API 返回 Endpoint request time out
  4. maple的Linux安装步骤,Linux下面如何安装maple,mathematica,matlab这类软件?
  5. 归并排序Java详解+例题
  6. 串口和TCP互相转发工具
  7. 后台管理系统登录思路
  8. 在Mac上安装Hadoop HA 高可
  9. 电商系统开发实战-用户微服务基础模块开发
  10. SpringBoot2.2.2+Elasticsearch7.6.2实现中文、拼音、拼音首字母智能提示功能