2021第三届长安杯
2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元。在虚拟机里搜索郭先生,发现只找到最近浏览里面生成的快捷方式,属性里面显示都是在X盘,桌面上还有veracrypt,最近浏览里面还有一个key.rar,结合49题的容器文件,得出结论,小白鼠是容器,key.rar是密钥文件,加挂即可。通过对检材二和三进行分析,警方通过IP落地,警方掌成功抓获犯罪嫌疑人,现将嫌疑人的PC
检材一
2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元。经询问,昨日金某被嫌疑人诱导裸聊,下载了某“裸聊”软件,导致自己的通讯录和裸聊视频被嫌疑人获取,对其进行敲诈,最终金某不堪重负,选择了报警。警方从金某提供的本人手机中,定向采集到了该“裸聊”软件的安装包—zhibo.apk(检材一)。请各位回答下列问题:(题目中需要通过分析出来的答案对检材二三四五解压,解压密码为IP的情况,需要在密码后增加-CAB2021,例: 192.168.100.100-CAB2021)
检材一加挂密码:2021第三届CAB-changancup.com
1 、请计算检材一Apk的SHA256值
2 、该APK的应用包名为
3 、该APK程序在封装服务商的应用唯一标识(APPID)为
4 、该APK具备下列哪些危险权限(多选题):A.读取短信 B.读取通讯录 C.读取精确位置 D.修改通讯录 E.修改短信
5 、该APK发送回后台服务器的数据包含一下哪些内容(多选题):A.手机通讯录 B.手机应用列表 C.手机号码 D.验证码 E.GPS定位信息
接第8题,解密后能发现调用定位权限的代码,E确定
6 、该APK程序回传通讯录时,使用的http请求方式为()
7 、该APK程序的回传地址域名为【标准格式:www.abc.com】
8 、该APK程序代码中配置的变量apiserver的值为【标准格式:www.abc.com/abc】
解密Sojson v4 解密 - Bugku CTF后直接搜索就找到了
9 、分析该APK,发现该程序还具备获取短信回传到后台的功能,短信上传服务器接口地址为【标准格式:www.abc.com/abc】
10 、经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该文件的文件名为
11 、经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该数据库的初始密码为
c74d97b01eae257e44aa9d5bade97baf
见上题图
检材二
经过掌握的APK程序后台服务器回连地址,警方成功调取该服务器的镜像,请使用第7题的答案对检材二进行解压进行分析
检材二解压密码:www.honglian7001.com
12 、检材二的原始硬盘的SHA256值为:
13 、查询涉案于案发时间段内登陆服务器的IP地址为【标准格式:111.111.111.111】
仿真后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 options
const _proxyer_chronus = proxy({
target: '/', // target host
changeOrigin: true, // needed for virtual hosted sites
ws: true, // proxy websockets
router: 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 、上一题中,提到的服务所使用的启动命令为:
17 、经分析,该服务对于请求来源IP的处理依据是:根据请求源IP地址的第()位进行判断【标准格式:9】
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】
19 、请分析,该服务器转发的目标服务器一共有几台【标准格式:9】
20 、请分析,受害者通讯录被获取时,其设备的IP地址为【标准格式:111.111.111.111】
查看
具体
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
见上题图
检材三
22 、检材三的原始硬盘的SHA256值为:
23 、请分析第21题中,所指的服务器的开机密码为:
仿真后没有出现密码,直接重置了,密码从检材四PC机中的xshell中看
24 、嫌疑人架设网站使用了宝塔面板,请问面板的登陆用户名为:
hl123
先启动宝塔,bt default查看用户名和密码
更改网络配置
更改密码
成功登录
25 、请分析用于重置宝塔面板密码的函数名为
set_panel_pwd
在/www/server/panel/tools.py中
对应的set_panel_pwd函数
26 、请分析宝塔面板登陆密码的加密方式所使用的哈希算法为
27 、请分析宝塔面板对于其默认用户的密码一共执行了几次上题中的哈希算法
public.py代码中执行两次
28 、请分析当前宝塔面板密码加密过程中所使用的salt值为【区分大小写】
v87ilhAVumZL
29 、请分析该服务器,网站源代码所在的绝对路径为
30 、请分析,网站所使用的数据库位于IP为()的服务器上(请使用该IP解压检材4,并重构网站)【标准格式:111.111.111.111】
192.168.110.115
31 、请分析,数据库的登陆密码为【区分大小写】
wxrM5GtNXk5k5EPX
和上题一样的位置
32 、请尝试重构该网站,并指出,该网站的后台管理界面的入口为【标准格式:/web】
33 、已该涉案网站代码中对登录用户的密码做了加密处理。请找出加密算法中的salt值【区分大小写】
lshi4AsSUrUOwWV
34 、请分析该网站的管理员用户的密码为:
用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 、在对后台账号的密码加密处理过程中,后台一共计算几次哈希值
36 、请统计,后台中,一共有多少条设备记录
37 、请通过后台确认,本案中受害者的手机号码为
38 、请分析,本案中受害者的通讯录一共有多少条记录
34
检材四
39 、请计算检材四-PC的原始硬盘的SHA256值
40 、请分析,检材四-PC的Bitlocker加密分区的解密密钥为
41 、请分析,检材四-PC的开机密码为
42 、经分析发现,检材四-PC是嫌疑人用于管理服务器的设备,其主要通过哪个浏览器控制网站后
43 、请计算PC检材中用户目录下的zip文件的sha256值
0DD2C00C8C6DBDEA123373F91A3234D2F07D958355F6CD7126E397E12E8ADBB3
44 、请分析检材四-phone,该手机的IMEI号为
45 、请分析检材四-phone,嫌疑人和本案受害者是通过什么软件开始接触的【标准格式:支付宝】
伊对
嫌疑人创建了两个伊对的账号,两个都联系了受害人金先生,真离谱,广撒网啊
46 、请分析检材四-phone,受害者下载恶意APK安装包的地址为
47 、请分析检材四-phone,受害者的微信内部ID号为
48 、请分析检材四-phone,嫌疑人用于敲诈本案受害者的QQ账号为
49 、请综合分析,嫌疑人用于管理敲诈对象的容器文件的SHA256值为
50 、请综合分析嫌疑人检材,另外一受害者“郭先生”的手机号码为
51 、通过嫌疑人检材,其中记录了几位受害者的信息
52 、请使用第11题的密码解压“金先生转账.zip”文件,并对压缩包中的文件计算SHA256值
53 、请综合分析,受害者一共被嫌疑人敲诈了多少钱(转账截图被隐藏在多个地方)
微信2000
伊对1000
虚拟机里的金先生转账2000
QQ600
说还有一张账单在数据库里没找到
更多推荐
所有评论(0)