【比赛】第三届长安杯笔记
鸣谢
- 感谢sq学长和cty学姐的帮助和教导!!!
- 第一个大型比赛复刻学习结束了,好累(。し_し。)但是继续出发(≧▽≦)哈哈哈
2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元;经询问,昨日金某被嫌疑人诱导裸聊,下载了某“裸聊”软件,导致自己的通讯录和裸聊视频被嫌疑人获取,对其进行敲诈,最终金某不堪重负,选择了报警;警方从金某提供的本人手机中,定向采集到了该“裸聊”软件的安装包–zhibo.apk(检材一),请各位回答下列问题:(题目中需要通过分析出来的答案对检材二三四五解压,解压密码为IP的情况,需要在密码后增加-CAB2021,例:192.168.100.100-CAB2021)
1. 请计算检材一Apk的SHA256值:
1)直接将apk拖入hashcal计算
2)雷电APP智能分析直接出,但注意SHA256的主体是检材
3)window自带工具:certutil -hashfile 检材一-zhibo.apk sha256
2. 该APK的应用包名为
1)使用jadx反编译,查看AndroidManifest.xml,package的值就是包名
2)雷电APP智能分析直接出
3. 该APK程序在封装服务商的应用唯一标识(APPID)为
- 使用jadx反编译,可以在assets的apps目录下找到,文件夹名字就是
- xml文件第一行后面也有 package=“plus.H5B8E45D3” ,应用包名后半部分与APPID一致(?不确定
——来源
查证:
- “应用ID必须至少包含两段(一个或多个圆点)。每段必须以字母开头,所有字符必须为字母数字或下划线 [a-zA-Z0-9_]。例如,com.example.myapp 是一个有效的应用ID。”——来源
应该是写错了这个讲的是应用包名 - 问deepseek
| 维度 | APK 包名 | 服务商 APPID |
|---|---|---|
| 定义与归属 | 技术身份:在代码中定义,是应用在安卓系统中的唯一技术标识。 | 商业身份:由应用商店或服务商(如华为、腾讯、阿里)分配,是其在平台生态内的唯一商业标识。 |
| 设定者 | 开发者。 | 服务商平台系统(当开发者上传应用时生成或分配)。 |
| 唯一性范围 | 全球唯一(理论上)。谷歌建议使用逆序域名来确保这一点(如 com.companyname.appname)。 |
平台内唯一。同一个应用在不同商店可能有不同的 APPID。 |
| 是否可变 | 不可变。一旦发布,更改包名等同于创建了一个全新的应用。 | 通常不变,但理论上平台有权重新分配。同一个应用更新版本,其 APPID 不变。 |
| 主要用途 | 1. 系统识别:安卓系统通过包名来区分不同应用。 2. 安装与更新:系统根据包名判断是安装新应用还是更新现有应用。 3. 进程标识:应用进程名通常以包名开头。 |
1. 平台管理:用于商店后台的统计、更新、收费管理等。 2. API 调用:集成该服务商 SDK(如推送、登录、支付)时,需要用 APPID 来标识自身。 3. 应用分发:生成商店下载链接。 |
| 示例 | com.tencent.mm (微信)com.netease.cloudmusic (网易云音乐) |
华为应用市场:C1000000001腾讯开放平台: 110xxxxxx阿里应用分发: 12345 |
- 还是不清楚但解题可以APP直接做到
“当然也可以去网站源文件里面确认,就是看ID”(?没找到APP内的地方)——来源
4. 该APK具备下列哪些危险权限(多选题):
A.读取短信 B.读取通讯录 C.读取精确位置 D.修改通讯录 E.修改短信
- APP直接做到
- xml文件内查找
<uses-permission android:name="android.permission.INTERNET"/> |
| name=后面的字符串 | 对应代表权限意思 |
|---|---|
android.permission.INTERNET |
访问互联网 |
android.permission.WRITE_EXTERNAL_STORAGE |
写入外部存储 |
android.permission.ACCESS_NETWORK_STATE |
访问网络状态 |
android.permission.ACCESS_WIFI_STATE |
访问Wi-Fi状态 |
android.permission.INSTALL_PACKAGES |
安装程序包 |
android.permission.REQUEST_INSTALL_PACKAGES |
请求安装程序包 |
android.hardware.camera |
需要摄像头 (硬件功能) |
android.hardware.camera.autofocus |
需要自动对焦 (硬件功能) |
android.permission.ACCESS_COARSE_LOCATION |
访问粗略位置 |
android.permission.ACCESS_FINE_LOCATION |
访问精确位置 |
android.permission.READ_CONTACTS |
读取联系人 |
android.permission.READ_SMS |
读取短信 |
android.permission.RECEIVE_SMS |
接收短信 |
android.permission.ACCESS_COARSE_LOCATION |
访问粗略位置 |
android.permission.ACCESS_FINE_LOCATION |
访问精确位置 |
android.permission.SEND_SMS |
发送短信 |
android.permission.WRITE_SMS |
写入短信 |
android.permission.GET_ACCOUNTS |
获取账户列表 |
android.permission.WRITE_CONTACTS |
写入联系人 |
android.permission.ACCESS_WIFI_STATE |
访问Wi-Fi状态 |
android.permission.ACCESS_NETWORK_STATE |
访问网络状态 |
android.permission.CHANGE_WIFI_STATE |
更改Wi-Fi状态 |
android.permission.READ_PHONE_STATE |
读取手机状态 |
android.permission.WRITE_EXTERNAL_STORAGE |
写入外部存储 |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS |
挂载和卸载文件系统 |
android.permission.READ_LOGS |
读取系统日志 |
android.permission.WRITE_SETTINGS |
写入系统设置 |
com.huawei.android.launcher.permission.CHANGE_BADGE |
华为角标权限 |
android.permission.READ_EXTERNAL_STORAGE |
读取外部存储 |
com.asus.msa.SupplementaryDID.ACCESS |
华硕补充设备ID权限 |
反思:联网可以直接丢给ai,断网可以复制黏贴到txt搜索read,write等词
网上找到的对应关系表,在images文件夹存储文件名为:安卓权限中英文对应表.jpeg
5. 该APK发送回后台服务器的数据包含一下哪些内容(多选题):
A.手机通讯录 B.手机应用列表 C.手机号码 D.验证码 E.GPS定位信息
法一
- 雷电软件 其他模式抓不到,使用代理模式抓包能抓到CD【复刻失败方法】
- 模拟器请求手机通讯录,猜测有A
- 添加锁屏密码和通讯录信息后抓包获得
-
答案都出来了,耶
-
官方文档:
-
抓包方式介绍
-
雷电APP智能分析软件目前提供了4种抓包方式,分别是HTTP、TCP、代理模式、TCPDump,Android 支持全部4种方式,iOS 目前只支持代理模式抓包,下面分别介绍四种方式的应用场景:
- HTTP 方式是基于手机 VPN 原理实现的抓包,一般情况下如果是要抓HTTP 协议的网络数据包推荐这种方式,不过后台服务器已经不在运行的情况下使用该方式无法抓取到网络数据包。
- TCP 方式同样是基于手机 VPN 原理实现的抓包,如果网络数据包是原生 TCP 协议的话推荐使用这种方式。
- 代理模式是基于在手机或者模拟器上设置代理地址实现的抓包(和 fiddler、charles 原理相同),软件会自动设置代理 IP 地址,无需手动填写代理地址,这种方式的优点是后台服务器不在运行的情况下也能抓到请求的网络数据包。
- TCPDump 模式是基于 libpcap 库的抓包,根据使用者的定义对网络上的数据包进行截获,可以将网络中传送的数据包完全截获下来提供分析,这种方式的优点是可以抓取到所有协议的网络数据包。
-
抓包方式选用
- 抓 HTTP 协议首选 HTTP 方式抓包,后台服务器不存在的情况下选择代理模式抓包;
- 抓 TCP 协议选择 TCP 方式抓包;
- 在其他方式都抓包无果的情况下,建议使用 TCPDump 进行尝试;
-
抓包注意事项
- 代理模式和 TCPDump 抓包不能自动区分网络数据包是来源哪个应用的,有可能会混入非当前 APP 的网络数据包,因此需要自己筛选判断;
- 代理模式如果使用的是真机,真机需要和 PC 保持在同一局域网;
- 代理模式和 TCPDump 抓到的网络数据包需要先在分析结果页中将目标数据包添加标记后才能导出到 Word/PDF 报告;
- Android 设备使用代理模式时软件会自动设置代理,结束抓包的时候软件会自动清除代理。如果没有正常结束代理模式抓包,可能会因残留的代理设置导致Android设备无法上网,可以使用雷电APP自动修复;
- iOS 设备使用代理模式时需要自己安装证书、配置代理设置以及清除代理设置;
- TCPDump 抓包模式下不会实时更新抓包结果,只有在点击结束后才会进行解析并展示抓包结果;
- TCPDump 的抓包结果目前只支持 HTTP 请求的解析,HTTPS 请求需要借 Wireshark 进行分析。
法二
- jadx搜索
- 解密网站得到:
/* |
- 总结:
- //Sms存放所有短信;//调用依赖获取定位权限的代码; mui.toast(‘请输入正确的手机号和邀请码’)
- mui.alert("为保证用户质量,使用本app请同意通讯录授权 ");
- 答案:ACDE
6. 该APK程序回传通讯录时,使用的http请求方式为
- 雷电抓包可得
7. 该APK程序的回传地址域名为【标准格式:www.abc.com】
- 雷电抓包可得
8. 该APK程序代码中配置的变量apiserver的值为【标准格式:www.abc.com/abc】
- sojson4解密结果中有var apiserver = ‘http://www.honglian7001.com/api/uploads/’;
9. 分析该APK,发现该程序还具备获取短信回传到后台的功能,短信上传服务器接口地址为【标准格式:www.abc.com/abc】
- 继续在上一段代码里搜索SMS,这是短信的一般英文名,可以看到代码
mui.ajax(apiserver + 'apisms', { |
10. 经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该文件的文件名为
- 使用雷电APP分析的Frida脚本里的SQLite数据库,即可得到数据库名
11. 经分析,发现该APK在运行过程中会在手机中产生一个数据库文件,该数据库的初始密码为
- 同上
经过掌握的APK程序后台服务器回连地址,警方成功调取该服务器的镜像,请使用第7题的答案对检材二进行解压进行分析,并回答下列问题:(www.honglian7001.com)
12. 检材二的原始硬盘的SHA256值为:
13. 查询涉案于案发时间段内登陆服务器的IP地址为【标准格式:111.111.111.111】
- pts指远程,tty指直连,down指正常关机,crash指强制关机
14. 请对检材二进行分析,并回答该服务器在集群中承担的主要作用是()【格式:文件存储】
- 仿真(默认重置密码123456???)
- 查看端口:netstat -antp
- 查看历史命令:history(但有时要su之后进入root用户再history)
[ccj@localhost ~]$ su |
- 操作
[root@localhost ccj]# cd /opt/ |
修改服务器端口在目录chronusNode/const.js下修改参数server_config/port,默认为8800,即访问路径http://localhost:8800即可 |
- 找到ADProxy.js路径,打开如下:
/** |
- 作用:负载均衡
15. 上一题中,提到的主要功能对应的服务监听的端口为:
- 上面README.txt中有:修改服务器端口在目录chronusNode/const.js下修改参数server_config/port,默认为8800,即访问路径http://localhost:8800即可
- 打开const.js,寻找参数server_config/port
/* 服务器基本配置 */ |
- 答案:80
16. 上一题中,提到的服务所使用的启动命令为:
- 最开始历史命令可以看到:node app.js # 启动Node.js应用
17. 经分析,该服务对于请求来源IP的处理依据是:根据请求源IP地址的第()位进行判断【标准格式:9】
var clientIPArr = clientIP.split(".") // 将IP按点号分割成数组 |
18. 经分析,当判断条件小于50时,服务器会将该请求转发到IP为()的服务器上【标准格式:111.111.111.111】
if (clientIP3Int <= 50) { |
/* DEFINE PROXY */ |
19. 请分析,该服务器转发的目标服务器一共有几台【标准格式:9】
- 3
20. 请分析,受害者通讯录被获取时,其设备的IP地址为【标准格式:111.111.111.111】【问题未解答,但跳过不管了(*‘ v`*)】
- 问题:1怎么知道是红米的那个2wp里面的诡异时间点是怎么出来的3文件导不出来
- 报警时间:2021年4月25日,上午8点左右
- 在日志中注意时间是UTC时间
- 一直访问内网192.168.110.110,所以是本地嫌疑人ip:192.168.110.203
- 对应时间找到ip
21. 请分析,受害者的通讯录被窃取之后,经由该服务器转发到了IP为()的服务器上【标准格式:111.111.111.111】
- 不管谁都是转发到192.168.110.113
通过对检材二的分析,警方进一步掌握并落地到了目标服务器地址,通过对服务器进行证据固定,得到服务器镜像–检材三,请使用第21题答案对检材三进行解密并分析,回答下列问题:
22. 检材三的原始硬盘的SHA256值为【问题未解答 但不管了(っ﹏-) .。o】
- 怎么知道是web3哇
23. 请分析第21题中,所指的服务器的开机密码为:
- 检材四 嫌疑人的PC端的Xshell中看到连接记录
- 选择原因:看负责转发的服务器B的密码看转发对象CDE的账密是经验之谈,而不是规律
- 但这个是选择的直接证据:没有看到192.168.110.110被转发信息
- honglian7001
24. 嫌疑人架设网站使用了宝塔面板,请问面板的登陆用户名为:
- hl123
25. 请分析用于重置宝塔面板密码的函数名为
- 框架知识点
- 宝塔面板重置网站密码功能调用的是tools.py
- 宝塔后台数据库叫default.db
- 宝塔的工具面板的代码是在/www/server/panel下面,直接火眼文件里找
- .py后缀有两个文件
- test.py和tool.py中看到同样内容:
#设置面板密码 |
- set_panel_pwd
26. 请分析宝塔面板登陆密码的加密方式所使用的哈希算法为
- md5 24题已知
27. 请分析宝塔面板对于其默认用户的密码一共执行了几次上题中的哈希算法
- 3次
#设置面板密码 |
- 发现这里调用了public类的md5方法,在/www/server/panel/class里面可以找到public.py,导出搜索password:
def password_salt(password,username=None,uid=None): |
28. 请分析当前宝塔面板密码加密过程中所使用的salt值为【区分大小写】
- v87ilhAVumZL 24题已得
- 打开宝塔面板数据库/www/server/panel/default.db,在user表中也看
29. 请分析该服务器,网站源代码所在的绝对路径为
30. 请分析,网站所使用的数据库位于IP为()的服务器上(请使用该IP解压检材五,并重构网站)【标准格式:111.111.111.111】:192.168.110.115-CAB2021
- /www/wwwroot/www.honglian7001/app/databae.php
- 遍历网站文件,找数据库文件
- 192.168.110.115
31. 请分析,数据库的登陆密码为【区分大小写】
- 30题已得
- wxrM5GtNXk5k5EPX
32. 请尝试重构该网站,并指出,该网站的后台管理界面的入口为【标准格式:/web】
- RStudioProtable-打开镜像导入文件,新建虚拟快RAID和自动检测,拖拽镜像文件,自动检测
- 火眼依据信息导入
- 问我要密码?我又不知道。。。估计火眼仿真默认改123456了账户就用root不然网站无法重构!!!
33. 请分析该涉案网站代码中对登录用户的密码做了加密处理。请找出加密算法中的salt值【区分大小写】
- lshi4AsSUrUOwWV
34. 请分析该网站的管理员用户的密码为:
- 登录宝塔
-
defalt```获得为默认密码,不显示更改后密码!!!

- 对应案发时间,只有 202104 这个时间是比较符合的,在这个文件夹下只有两个日志,我们打开搜索 password 就可以找到只有两个密码,分别是 123456 和 security ,对应用户名都是 admin,我们只需要在刚刚重构好的登录界面尝试哪个密码可以登录到后台,哪个密码就是本题的答案(security)
#### 35. 在对后台账号的密码加密处理过程中,后台一共计算几次哈希值
- 见33题图,原密码md5拼接salt值的md5,拼接的结果再进行一次md5,一共3次
#### 36. 请统计,后台中,一共有多少条设备记录

#### 37. 请通过后台确认,本案中受害者的手机号码为
- 小白鼠.txt里面查看

- 设备18644099137通讯录
#### 38. 请分析,本案中受害者的通讯录一共有多少条记录
- 小白鼠.txt里面查看,上题已得:34
### 通过对检材二和三进行分析,警方通过IP落地,警方掌成功抓获犯罪嫌疑人,现将嫌疑人的PC机和手机进行了取证,分别制作了镜像,请使用第13题的答案对检材四进行解密,并回答下列问题 (192.168.110.203-CAB2021)
#### 39. 请计算检材四-PC的原始硬盘的SHA256值

#### 40. 请分析,检材四-PC的Bitlocker加密分区的解密密钥为

```txt
BitLocker 驱动器加密恢复密钥*要验证这是否为正确的恢复密钥,请将以下标识符的开头与电脑上显示的标识符值进行比较。标识符: 3BC73D1D-E5B0-4592-B9D6-42D0A306B625如果以上标识符与电脑显示的标识符匹配,则使用以下密钥解锁你的驱动器。恢复密钥: 511126-518936-161612-135234-698357-082929-144705-622578如果以上标识符与电脑显示的标识符不匹配,则该密钥不是解锁你的驱动器的正确密钥。请尝试其他恢复密钥,或参阅 https://go.microsoft.com/fwlink/?LinkID=260589 以获得其他帮助。 - 注意:Bitlocker解密后火眼要全部重新分析!!!
41. 请分析,检材四-PC的开机密码为
- 39题已知
42. 经分析发现,检材四-PC是嫌疑人用于管理服务器的设备,其主要通过哪个浏览器控制网站后台
- chrome
43. 请计算PC检材中用户目录下的zip文件的sha256值
- 搜索得到users目录位置
- 目录内搜索zip,创建任务
- 0DD2C00C8C6DBDEA123373F91A3234D2F07D958355F6CD7126E397E12E8ADBB3
44. 请分析检材四-phone,该手机的IMEI号为
45. 请分析检材四-phone,嫌疑人和本案受害者是通过什么软件开始接触的【标准格式:支付宝】
- 伊对
46. 请分析检材四-phone,受害者下载恶意APK安装包的地址为
- 45题两聊天记录下面就是
- https://cowtransfer.com/s/a6b28b4818904c
47. 请分析检材四-phone,受害者的微信内部ID号为
- wxid_op8i06j0aano22
48. 请分析检材四-phone,嫌疑人用于敲诈本案受害者的QQ账号为
- 1649840939
49. 请综合分析,嫌疑人用于管理敲诈对象的容器文件的SHA256值为
- 43题zip解压,密码为12306,与账密相同,当然也可以暴力破解,但注意暴力的位数5
- 火眼仿真获得密码money
- 打开此电脑快速访问
- VC挂载,key.rar作为密匙文件
- 嫌疑人用于管理敲诈对象的容器文件是小白鼠.txt
- 9C4BE29EB5661E6EDD88A364ECC6EF004C15D61B08BD7DD0A393340180F15608
- 但为什么小白鼠.txt导出后这么算哈希值不一样???
50. 请综合分析嫌疑人检材,另外一受害者"郭先生"的手机号码为
- 15266668888
51. 通过嫌疑人检材,其中记录了几位受害者的信息
- 5
52. 请使用第11题的密码解压"金先生转账.zip"文件,并对压缩包中的文件计算SHA256值
- 11题:c74d97b01eae257e44aa9d5bade97baf
- cd62a83690a53e5b441838bc55ab83be92ff5ed26ec646d43911f119c15df510
- hashcalc算
53. 请综合分析,受害者一共被嫌疑人敲诈了多少钱(转账截图被隐藏在多个地方)【未解决】
- 伊对1000
- 微信2000
- QQ
- 600 + 【2笔转账记录我都已经保存好了/悠闲】
- 打不开图片
- 600 + 【2笔转账记录我都已经保存好了/悠闲】
- "金先生转账.zip"文件
- 2000 交易时间:2021-04-24 18:30:25
- 数据库里面还有个?!
- navicat连接,导出成txt,厨子魔法棒可以发现是base64编码过的jpg图片,解码后保存为图片就能正常查看,有1000元
总体分析:
- 数字是192.168.110.后第四段数字
- A 受害者252
- B apk回传数据的服务器 负责转发的服务器203
- C D E 建数据库的宝塔,三个转发对象111 112 113
- F window ssh连接三个对象
- 192.168.110开头的IP地址属于私有地址段,通常作为路由器管理后台的默认网关。所以这几个ip在这个这个服务器集群里面是一直使用并代表所在服务器使用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 落殷回的博客!
评论



















































