cXE6MjI4MjY3OTAwNA==
检材链接:https://pan.baidu.com/s/1bcEDEeh3A1RnHAhjmmZOZQ?pwd=vdy6
MD5: FF4AB93F852B23DD759A6810754557A8
加密容器密码:usy1UN2Mmgram&^d?0E5r9myrk!cmJGr
0x11fcf899
否
A6021386163125
vip.shuadan.com
代理模式抓个包
是
搜一下audiomanager
com.uzmap.pkg.a.b.n
下有获取系统录音权限代码
plus.H5CE4B30D
53feacdd
vip.usdtre.club
H5CE4B30D
A9:8B:34:8B:04:50
89014103211118510720
接上图
Potato
应用列表里找到Potato
和对应的包名
收到
根据包名去翻一下数据库,/data/data/com.qim.imm/databases/im_db_225_18969939616_8AF2C81F-58C2-8459-C492-9C4F65E6BC1E.db
的$g
和$j
里有base64加密后的聊天数据
$g
是私聊(有TONAME
)和$j
(群聊)最后一条
dc52d8225fd328c592841cb1c3cd1761
文件在\storage\emulated\0\Android\data\com.qim.imm\files\Potato\Attachment
下
wlzhg@3903@xn
将私聊数据全部导出,批量解密,得到密码规则
wlzhg@8888@xn
这里有个小坑,如果跟我一样直接print(base64.b64decode(i).decode())
,base64在传输数据时为了不损失数据会将数据转换成二进制形式,解码时一些符号会被解析成ascii码的unicode形式
得加一步将base64解码结果自动解释成html实体形式
贴个脚本
import base64
import html
p=1
with open('data.txt','r')as f:
for i in f.readlines():
print(f'id={p}',end=' ')
print(html.unescape(base64.b64decode(i).decode()))
p+=1
掩码爆破
15137326185
技术部
解一下群聊的聊天记录
按容的意思,后羿采集器采集到的数据算是报表,根据私聊这些是臧发给他的
找一下用户id和部门id的对应关系
apple
1976
同上图
358360063200634
A:18043618705 B:19212175391 C:19212159177 D:18200532661
苹果用户账号排除AC
安卓用户账号排除B,题目根据魏文茵苹果手机分析
多少是有点误导的
西安
5768224669
0.08
接上图
353271073008914
在后面pc部分对容的mac分析的时候可以找到ios的备份,单单这一题在这里可以直接看到了
加密密码在容的安卓手机里提到,19760908
2023-04-12 21:20:59
ec677dda-3387-4337-9b44-f7daae4fb29c
wxid_peshwv0rosih12
Windows 10 Pro 14393
A:Edge B:Internet Explorer C:Google Chrome D:360浏览器
C
仿真后创建txt改后缀
A:掠夺攻略.docx B:工资表.xlsx C:刷单秘籍.docx D:脚本.docx
A
1个
TrueCrypt
D:\Users\WH\Documents
000649-583407-395868-441210-589776-038698-479083-651618
恢复密钥的文件名是94CB06B3-6AF6-4E6D-A019-8A83E97E84D5.TXT
,去取证大师里原始数据搜一下,搜个5%搜个几条数据差不多就找到了
38
100万
将魏的pc的微信用内存解密一下
728
火眼一把梭,或者volatility用pslist
239F39E353358584691790DDA5FF49BAA07CFDBB
xshell
536,870,912
A.WeChatSetup.exe
B.aDrive.exe
C.Potato_Desktop2.37.zip
D.BaiduNetdisk_7.27.0.5.exe
D
kangshifu0008
邮件找到邮件,下载一下(google drive
要挂)
里面是源码文件,想到之前手机tg里跟一个人购买源码,密码是他的邮箱kangshifu0008
2282
臧的桌面找到secureCRT
,找一下他的配置文件
P@ssw0rd
查看SecureCRT会话中保存的密文 - wtsgtc - 博客园
或者在office元数据也能找到被删除的账号信息
c1934045c3348ea1ba618279aac38c67
F
看一下访问记录即可
xiaozang123!@#
资料.docx
5GB的大小很显然是tc容器,在访问记录也可以发现有对该文件进行访问
passware加载内存直接解,解完后是一个火眼可以解析的镜像
后羿采集器
根据之前数据库解密的聊天记录里涉及的报表以及他的桌面知道爬虫工具为后羿采集器
19225
臧将数据发给了容,翻一下容的手机找到存储的数据,其中刷单.rar里的数据是德发给容的,不是臧弄的,6个excel表数据统计一下即可,注意需要删除非人员的数据
100+18+18970+96+29+12
A.中国证券投资基金业协人员信息
B.仓山区市场监督管理局行政执法人员信息
C.清平镇卫生院基本公共卫生服务
D.仓山区市场监督管理局行政执法人员信息
C
接上图
8080
7890
查看软件运行记录可以找到clash for windows
搜一下位置
直接打开,看一下历史配置文件,是clash的默认端口7890
d4029286acc8bfd97818d5f8724f0f0a
im.pgscup.com:6661
很显然由前面手机分析部分知道内部通讯是用potato的,桌面打开看一下设置
2023-04-27 17:57:53
火眼一把梭,用volatility看imageinfo
的时候也能直接看到
A.ntdll.dll
B.iertutil.dll
C.wow64cpu.dll
D.wow64win.dll
B
vol这里有个小坑,imageinfo识别出来默认第一个profile
是错的,要用第二个profile
pslist
后面几个都是7424的子进程
dlllist
0xffffab861963e000
hivelist
2023-04-27 17:55:32
D:\backup\mydata\账号信息.docx
macOS 12.6/macOS Monterey
开机密码apple之前手机中得到,不是很懂这道题要填什么
2022-10-09
仿真后uname -a
,这里我不知道为啥仿起来一直卡在启动页
仿真,ps aux
应该就有了
2023-04-14 7:55:50
GMT
是utc+0
35
uname
hostname
hostnamectl
都可以查询主机名称
9.84
在桌面可以找到一个资料
是个加密的rar
密码还是用之前的掩码规则,片区后缀华南改成hn
2.5小时
6岁/7岁
废纸篓里提到了八年级,要么13岁要么14岁
不过根据这个去搜一下会发现还有两个没有被删的一年级的,那更大概率是一年级
UPX
在魏pc的最近运行记录中可以看到一个很奇怪的print.exe
,还被运行了9次,结合之前pc有特意提到问这个print.exe
的pid号,基本就是这个没错了
根据上图提到的目录,在downloads下找到print.exe
,导出,扔die
里
upx3.96
的壳
upx3.96
upx-d
直接脱
5
简单一点就直接扔云沙箱
看,用Process Monitor
也可以
6
main
函数里找到send
函数,x
看一下交叉引用
一个一个去看就好了,由于问的是被几个函数调用,有些是在一个函数里被调用多次需要去除,除了main函数还分别被5个函数调用
192.168.8.110
main
函数里有写
6069
接上图,就在上一行,以十六进制形式
A
A.tcp
B.udp
int socket(int domain, int type, int protocol);
domain
:指定使用的协议族type
:指定socket类型protocol
:指定socket使用的具体协议,0表示默认,6表示TCP
,17表示UDP5
其实根据第8题所给的命令格式就可以看出这5条对应命令执行
5个函数整体逻辑都不复杂,跟着代码往下跳转就好了,这里就分析一下第八题涉及的加密电脑文件的命令
以便逆向基础薄弱的读者复现,这里贴出全程的跳转过程
到这里执行了sub_45978E
函数,并将ok赋值给buf数组,进行异或操作后send给服务器,很明显是执行完sub_45978E
的操作后发送成功指令
到这里前面明显是一个对路径和文件名的操作
GetModuleFileNameA
函数获取当前可执行文件的完整路径名存储在Filename
里sub_458555
函数查找Filename
中最后一个反斜杠(\)的位置,并将该位置后面的字符设置为0,这样可以截取出可执行文件所在目录的路径。sub_4586E0
函数对Filename
进行操作SHGetFolderLocation
函数获取系统“Program Files”
文件夹的位置信息,并将这个位置信息存储在ppidl
中。SHGetPathFromIDListA
函数将ppidl
中存储的位置信息转换为可用的路径字符串,存储在pszPath
中。pszPath
和一个反斜杠连接起来,形成完整的目录路径,并与Filename
进行比较。如果它们不相等,则使用sub_4586E0
函数调用pszPath
综上所述就是对Program Files
文件夹以及恶意文件当前所在的文件夹执行sub_4586E0
函数
实际做题的时候不用分析这么清楚,大概发现前面部分是一个文件路径操作,执行的是sub_4586E0
函数,直接跳转即可
跳转到这里看到文件后缀基本可以确定就是对文件加密操作了,因为在魏的桌面上可以看到***.xlsx.encrypt文件
do-while
循环,用于在指定路径中查找特定类型的文件。j___findfirst64i32
函数查找第一个符合要求的文件,根据下面if判断,应该是查找目标文件是否存在sub_4586E0
函数(即本身);否则,检查文件的扩展名是否符合要求,如果是,调用sub_45B561
获得完整文件路径,调用sub_45AC7E
函数对文件进行处理,并通过sub_458AF0
输出信息。综上关键部分就是查找五个后缀名的文件并调用sub_45AC7E
进行操作
在这里成功找到加密函数,做的主要内容就是一个生成加密后的文件,并删除原文件
主要加密逻辑其实很简单,其实就是一个对文件逐字节+1的过程,解密只需要逐字节-1即可
for ( i = 0; i < ElementCount; ++i )
++*((_BYTE *)Buffer + i);
将魏桌面的加密文件导出,写个解密脚本
这里由于可能原文件存在0xFF
值,导致+1后变成0x00
,直接-1会出现报错,需要加个% 256
来避免错误
import os
encrypted_file = "工资表.xlsx.encrypt"
original_file = "工资表.xlsx"
with open(encrypted_file, "rb") as f:
encrypted_data = f.read()
decrypted_data = bytes([(byte - 1) % 256 for byte in encrypted_data])
with open(original_file, "wb") as f:
f.write(decrypted_data)
6s
A.docx
B.xlsx
C.pdf
D.doc
ABCD
22383
string
里面搜索一下C:
即可找到
44300
解密后打开
12.0.4
在臧的电脑的最近访问项目里可以发现他访问过tor浏览器
全局搜一下tor发现魏的电脑下有个zip存档,同名文件在臧的电脑里被删除了,这里理解不了为什么魏的电脑里有存着
做到后面发现应该是非预期或者是出题人为了减轻难度?在后面解出臧的tc容器之后可以发现tor数据在容器里(
导出后解压,直接打开,查看一下设置
比特币/比特币市场
2022-05-27 21:49:33
取证大师暗网取证小程序可以解析
2023-04-12 09:54:38
应用程序运行记录里似乎只记录了一次使用tor
ea86403d1de3089b3d32fe5706d552f6
将对应目录下的{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
文件解压一下,可以用everything搜到ftp.js
文件在content
目录下
仿真时将四个镜像都加进去,操作系统手动选一下linux
这里不需要账号密码即可直接进入openwrt的root
先配置一下网卡,方便后面用xshell连接,避免中文乱码并且方便复制粘贴
(28条消息) openwrt之network配置文件_openwrt [email protected]的博客-CSDN博客
ip a
查看当前ip 192.168.8.20
,这也是第一题管理的ip
看一下/etc/config/network
发现只有lan单网卡,将虚拟机的nat网段修改为相同网段
成功ping通
192.168.8.20
ip a
P@ssw0rd
cat /etc/shadow
,手动将密文敲出来,用qqOCR不是很准
$1$WjI/HnLV$SAY7ml3fxanm0NhGe55Nd1
hashcat
用rockyou.txt
爆破一下hashcat -a 0 hash.txt rockyou.txt --force --self-test-disable
somd5也能直接看
之前在找secureCRT的时候也找到了个服务器密码(虽然不知道是不是对应这里)
臧
afc455bdc29a45b18f3bae5048971e76
登录进后台
502f6affe3c7deb071d65fb43effc06d
9a89a5ec-dae6-488a-84bf-80a67388ff37
blkid
/mnt/data
服务-网络共享-共享目录
或者问一下万能的chatgpt
cat /mnt/data
根据之前找到的共享目录,直接连接一下
上共享目录的方法还是问一下万能的chatgpt,
是之前共享目录看到的sharedata
\\192.168.8.20\sharedata
找到im服务器的镜像
当然也可以换种思路,之前有root密码了直接xftp去看就好了,当然导到本地是个麻烦事,还是共享目录好
这里直接用vmx被vc锁住系统盘了,前面keepass中的vc密码是vc容器的密码,不是这里的密码
将三个vmdk都导入火眼进行分析,在vmdk3中发现访问了一个txt
火眼的预览会乱码,导出来发现是密码123w.pgscup.com
,输入后成功启动
其中pc启动密码在之前对臧的pc取证中提及
17763
123w.pgscup.com
上述配置过程中提到
7.4.32
找到im的目录再找到php的目录,-v
查看
10.4.12
dbserver
目录下发现服务器用的数据库是mysql
,进bin
目录
www.upsoft01.com
去找一下配置文件,在im_webserver\htdocs\Application\Common\Conf\config.php
里记录了root密码
antdbms_usdtreclub
这里ip是静态的192.168.8.92
,把nat子网配到8网段就可以ping通了
一开始直接远程连接会连不上,开启一下远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'www.upsoft01.com' WITH GRANT OPTION;
sys_admin
表下找到admin和密码,一眼md5,直接覆盖掉,123456
对应md5值e10adc3949ba59abbe56e057f20f883e
复现的时候不将就时间,翻一下登录配置文件验证一下
覆盖后即可登录成功,找到数据库名
这个组织还单独有个后台
同样去翻一下数据库,在hs_user
表下找到admin和密码
买是不可能的,直接覆盖
总共有五个部门
A.AES128
B.AES256
C.DES
D.Base64
B
A.云盘
B.审批
C.会议
D.考勤
D
80-B6-55-EF-90-8E
转一下时间戳
在im_log_202304
表里有登录信息
13580912153
hs_user
表内
首先还是先将每个服务器仿真起来配置一下网络,其中server01
是master
先看一下host
,发现都在91网段下,同时master
,node1
,node2
的ip都给出了,去/etc/sysconfig/network-scripts
调整一下网卡信息改成静态
发现服务器有两张网卡,两张网卡还是在91
和8
两个不同网段下的,可以修改虚拟机的网卡他们并在一个子网掩码16的超网下,也可以直接vmware再多加一张网卡,这里选择后者
vmware把之前的VMnet1
改成8网段下
虚拟机添加一个对应仅主机网卡
ip a
查看一下网卡,发现新添加的网卡命名为ens37
看ip应该默认作为VMnet1
的网卡了,问题不大,改一下配置重新识别即可
这里需要将ifcfg-ens34
的NAME
、DEVICE
都改成37
,文件名也要改成37
重启服务器,保证修改生效,查看ip
以能ping通服务器的两张网卡视为成功,后面两台服务器也按同样思路操作
master这里默认ssh连不上,查看一下ssh的配置,cat /etc/ssh/sshd_config
,发现端口被改成了2282,连接时修改一下即可
查看两个node的历史命令时发现还将master的服务器挂载到了本地的www目录下,照着挂载一遍即可
查看所有pod和node,node均ready,pod均正常,至此前期配置完成
kubectl get nodes -o wide
kubectl get pod --all-namespaces
3.10.0-957.el7.x86_64
uname -a
10.244.0.0/16
查看当前k8s集群中 pod 和 service 网段信息
kubectl get configmap kubeadm-config -n kube-system -o yaml
calico
kubectl get pod --all-namespaces
8
ns是指namespace,除掉第一个default默认ns
kubectl get namespaces
192.168.91.171
kubectl cluster-info
NodePort
kubectl describe svc php-svc -n licai
kubectl describe svc php-svc -n licai | grep "Type:"
7.2
看一下shuadan下的pod信息
kubectl get pod -n shuadan
看一下他们具体的信息,由于给出数据会很多,可以用grep筛选一下
kubectl describe pod php -n shuadan
kubectl describe pod php -n shuadan | grep php
192.168.8.12
kubectl get secrets
发现是搭建在docker上的
直接查看docker配置文件
cat /etc/docker/daemon.json
也可以查看root目录下的.docker
文件夹下的config.json
文件
或者使用如下命令获取配置信息
kubectl get secret -n -o jsonpath='{.data.\.dockerconfigjson}'
为k8s对象的名称,
为对应的ns
kubectl get secret
获取对象名称,kubectl describe secret
获取其ns
kubectl get secrets harbor-pull -n default -o jsonpath='{.data.\.dockerconfigjson}'
dXNlcjozVy5wZ3NjdXAuY29t
接上图
6G
kubectl get pv
licaisite-pvc
接上题
61.150.31.142:3306
去www
目录下翻一下配置文件,在/www/site/kefu/config/database.php
里找到数据库的配置
当然按题目所给的意思,三个数据库应该是一样的,看了之后确实一样,这里不做赘述
8083
public
目录下的index.php
vip.shuadan.com/nFRrSNh6Msnbtpay
刷单的database.php
被加密了
eval直接改成echo,$O00O0O
是先解一层base64
再把eval改成echo就好了,得到用户名密码
5.6.50
找个版本接近且最好大于网站的mysql版本,这里用5.7.26
php也是,这里用7.2.9
网站域名与log文件中相符
调证的data覆盖掉mysql的data
因为不知道mysql密码,直接skip-grant-tables
绕过密码登录
navicat连接正常
将刷单的网站源码覆盖
根据ico、index.php、robots.txt文件可以判断网站的运行目录在public
更改一下根目录
伪静态配置
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
更改一下config/database.php
,ip改成本地,用户名对应本地mysql用户名root,密码无所谓,前面已经绕过了
重构成功
日志中找到后台登录地址
也可以目录中找到后台目录admin_2019
根据报错搜字符串
md5加密
cmd5解不出
直接e10adc3949ba59abbe56e057f20f883e
覆盖
保存后admin/123456
登录成功
后面两个网站重构部分同理,其中理财网站根目录就是源码根目录,客服是/public
;其中理财网站的数据库配置文件需要修改index.php
和Application\Common\Conf\config.php
,php版本要选择5.4-5.5之间
理财网站
理财网站后台登录有个key校验
log里可以找到后台地址
找加密逻辑
同样覆盖后直接admin/123456
登录
客服网站
客服进来就是管理员登录
密码被getEncryptPassword
自定义函数加密了,password
和username
作为两个参数传入
找一下函数定义,密码一次md5后再加盐md5一次,盐值根据上面传入参数就是username即admin
照着加密一遍,得到c7122a1349c22cb3c009da3613d242ab
覆盖,admin/123456
登录
vip.shuadan.com
9(存疑)
选择理财的客服系统
算法:username
拼接字符串hjkj
再拼接password
后的md5值
照着加密一遍 d8f7c2d2775869fb69b8757edcf6ae4f
找到客服后台密码位置,根据之前页面显示的先后顺序也可以判断出service_id2对应理财
也可以找一下具体佐证
覆盖后admin/123456
登录
可以看到当前咨询是9个
但这里在后期跟其他师傅对照后发现这里的显示数量大家都不相同,也许大家数据库的数据是不同的?这里存疑
/application/index/view/user/user.html
刷单这边以用户登录admin/123456
个人中心这边有个跳转到在线客服
还是老方法,爆搜,后面两个temp肯定不对
7611
回到刷单的后台
18969939616
张娟上级是容
翻一下之前的数据库
2023-04-12 14:57:32
103.177.44.10
查马还得是D盾,第一个大马应该是管理网站用的,第四个还是在uploads目录下,很显然是题目需要的,不过为什么在刷单的目录下?
翻日志也没找到对应的文件上传的操作,只看到一个传好后的get,应该是所求的ip
339c925222a41011ac1a7e55ec408202
1.42
6212260808001710173
36.78/9676.66
把所有cnc的统计一下
到这一步有些复杂,他有委托买入,有成功买入,有撤销,需要一步一步看,这里不同的人可能有不同的理解,看出题人是怎么想的了
首先他时间是倒序排列的,从后往前看
先看最早的四笔,可以大概理解委托买入和成功买入的区别
228委托买入,正常减少38.038,冻结增加38.038,同时总计不变,因此这里反映出委托交易并没有导致实际金额的减少,钱并没有真的花出去,后期是可以收回的
229成功交易,正常不变,冻结减少33.4334,总计减少33.4334,这里说明钱真的被花出去了,总计减少了
综上,正常的金额相当于手头的金额,冻结的金额相当于放在交易中心的金额,用于进行cnc交易,成功交易了才算真正支出,否则可以收回,即对应235,236,237三笔,撤销交易,冻结金额重新转回正常金额,总计保持不变
综上,其实看总计的变化即可反映出支出
从228记录至243条记录,总计总共减少了36.77674
244是人工充值,应该是收入不是支出
245是btc排除,246和247一买一卖没导致总计变化也不算,综上总共支出36.77674
如果是另一种思路,每一次委托交易才算作支出,撤销就算撤销,成功交易不算支出,那么228至243中冻结增加了9639.8827525
,其中总量减少了36.77674
,即导致冻结减少了36.77674
,因此要重新加回上去,照这个思路总共是支出了9676.6594925
,246和247仍没有变化