某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用“USTD 币”购买所谓的“HT 币”,受害人充值后不但“HT 币”无法提现、交易,而且手机还被恶意软件锁定勒索。警方根据受害人提供的虚拟币交易网站调取了对应的服务器镜像并对案件展开侦查。
链接:https://pan.baidu.com/s/1f9xzt0jooZ-RZylwtt3YvQ 提取码:1234 SHA256:37263f0aace3e33e7f303473e85e69ef804eb16a2500b68a 6b90c895784666f5
2022.4th.changancup!
答案:9E48BB2CAE5C1D93BAF572E3646D2ECD26080B70413DC7DC4131F88289F49E34
答案是需要e01解压后的哈希值,直接用取证大师等工具右键计算即可。
答案:172.16.80.100
仿真
答案:7.5.1804
答案:172.16.80.133
vi /etc/sysconfig/network-scripts/ifcfg-ens33
答案:/web/app/
答案:cloud.jar
挨着查看?(还有没有更好的方法)
答案:9090
admin目录下的nohup.out文件
也可以查看vue的启动文件
答案:https://pan.forensix.cn/f/c45ca511c7f2469090ad/?dl=1
先启动所有jar包
nohup java -jar admin-api.jar > admin-api.file 2>&1 &
nohup java -jar cloud.jar > cloud.file 2>&1 &
nohup java -jar market.jar > market.file 2>&1 &
nohup java -jar ucenter-api.jar > xucenter-api.file 2>&1 &
nohup java -jar exchange.jar > exchange.file 2>&1 &
启动vue项目
npm run dev
(后面才知道检材3中有被删掉的启动脚本)
答案:md5
查看后端的源代码(admin-api.jar),发现是调用的远程数据库
在下面可以看到
答案:XehGyeyrVgOV4P8Uf70REVpIw3iVNwNs
同上
答案:135790
答案:172.16.80.128
答案:ipconfig
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
答案:ZTuoExchange_framework-master.zip
ps:检材二D盘还有很多好东西!
答案:root
浏览器保存的密码中得
答案:20.04
答案:8.0.30
一般就是wsl中的数据库了
wsl -u root
service mysql start
答案:ZdQfi7vaXjHZs75M
初始密码保存在/etc/mysql/debian.cnf下了
答案:h123456
检材二的WSL的king用户下有登陆记录
答案:docker-proxy
结合检材一知道该端口是mysql的端口
答案:redis.mongo
在检材一的后端可知
答案:shhl7001
在检材一的后端可知
答案:/var/lib/mysql
注意是容器内部
show global variables like "%datadir%";
或者直接去docker-compose.yml看文件映射关系
答案:b1
在检材一的后端可知
答案:3
查看日志目录
SHOW VARIABLES LIKE 'gen%';
答案:28
看日志
答案:172.16.80.197
把检材二的b1数据库放入检材三中数据文件位置
答案:cee631121c2ec9232f3a2f028ad5c89b
答案:164
然后这里还要还原被删除的28个数据,根据日志的删除数据和插入数据还原即可。
答案:318.989
排序余额为0的
答案:1000
答案:408228
答案:夜神.nox
答案:forensixtech1
答案:v2Ray
答案:38.68.135.18
答案:2022/10/19 10:50:27
答案:0c2f5dd4a9bc6f34873fb3c0ee9b762b98e8c46626410be7191b11710117a12d
找到对应的数据库文件
要导出整个databases文件进行查看!
答案:18645091802
答案:python
答案:txt.jpg.docx.xls
python反编译
答案:异或
答案:u+w==
答案:TREFWGFS
同样反编译解密的exe
获得解密密码
答案:cn.forensix.changancup
上面的题连接下载的apk
答案:READ_EXTERNAL_STORAGE;WRITE_EXTERNAL_STORAGE;
答案:MATSFRKG
先用frida脱壳,然后直接搜索字符串
答案:TDQ2UWP9
OooO0oo是String
其使用了String的equals进行比较flag
这里直接hook 所有String的equals方法
hook脚本
Java.perform(function () {
var application = Java.use('android.app.Application');
application.attach.overload('android.content.Context').implementation = function(context){
var result = this.attach(context);
var classloader = context.getClassLoader();
Java.classFactory.loader = classloader;
// 加固方法用classloader找到被加固的类
var HookClass = Java.classFactory.use('java.lang.String');
HookClass.equals.implementation = function(obj){
var ret = this.equals(obj)
console.log(this + ' equals ' + obj);
return ret;
}
}
});
答案:a_asd./1imc2)dd1234]_+=+
定位到加密方法
直接把加密函数改成单次然后爆破即可
package src.an;import org.junit.Test;
public class Boom {
private int[] OooO0oO = {1197727163, 1106668241, 312918615, 1828680913, 1668105995, 1728985987};
private long[] OooO(long j, long j2) {
if (j == 0) {
return new long[]{0, 1};
}
long[] OooO = OooO(j2 % j, j);
return new long[]{((j2 / j) * OooO[0]) + OooO[1], OooO[0]};
}
public boolean OooO0O0(String str, int num) {
// 改成单次的!,每次传入四个字符,num从0开始
int j = str.charAt(0) << 16;
j = j | (str.charAt(1) << '\b');
j = j | (str.charAt(2) << 24);
j = str.charAt(3) | j;
try {
int[] iArr = {1197727043, 1106668192, 312918557, 1828680848, 1668105873, 1728985862};
Object[] objArr = {'x', '1', ':', 'A', 'z', '}'};
if (iArr[num] - j != ((Integer) objArr[num]).intValue()) {
return false;
}
return true;
} catch (Exception unused) {
if (((OooO(j, 4294967296L)[0] % 4294967296L) + 4294967296L) % 4294967296L != this.OooO0oO[num]) {
return false;
}
return true;
}
}
@Test
public void tryBoom() {
String allStrings = new String();
int j = 0;
for (int i = 33; i < 127; i++) {
char c = (char) i;
allStrings += String.valueOf(c);
}
for (int ig1 = 0; ig1 < allStrings.length(); ig1++) {
String subStr1 = allStrings.substring(ig1, ig1 + 1);
for (int ig2 = 0; ig2 < allStrings.length(); ig2++) {
String subStr2 = allStrings.substring(ig2, ig2 + 1);
for (int ig3 = 0; ig3 < allStrings.length(); ig3++) {
String subStr3 = allStrings.substring(ig3, ig3 + 1);
for (int ig4 = 0; ig4 < allStrings.length(); ig4++) {
String subStr4 = allStrings.substring(ig4, ig4 + 1);
String subStr = subStr1 + subStr2 + subStr3 + subStr4;
if (OooO0O0(subStr, 5)) {
System.out.println(subStr);
}
}
}
}
}
}
}
......
主要考察的前后端分离的网站重构,说复杂吧,牵扯到的服务组件太多,还是不同服务器上,ip之间有依赖关系,像我上面改了动态ip后面还要挨着改。说简单吧,直接不动ip改改虚拟网卡,只要知道检材二中的启动脚本可以一键搭建。