• 该比赛复现完全看视频复现的,不是自己做题体会,先复现补补知识点,再自己做点题。(因为自己做题的时候越做越发现有点不对劲,做不出来的仍然做不出来。)

流量分析

前提准备

题目检材给了两个文件,一个是flower.pcapng,这个是正常流量包文件,然后还给了一个key.log文件。(视频中猜测是要用key.log解密出http协议)。

image-20251105235130516

打开流量包后发现,没有http协议,但是tls协议一大堆,这下应该就是用key.log解密tls协议,解密出来的内容应该就是http协议了。

image-20251105235400012

image-20251105235425921

解密TLS

首先选中编辑选项

image-20251105235617612

然后在协议这边选中TLS协议

image-20251105235657011

选中之后是这样的界面,接下来只要点击流量,然后将key.log选中即可,选中之后就解密完成了

image-20251105235810158

image-20251105235905915

question1√

计算流量包文件的SHA256值是?[答案:字母小写]

方法一

没什么好说的,直接将流量包拖入cyberchef就行

image-20251105234250745

  • 答案:
1
2d689add281b477c82b18af8ab857ef5be6badf253db1c1923528dd73b3d61a9

补充方法二

其实可以直接在wireshark这边分析的

image-20251106000400729

image-20251106000415809

question2√

流量包长度在“640-1279”之间的的数据包总共有多少?[答案:100]

方法一

本题就是要熟练掌握流量包的过滤指令,其中过滤流量包长度指令frame.len >=640 and frame.len <= 1279,直接可以马上过滤出来。

image-20251105234513746

  • 答案:
1
179

补充方法二

其实不需要使用命令,可以直接查看wireshark这个位置即可看到协议分组的数量,并且恰好是640-1279这个地方

image-20251106000615587

image-20251106000632121

question3√

黑客使用的计算机操作系统是?[答案:windows7 x32]

方法一

  • 这题的流量分析我感觉找不出来黑客的操作系统,但是可以结合比赛给的黑客电脑检材disk0.E1disk1.E1

image-20251105234706992

  • 取出来后发现得到了Windows版本和系统位数,结合答案的格式,最终答案如下:
1
windows10 x64

方法二

直接分析流量包,流量包解密之后直接看http的请求头就行

image-20251106000827119

question4√

黑客上传文件到哪个网盘?[答案:xx网盘]

通过查看解密后的http协议,会发现黑客访问的是百度网盘

image-20251106000929093

  • 答案:
1
百度网盘

question5√

黑客上传网盘的中间件是?[答案:xxxx]

中间件

如果要是我在做题而不是看视频复现,我是不明白题目在问什么的。中间件有了解过,但是题目表达的太简单了。现在先了解一下中间件

  • 在 Web 服务中,中间件(Middleware) 是指介于 操作系统与应用程序之间、或者 Web 服务器与业务逻辑之间 的一层软件组件。它的主要作用是连接、协调、处理请求、增强功能,让应用开发更加灵活、模块化和高效。

  • 上面对于中间件的描述还是总结性比较高的,下面来举几个例子:

    • 中间件可以用来处理http请求,比如说使用GET方法访问某些网站路径,一些中间件必如Nginxapache等就会将参数GET参数提取出来转换为规范格式,再传给后端。
    • 中间件还用来处理http响应,一个请求发过来,后端程序要发送响应也需要经过nginxapache等后端程序,将http请求格式规范化。
    • 中间件还可以在收到请求的时候判断客户端是否有权限访问,或者是否进行了登录,是否超过了限流
  • 所以中间件就相当于一个中间人以及守门人,中间人就是会将数据进行处理、清洗等,守门人就是会判断权限。

  • 常用的中间件有如下几个,web服务器中间件有如下几个:nginxApacheTomcat

解题

因为中间件是在服务端,我们需要看的是服务端响应过来的http响应包,首先要确定百度网盘的ip110.242.69.43等这些ip地址

翻到稍微后面一点的http协议,就会看到响应包中有携带server参数,该参数里面写的是nginx

image-20251106003655320

  • 答案:
1
nginx

question6√

黑客首次登陆网盘时间是?[答案:2000-01-01 01:00:33]

首先如果是像这种登录的话,都是要传递密码和账号的,而传递密码和账号都是使用POST方法(因为GET方法作为请求头登录的话是不安全的),所以GET方法的请求头就不需要看,直接使用搜索功能。查找到首次POST出现的地方

image-20251106004523925

直接就追踪流进行分析,在这个POST请求过后就会出现

image-20251106004603180

image-20251106011225678

所以该POST参数的包就很可能是相应的登录请求包了,直接点击查看包发送的详细时间

image-20251106011321958

  • 答案:
1
2023-05-11 12:03:52

question7√

黑客上传到网盘的txt文件的md5值是?[答案:字母小写]

这题比较容易,既然有文件上传操作,那么直接导出对象看看

image-20251106011729876

直接过滤.txt,就会发现只有两个

image-20251106011802943

直接导出这两个,其中一个是上传的文件具体内容

image-20251106011820362

另一个就是上传文件的md5值

image-20251106011846867

  • 答案:
1
6a5aff7bec78dd1e4fc23e571b664b50

question8√

黑客上传到网盘的txt文件第8行的内容是?[答案:XXX]

解题方法

这题只要导出那个文件即可,但是导出的文件有包含请求头,所以要去掉前四行,从第五行开始算起。

image-20251106012157625

  • 或者可以直接看相应流量包

image-20251106012413827

  • 答案:
1
$$

补充说明

  • 该题如何确定正确的行数,突然想到不是有给md5值吗?直接去除行数算md5值,要是md5对了就是真正的行数了。
  • 一开始是这样的开头,验证md5,发现不对

image-20251106012826645

image-20251106012931020

  • 接下来一行一行去除,看看去除到哪一行md5值是正确的(注意:导出对象的后面还有一些webkit的东西也要删除)
  • 最后发现第一行是空行,所以$$是第八行。

image-20251106013527726

question9√

被入侵主机的计算机名是?[答案:XXXXXXXXXXX]

看到这题有点疑惑,为什么直接搜索DHCP就能找到主机名,怎么想到的。

首先要熟悉一下黑客的攻击流程,当黑客能RCE后就要想办法getshell,然后再远程连接该主机,进行内网渗透等操作。

在渗透的时候黑客有以下两种情况可以选择,而我们这个题目其实属于场景二

image-20251106015221976

所以直接搜索DHCP协议,DHCP协议会出现主机名称

image-20251106015418579

  • 答案:
1
WIN-BFA1TO8PTNP

question10√

被入侵电脑的数据回传端口是?[答案:11]

说实话没明白题目问的具体意思,直接把他当成被入侵电脑的传输数据的端口了,结果发现答案错的。看了视频后发现其实是被入侵电脑回传到黑客主机的什么端口。

  • 通过前面的分析其实已经了解到被入侵电脑的ip192.168.100.139,而黑客电脑ip192.168.100.141,所以直接过滤数据包
1
ip.dst==192.168.100.141 and ip.src==192.168.100.139
  • 此时黑客打到内网后,开始打ftp服务器,通过密码直接登录到了ftp服务器

image-20251106021003405

  • 接下去直接上传木马了

image-20251106021048513

  • 接着就是分析到Gh0st这个鬼东东了(然后再后续分析木马的时候也会知道)

image-20251106021237976

image-20251106021312471

image-20251106021337688

  • 答案:
1
8000

question11√

流量包中ftp服务器的用户密码是?[答案:abcd]

直接过滤出ftp协议出来,然后发现Logged on,此时其实就可以知道用户www的密码是ftp

image-20251106021621862

  • 答案:
1
ftp

question12√

流量包中ftp服务器中的木马文件的md5值是?

在连接上ftp后,继续追踪流会发现ftp服务器被上传木马了

image-20251106022112702

直接将这个木马保存下来,计算md5值

image-20251106022153737

  • 答案:
1
2a49a00a1f0b898074be95a5bbc436e3

question13√

木马文件伪造的软件版本是?[答案:0.0.0.0]

直接查看木马属性即可

image-20251106022229739

  • 答案:
1
7.5.0.1039

question14

黑客上传到网盘的压缩包解压密码是?[答案:XXXXXXXXXXX]★★★★★

question15

黑客上传到网盘的压缩包内文件的内容是?[答案:xxxxxxx]★★★★★

question16

分析技术人员电脑内的手机流量包,给出技术人员的虚拟身份账号是?[答案格式:13039456655]

question14question15那两题最后再看,现在先看question16~20,首先这个分析并不是黑客的那个流量包了。

这个流量包是技术人员电脑里面的流量包,所以我们需要仿真该电脑,或者直接用火眼去将该流量包给导出来。

question17

分析技术人员电脑内的手机流量包,给出技术人员的虚拟身份密码是?[答案格式:b3039456655]

question18

分析技术人员电脑内的手机流量包,分析技术人员的看过几段短视频?[答案格式:3]

question19

分析技术人员电脑内的手机流量包,分析技术人员最后打开的软件的程序名称是?[答案格式:微信]

question20

分析技术人员电脑内的手机流量包,分析安全防护的服务器地址是?[答案格式:127.0.0.1]

移动智能终端取证

question1√

分析卡农手机,给出手机的SDK版本?[答案格式:28]

这题火眼就梭不出来了,这里要直接使用搓,并且也不能直接把文件一键解压(耗时太久),直接访问压缩包

image-20251106154910323

打开deviceinfo.json文件,搜索sdk即可

image-20251106154812025

  • 答案:
1
30

question2

分析卡农手机,给出手机最近开机的时间?[答案格式:2023-05-18-19:09:59]

question3

分析卡农手机,给出高德地图关联的手机号是?[答案格式:13011221234]

question4

分析卡农手机,给出卡农内部聊天工具的昵称是?[答案格式:李多余]

question5

分析卡农手机,给出卡农的真实名字可能是?[答案格式:李多余]

计算机取证

question1√

黑客计算机系统安装时间是?[答案格式:2000/01/01 01:00:01]

这题就直接火眼一把梭即可

image-20251106111447630

  • 答案:
1
2023/05/10 13:31:47

question2√

黑客计算机磁盘0的总磁道数?[答案格式:数字中无标点]

这题一开始做也不知道去哪里找,看了wp才知道直接看系统信息就行了,感觉还是太依赖宏联一把梭工具了。

image-20251106112238072

question3√

黑客计算机的产品密钥是?[答案格式:字母大写]

无语了,计算机的产品密钥把它误认为BitLocker恢复密钥了。

image-20251106112736576

question4?

黑客计算机共有几次卷影拷贝服务关闭事件?[答案格式:1]

这题存疑,思路就是看日志,直接仿真机用事件查看器看即可。

解题过程

image-20251106115223306

卷影拷贝服务其实就是VSS,只要找到VSS就行了。

image-20251106115423093

  • 但是这里只有一个VSS脱机关闭日志,而答案是两个,这题存疑

VSS服务

看这篇文章做了解:卷影副本(Volume Shadow Copy)是Windows操作系统提供的一项备份和恢复功能。它允许在文件被修改或删除之前,创建文件或文件夹的副本,以便在需要时进行数据的还原和恢复。卷影副本主要有以下作用和优势 - suv789 - 博客园

question5√

黑客计算机的vc容器解密密码是?[答案格式:字母小写]

在仿真机上可以看到VC容器密码这个文件夹,但是发现vc容器密码被RSA加密过了

image-20251106115719838

这个对于密码手还比较容易的,但是还有个问题该文件只有公钥没有私钥,先不用管先把公钥提取出来再说,先导出公钥和密文

image-20251106120003224

使用Python提取公钥,发现n比较大,虽然有个小模数,但是yafu分解不出来(可能是我的yafu版本太低了)

1
2
3
4
5
6
7
8
9
10
11
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization
pub_path = r"F:\2023盘古石\pub.key"
c_path = r"F:\2023盘古石\m"
from Crypto.Util.number import *
pem = open(pub_path,'rb')
pub_key = serialization.load_pem_public_key(pem.read())
print("n =",pub_key.public_numbers())
"""
<RSAPublicNumbers(e=65537, n=18762288330807505336471569952368628968038915032364773203018829070696227411217877868952724842039756288121734420378039301563905037169196320417706839549744629044465352679919380329435329653365900312498712121432190200717072138327379844913608851715404086200984072727408758802012147296753317519612628629535373054730645471938738605688629618951071483635716677866010394704066696480858977560809007683074249820225609075518509112704549293147063971302640066331096645041521401155565628466857211261242132897152403975836705170916276159246187173035660820037820087171748591660487636434105623595720788169970861783452500198572918584010881)>
"""

使用sage尝试分解一下,发现sage可以比较快的分解出来

image-20251106122227851

那就直接正常的解密即可

1
2
3
4
5
6
7
8
9
10
11
12
13
c_path = r"F:\2023盘古石\m"
from Crypto.Util.number import *
e=65537
n=18762288330807505336471569952368628968038915032364773203018829070696227411217877868952724842039756288121734420378039301563905037169196320417706839549744629044465352679919380329435329653365900312498712121432190200717072138327379844913608851715404086200984072727408758802012147296753317519612628629535373054730645471938738605688629618951071483635716677866010394704066696480858977560809007683074249820225609075518509112704549293147063971302640066331096645041521401155565628466857211261242132897152403975836705170916276159246187173035660820037820087171748591660487636434105623595720788169970861783452500198572918584010881
p = 250527704258269
q = 74891071972884336452892671945839935839027130680745292701175368094445819328761543101567760612778187287503041052186054409602799660254304070752542327616415127619185118484301676127655806327719998855075907042722072624352495417865982621374198943186383488123852345021090112675763096388320624127451586578874243946255833495297552979177208715296225146999614483257176865867572412311362252398105201644557511678179053171328641678681062496129308882700731534684329411768904920421185529144505494827908706070460177001921614692189821267467546120600239688527687872217881231173729468019623441005792563703237475678063375349
c_ = open(c_path,'rb')
c = c_.read()
c = bytes_to_long(c)
phi = (p-1)*(q-1)
d = inverse(e,phi)
m = pow(c,d,n)
print(long_to_bytes(m))

image-20251106122523231

  • 答案:
1
byebyedisco

question6√

黑客计算机加密容器中共有几个docx文件?[答案格式:x]

有了容器密码就可以直接挂载了,现在我们要找到相应的容器,这里其实加密的是它电脑上的一个盘,这里发现有一个E盘,但是打不开。这个就是被加密的盘

image-20251106123025313

打开仿真机中的VC加密应用

image-20251106123250885

这样即可解密出被加密的磁盘

image-20251106123315422

查看被加密的磁盘里面的内容会发现有4个文档,其中有三个.docx文档

image-20251106123343541

  • 答案:
1
3

question7√

黑客计算机加密容器中记录的bt币地址有几个?[答案格式:x]

根据题目内容,直接查看容器中bt币地址与受害人这个表格即可,但是和我想的不一样。

image-20251106123627150

这个时候需要用到美亚取证大师的vc解密,火眼的vc解密有点问题

image-20251106132224028

  • 这里还要介绍一下PIM

image-20251106132252808

  • 填入PIM值和密码之后就会出现这样,输入默认PIM0以及前面的密码byebyedisco即可解密
  • 解密后翻找目录会发现这个tmp文件,导出这个文件,然后使用zip后缀,解压缩后就会看到

image-20251106132644879

image-20251106132716370

  • 点开来看,发现有4个地址

image-20251106132732797

  • 答案:
1
4

question8√

黑客计算机加密容器中记录的受害人共有多少人?[答案格式:xx]

  • 直接就看加密容器中的xlsx文件,发现有29

image-20251106132832135

  • 答案:
1
29

question9√

黑客计算机中win7虚拟机中www用户的登陆密码是?[答案格式:xxxxxxx]

这个时候就要看disk1.E01这个镜像了,发现有一个win7.7z的压缩包,原本想直接用火眼提取一下,结果发现提取不出来,直接就在资源管理器打开即可。打开后复制一份到别的地方。

image-20251106133334079

然后进行解压操作,发现该压缩包还有密码

image-20251106133740595

这个就还需要爆破密码,而爆破密码的字典是前面黑客上传的.txt文件的内容,这里有个软件比较好用Passware Kit Forensic,使用该软件进行压缩包的密钥爆破,获取地址:密码恢复神器-Passware Kit Forensic

image-20251106135434986

将文件拖入进去

image-20251106135608234

选择自定义设置

image-20251106140016379

选择字典攻击,并双击进行设置

image-20251106140035534

使用流量包的那个.txt文件

image-20251106140114185

image-20251106140142797

image-20251106140154940

image-20251106140210668

没开gpu爆还是太慢了,直接开gpu爆

image-20251106140957724

最后找到密码为zymogenesis

image-20251106141308429

然后就可以开始解压了,解压之后发现是虚拟机文件,先放入火眼去取

image-20251106141616579

将镜像文件丢给火眼就能看到密码了

image-20251106142247693

  • 答案:
1
12345678

question10√

黑客计算机中win7虚拟机中chrome浏览“bjh.com”网站保存的密码是?[答案格式:xx]

这题火眼也直接一把梭了

image-20251106142353258

  • 答案:
1
admin123!@#

question11√

分析技术人员电脑,请给出电脑系统安装时间(UTC-0)?[答案格式:20000-01-01 00:00:00]

这题也就火眼一把梭即可,转换为UTC-0

image-20251106143539007

  • 答案:
1
2023-04-19 06:10:50

question12√

分析技术人员电脑,请给出电脑内用户John的SID?[答案格式:x-x-x-x-x-x-x-x]

继续火眼一把梭

image-20251106143626828

  • 答案:
1
S-1-5-21-2950582214-2327523445-121360615-1001

question13√

据技术人员交代,其电脑连接过nas服务器,请给出该nas服务器的iqn名称?[答案格式:iqn.xxx]

其实这题在NAS服务器那边会更好得到答案,这里我采用暴力搜索的方式直接在技术人员的镜像文件里面搜索

果然是在NAS服务器会更好找到,先找到nas的全局配置,再找到目标

image-20251108001033040

image-20251108001103131

  • 答案:
1
iqn.2005-10.org.freenas.ctl:windows

question14√

分析技术人员电脑,请给出该技术人员使用的隐写工具名称?[答案格式:xx]

这个实际上隐写工具应该是没在电脑上,只能看一些记录,发现这个oursecret

image-20251106145725235

  • 答案:
1
oursecret

question15√

接上题,请给出使用该隐写工具隐写文件所使用的密码?[答案格式:xx]

由于隐写工具其实只有记录在该电脑上,所以密码的话也是纯找,首先我们要将查看隐藏文件开起来

image-20251106150231455

然后到onedirve这边有一个新建文档.txt

image-20251106150302624

里面就有一个密码,该密码就是隐写密码

image-20251106150318040

  • 答案:
1
caiwu

question16√

据技术人员交代,其电脑内存过一个名为“财务流水.rar”的文件,请给出该文件的SHA-1?[答案格式:字母小写]

这题要起NAS,暂时先鸽一下。

当NAS服务一起(并且虚拟化有开),技术人员的电脑马上就会出现一个神秘E盘

image-20251108001335601

在里面会有一个神秘小视频,这个其实是隐写的东西

image-20251108002407965

还会找到一个隐写的工具

image-20251108002444022

打开后选择前面那个视频,密码输入caiwu,然后解除隐写

image-20251108002547752

提取出来一个财务.rar文件这个就是我们要找的文件

image-20251108002651294

接下来就是计算哈希中值了

image-20251108003216790

image-20251108003233424

  • 答案:
1
ac6d658f42915bda02c13f890e47bc08b6736a24

服务器取证

做服务器取证需要用上前面技术人员电脑,然后使用NAS服务器检材起服务。

前提准备——火眼梭

先将NAS的镜像文件导入到火眼中,先取点东西看看

image-20251106233644935

发现取不到啥东东

image-20251106233740266

前提准备——NAS仿真

将镜像全导入到火眼仿真

image-20251106233919961

操作系统检测会检测失败系统类别,不过NAS一般都是Linux

image-20251106234016902

注意:由于我们在技术人员谷歌浏览器中可以看到NASip192.168.91.129,那我们仿真起来的服务器最好也是这个ip,这样就可以少配置很多东西。所以我们需要设置一下虚拟机的网络

image-20251106234453252

将仅主机模式的子网设置为192.168.91.0

image-20251106234548388

然后DHCP设置为,设置完后点击应用再开启NAS服务器

image-20251106234619756

启动起来NAS后就会发现NAS的ip和原来保持一致,这样就方便很多,接下来就是登录一下

image-20251106234922129

接下来就登录进去了

image-20251106235041771

并且web服务也开启来了,我们在宿主机中访问http://192.168.91.129/就可以进入到web登录界面

image-20251106235210215

question1取到的账户和密码去登录这个就能进入到页面了

image-20251106235300559

  • 然后先修改一下语言,这样应该会更看得懂

image-20251107124233005

image-20251107124316316

question1√

请分析服务器,给出NAS服务器系统账号密码?[答案格式:xx@xx]

直接先看技术人员检材中的谷歌浏览器这边,发现有个保存的账号密码rootP@88w0rd,所以NAS服务器系统账号密码就是这个

image-20251106233220495

  • 答案:
1
root@P@88w0rd

question2√

请分析服务器,给出NAS服务器的版本信息?[答案格式:xx-xx-xx]

搭建好NAS服务器,进入web页面后登录即可看到NAS服务器的版本信息

image-20251106235345208

  • 答案:
1
TrueNAS-13.0-U4

question3√

请分析服务器,给出NAS服务器内用户SMB的邮箱?[答案格式:xx@xx]

在web页面这边可以看到除了root用户外,还有一个smb用户

image-20251106235434577

下拉就能看到它的邮箱

image-20251106235532013

  • 答案:
1
smb@paofen.com

question4√

请分析服务器,给出NAS服务器系统告警服务使用的邮箱?[答案格式:xx@xx]

直接定位到System->Alert Services这边

image-20251106235635534

选择编辑

image-20251106235717050

就能看到警告邮箱了

image-20251106235732670

question5√

请分析服务器,给出NAS服务器内存储池名?[答案格式:xxx]

直接定位到Storage->Pools就可以看到vol

image-20251106235911193

  • 答案:
1
vol

question6√

请分析服务器,给出NAS服务器内有几个数据集和几个Zvol?[答案格式:0,0]

这题一开始也是看得懵懵的,数据集是什么,Zvol又是什么,看了wp才知道就是第五问的那个界面。

然后点击设置就会看到有Zvol动作,所以应该是有3个Zvol

image-20251107124752720

同样的会有一个数据集动作

image-20251107124846321

  • 答案:
1
2,3

question7√

请分析服务器,给出该NAS服务器存储监听IP和端口?[答案格式:192.168.1.1:8080]

这题还是不知道存储监听是什么东西,然后看视频发现是这个位置,共享模块算是存储监听

image-20251107125056795

然后点到Portals这个位置就发现了监听

image-20251107125134136

  • 答案:
1
0.0.0.0:3260

question8√

请分析服务器,给出NAS服务器内iSCSI目标为web的连接所使用的启动器组ID?[答案格式:xx]

还是定位到问题7的那个模块中,发现有个目标,并且目标中有个web

image-20251107125303744

点击编辑界面

image-20251107125328862

就会发现启动容器组id

image-20251107125344894

  • 答案:
1
2

question9?

请分析服务器,给出web服务器连接NAS服务器所使用的iqn?[答案格式:iqn.xxx]

这个感觉是偏常识题,如果找的话是没找到正确答案的。视频up认为这里是正确的

image-20251107130630785

  • 但是题目的正确答案是:
1
iqn.2005-10.org.freenas.ctl:web
  • 个人认为可能确实正确答案是:iqn.2005-10.org.freenas.ctl:web,因为iqn.1994-05.com.redhat:45a66afe8867更像是NAS服务用来标识web服务的
  • 而web服务用来连接nas服务的应该是nas的全局配置,然后加上目标web,也就是iqn.2005-10.org.freenas.ctl:web

image-20251107131439848

question10√

请分析服务器,给出web服务器连接NAS服务器所使用的账号和密码?[答案格式:root/123]

还是定位到问题七那个界面的Authorized Access这个界面

image-20251107130426222

image-20251107130452534

image-20251107130458516

  • 答案:
1
user/202305140921

网站重构改web服务器密码

接下来就是一些web服务器的取证相关的题目了,但是这题比较坑点的地方就是web服务器没有启动,并且可能还涉及到嵌套虚拟化,也就是NAS这个服务器如果使用VMware仿真的话就需要开启vt虚拟化了。(对于我来说这里真比较恶心,因为我基本上现在转wsl2了,所以虚拟机开不了VT虚拟化,需要把Windows的那个虚拟化给关了才行QAQ),因为之前用qemu的时候有研究过这些东西所以对虚拟化还是比较了解的。

image-20251107132105785

接下来先关机开个虚拟化(不过还有个比较难绷的点就是Windows的那个虚拟化会改变机器码,导致虚拟化后取证软件全部要重新认证))

启动vt虚拟化,顺便把处理器数量之类的拉高一点要不然嵌套虚拟化会导致虚拟机很卡。

image-20251107133329489

重启之后发现ip没问题

image-20251107133544734

  • 启用虚拟化后就可以开启web服务的那个虚拟机了

image-20251107133618644

image-20251107133645029

启动后需要按e键,进入单用户模式去改密码

image-20251107134241927

把这边都删除

image-20251107134329357

然后将ro变成rw

image-20251107134705351

然后再添加这么一句,添加好后ctrl+X

image-20251107134829749

然后登录界面后输入如下指令chroot /sysroot

image-20251107135045235

然后还要修改这个文件

image-20251107135232615

这个文件这边是enforcing,我们要将它变成disabled

image-20251107135316764

最后就是修改密码,也就是修改/etc/passwd文件

image-20251107135529056

先将root默认运行的终端改为bin/bash

image-20251107135607563

然后再使用passwd命令修改密码,新密码为123456

image-20251107135653400

修改完之后重新启动

image-20251107135751839

修改配置之后要等一会儿才能重启服务器,在等待的过程中可以先修改db服务器的密码。

网站重构改db服务器密码

该db服务器密码也是和前面一样的。操作这里就不详细说明了。

ssh远程连接

现在直接使用mobax连接web服务器

image-20251107143718893

image-20251107143848963

进入db服务器,查看其ip地址与ssh端口,也使用moba远程连接

image-20251107151931801

image-20251107151954584

挂载目录

  • 接下来回到web服务器那边,发现www目录没有东西,由于这是nas服务器,所以可能很多东西都存在nas盘中

image-20251107152221739

  • 这个时候我们先需要看NAS的这个iSCSI服务开启,开启后我们需要重启一下web的虚拟机(最好db服务器也重启一下,因为现在不重启后面重构网站的时候也要重启的。)

image-20251107152607316

重启完之后就会发现有一个sdbsdb1是新出现的盘符

image-20251107153254390

接下来就是挂载盘符,使用mount /dev/sdb1 /www命令,然后再进入www就会看到有文件了

image-20251107153640473

question11√

请分析服务器,给出redis所使用的配置文件?[答案格式:/home/1.conf]

进入web服务器后就可以看到redis服务器所使用的配置文件位置/etc/redis.conf

image-20251107142400522

  • 答案:
1
/etc/redis.conf
  • 如果要是不知道目录的话直接使用find命令从根目录开始寻找名字

image-20251107153817475

  • 如果不知道redis.conf的后缀就直接使用正则表达式find

image-20251107153938715

question12√

请分析服务器,给出跑分网站后台根目录?[答案格式:/xx/xx]

这个需要直接看中间件nginx的配置文件,在/etc/nginx/conf.dnginx中网站的配置文件

image-20251107154522096

题目说是后台根目录,所以需要看的是admin.paofen.con.conf

image-20251107154646608

  • 答案:
1
/www/admin.paofen.com/public

question13√

请分析服务器,嫌疑人所使用的跑分系统可能来自哪,请给出网站?[答案格式:www.baidu.com]

这个就需要分析跑分网站的源码,才能知道框架之类的最终确定出处,进入到/www/admin.paofen.com/app,找到config.php文件,该文件配置网站的时候是一定要修改的,所以很大可能会宣传什么东西或者声明版权之类的。

image-20251107155030757

  • 答案:
1
www.98sucai.com

question14√

请分析服务器,给出数据库root账号密码?[答案格式:password]

这题就需要去翻找数据库服务器了,在查看数据库服务器的时候就会发现一个backup.shshell脚本文件,但是打开这个文件发现是乱码,这个脚本文件被加密了

image-20251107155723539

而这个被加密后变成了一个自解压运行运行的一个shell脚本文件,其实我们在前面的这个sh文件的前面的内容就能看出,加密它的软件是gzexe

image-20251107160010618

所以我们需要使用gzexe -d backup.sh命令进行解密操作,这样就能看到原来的shell里面的内容

image-20251107160058100

  • 答案:
1
3W.pa0fen.com

question15√

请分析服务器,给出数据库备份文件存放路径?[答案格式:/xx/xxx]

这个是个细节题,因为如果纯去找的话是找不到的,应该认真看上面的解密shell脚本的内容,这个时候就会发现备份路径也是在shell脚本中的

image-20251107160803761

  • 答案:
1
/data/mysql_back
  • 如果去翻找data目录的话发现是没东西的

image-20251107160838939

question16√

请分析服务器,给出数据库备份文件解压密码?[答案格式:password]

还是继续看这个shell脚本的具体内容,就会发现有一个这个命令

image-20251107161012687

  • 答案:
1
p@ssw0rd

question17√

请分析服务器,给出数据库备份文件间隔多少天会删除?[答案格式:1]

还是继续看shell脚本文件,在开头有指定备份天数为45

image-20251107161146702

question18√

请分析服务器,给出数据库每天几点会执行备份操作?[答案格式:00:00]

这个时候就需要查看计划任务,看shell脚本没用了。看计划任务就会知道什么时候操作系统会执行shell,看计划任务的命令为:crontab -l,查看后就会发现

image-20251107161510551

但是发现看不来格式,所以直接问AI了

image-20251107161624185

  • 答案:
1
02:00

重构web网站1

接下来就要把web网站重构起来,先看看nginx等一些中间件服务有没已经在运行了,发现并没有。那启这个网站就要一个一个服务起起来了,而不是只需要开个web服务就能用网站了

image-20251107184953439

先开启nginx服务

image-20251107185120698

接下来启动php服务

image-20251107185314303

接下来打开php的fpm服务

image-20251107185423387

进入www文件目录,然后修改文件的初始组

image-20251107185613172

然后进入redis日志文件目录下cd /var/log/redis

image-20251107185712773

继续修改初始组,修改完成之后启动redis服务

image-20251107185837526

然后修改php的一些配置文件,主要是将web服务于数据库连接起来,在这个目录下找到database.php

image-20251107190034625

查看database.php后发现是这样的一个服务器地址,将其修改为数据库服务器的ip地址

image-20251107190121149

image-20251107190152177

image-20251107190242424

然后再查看数据库服务器的那个端口和密码,将端口和密码都修改了,数据库名应该也有问题

image-20251107190443552

image-20251107190611614

全修改完之后如下所示

image-20251107190634602

这里我之前没有重启,导致db服务器没有挂载nas的盘,导致有些数据加载不出来。所以要重启一下,重启之后发现有sdb1

image-20251107191858434

接下来就是关闭防火墙服务

image-20251107191909001

接下来就将这个sdb1挂载到/data目录下,发现有mysql的备份

image-20251107192035696

image-20251107192050433

image-20251107192425977

接下来就是要将数据库备份0515这个压缩包解压,需要用到之前的密码之前的压缩命令如下:

1
tar -czPf - $BAK_DATE | openssl des3 -salt -k p@ssw0rd -out db_backup_${BAK_DATE}.tar.gz
  • 那么我们解压命令就要是这样

image-20251107193144425

1
openssl des3 -d -k p@ssw0rd -in /data/mysql_back/db_backup_20230515.tar.gz | tar -xzPf -

image-20251107193346799

然后把mysql服务先打开

image-20251107194223278

接下来就是利用数据库备份文件修复数据库,使用命令,然后输入密码为3W.pa0fen.com

1
mysql -uroot -p paofen < ./paofen.sql

image-20251107193615263

image-20251107194318584

接下来就是进入一下数据库mysql -uroot -p3W.pa0fen.com,输入命令来开启mysql的一些日志

1
2
set global general_log = ON;
set global general_log_file="/tmp/general.log"

配置好后将web服务器也给关了,然后访问http://192.168.91.141:8083/admin.php就可以跳转到后台登录界面了。

image-20251107203827730

然后使用navicat连接数据库

image-20251107204058863

发现admin的密码不是明文存储

image-20251107204136759

直接去修改php源码在这个路径下/www/admin.paofen.com/app/admin/controller/发现有调用一个函数来处理用户和密码

image-20251107204717928

之后再/www/admin.paofen.com/app/admin/logic/目录下找到了login.php文件,找到这个判断文件,直接将判断$password等于的变成不等于,接下来尝试登录

image-20251107204808799

image-20251107212031481

修改登录逻辑后就可以直接登录成功了

image-20251107212049032

question19√

请分析服务器,给出跑分网站后台用户余额总计?[答案格式:1000]

重构完网站就能看到

image-20251107212130413

  • 答案:
1
7459848

question20√

请分析服务器,给出跑分平台后台未处理的用户申请有多少个?[答案格式:1000]

一开始不同明白后天是什么鬼,后来反映过来是后台,应该是24+0+0=24

image-20251107212513100

  • 答案:
1
24

question21√

请分析服务器,给出会员聂鸿熙推荐人的姓名?[答案格式:张三]

直接找到会员列表,搜索聂鸿熙,找到推荐人

image-20251107212826585

  • 答案:
1
针长兴

question22√

请分析服务器,给出给出跑分平台内用户银行卡所属银行共有几家?[答案格式:10]

直接翻数据库,找到user_bank

image-20251107213618543

使用sql查询语句进行查询操作和去重操作

1
SELECT COUNT(DISTINCT bank_name) FROM `ob_user_bank`

image-20251107213709906

question23√

接上题,请给出这些银行中用户数最多的银行名称?[答案格式:xx银行]

继续在ob_user_bank数据库中进行查询

1
2
3
SELECT bank_name, COUNT(*) AS total
FROM ob_user_bank
GROUP BY bank_name;

image-20251107214545009

  • 答案:
1
农业银行

question24√

请分析服务器,给出用户“祝虹雨”通过审核的充值总额?[答案格式:10]

先在数据库中找到他的相关信息

1
SELECT * FROM `ob_user` WHERE real_name = '祝虹雨'

image-20251107215116565

image-20251107220736539

然后直接查询

1
SELECT SUM(money) FROM `ob_charge_log` WHERE name='祝虹雨' AND `status`=1

image-20251107220903859

重构web网站2

接下来就是另一个网站了,因为翻看web服务器的www目录会发现不仅有admin.paofen.com还有一个3w.paofen.com(其实不是这个网站,而是在另一个服务器中有hy.paofen.com),并且之前还看到了nginx上面开放了8084端口

image-20251107221601305

image-20251107222156517

接下来要打开这个虚拟机,要调一下线程和内存

image-20251107221722608

开启后还是要像之前一样改密码,启动起来后直接ssh连接

image-20251107230342257

发现这个服务器上有宝塔

image-20251107230553585

直接取消一些宝塔的登录限制,并且修改密码

image-20251107230845543

直接访问网站

image-20251107230943750

image-20251107231050679

开3个服务网址太卡了,直接看数据库吧,发现数据库还有个备份,发现这边的数据库服务已经起起来了

image-20251107231519335

image-20251107231601747

直接修改权限连接数据库,发现用原始密码半天登不进去,直接该密吧,还得关闭一下防火墙(或者直接通过面板访问就行,还是太卡了直接把db服务器关了)

image-20251107231628478

image-20251107232121491

  • 连接后发现是空表,那就直接恢复数据库

image-20251107232949443

image-20251107233006131

其实这里网站已经起起来了,只是宝塔没有域名解析到,直接访问对应的ip地址即可,由于之前修改了数据库密码,现在还要修改一下数据库密码才能正常访问网站

image-20251107234952916

然后查看一下nginx的三个端口888不行、80也不行

image-20251107235050075

image-20251107235110663

image-20251107235140564

发现8085可以,但是网站好像没起来

image-20251107235203184

宝塔加载这个要加载非常久,最后还会错误提示,之后启动一下就行

image-20251107235711387

image-20251107235723800

发现能访问了

image-20251107235747432

  • 在这个目录下找到了一个比较奇怪的文件名,这个应该就是admin登录页面了

image-20251108000131716

  • 发现是的

image-20251108000224405

question25√

请分析服务器,给出该跑分团队可能的办公大楼有几个?[答案格式:1]

恢复数据库后翻找数据库,发现拥有两个会议,那应该有两个办公大楼

image-20251107233215324

  • 其实更准确的应该在这个表

image-20251107233325493

  • 答案:
1
2

question26√

请分析服务器,给出用户John共提了几次会议预约申请,通过了几个?[答案格式:1,1]

看到这个表,看就行

image-20251107233403379

image-20251107233458164

image-20251107233648403

  • 答案:
1
9,3

question27√

接上题,用户John哪个时间段的会议预约申请次数最多[答案格式:2000-01-01 00:00-00:00]

这题尝试了好几次

image-20251107233731644

  • 答案:
1
2023-05-15 16:00-16:59

question28√

请分析服务器,给出用户Harvey预约了什么时间的会议?[答案格式:2000-01-01 00:00-00:00]

这题应该Harvey是预约5-17的日期(应该把网站起起来会更好)

image-20251107233939662

question29√

会议管理系统的后台登陆地址是[答案格式:www.baidu.com:8080/login.php]

image-20251108000318181

  • 答案:
1
hy.paofen.com:8085/dkewl.php

物联取证

直接开始手撕,手撕之前先要使用binwalk看看偏移之类。

image-20251106205801721

question1√

分析扫地机器人数据,robot1.bin采用的压缩算法是?[答案格式:xxxx]

在用binwalk分析robot1.bin的时候就可以知道了

image-20251106205831979

  • 答案:
1
LZMA

question2√

扫地机器人使用的软件版本是?[答案格式:0.0.0]

确定完一些偏移之后,现在就可以直接用winhex打开。然后直接搜索version

image-20251106210420160

  • 答案:
1
3.1.0

question3√

扫地机器人id是?[答案格式:21243245838790]

继续硬搜,搜索id字样,继续搜索就会搜索到

image-20251106210735520

question4√

扫地机器人云证书的前6位是?[答案格式:sdfead]

继续搜索,我们知道证书的英文是certificate,直接搜索cer即可,一搜就得到

image-20251106210916303

  • 答案:
1
MIIDnj

question5√

扫地机器人连接过的wifi的ssid是(channl1)?[答案格式:xx_xx_xx]

继续暴力硬搜ssid,一搜就到,然后注意U不能算进去,应该会有考虑到内存对齐之类的。

image-20251106211117258

  • 答案:
1
ELPASO_TPLINK_C04A00BD0769

question6√

扫地机器人连接过的wifi的密码是(channl1)?[答案格式:xxxx]

就是在ssid下面就是,要注意从哪里到哪里(这个是坑点)

image-20251106211247772

  • 答案:
1
admin123

question7√

扫地机器人的时区是?[答案格式:xx/xx]

一开始我是直接搜索关键词utc,发现没有符合答案格式的结果,后来就直接搜索关键字time,出现了结果

image-20251106211723325

  • 答案:
1
America/Denver

question8√

扫地机器人的名称是?[答案格式:xxxxx]

继续暴力搜索,使用关键字搜索name,从前面这么多题就会发现该bin文件的字符串一般都是以U结尾的。

image-20251106211834948

question9√

无人机飞行纬度前两位是?[答案格式:xx]

接下来就是无人机的了,直接binwalk继续确定偏移,发现无人机不是给的固件,而是给两张图片,直接查看图片的exif信息

image-20251106213232162

  • 答案:
1
31

question10√

无人机的快门速度是?[答案格式:x/xxx]

该单位应该是秒,一开始我还以为/后面是单位,结果是速度用分数表示,还是继续看exif

image-20251106213828431

  • 答案:
1
1/400

question11√

分析智能门锁数据包,请给出用户“wonderful”首次开门时间?[答案格式:2000-01-01 00:00-00:00]

接下来分析智能门锁文件,发现该压缩包给的是caseinfo.json文件,以及一些文件

image-20251106213936191

image-20251106214015331

直接使用vscode打开该文件夹,然后暴力搜索即可,发现没有,后来直接找到了这个数据库

image-20251106215735705

image-20251106215744489

  • 答案:
1
2023-02-17 18:56:38

question12√

分析智能门锁数据包,请给出智能门锁MAC地址?[答案格式:字母大写]

继续暴力搜索mac

image-20251106215148487

  • 答案:
1
E8:BD:63:D0:6F:AD

二进制文件分析

首先这个二进制程序是在黑客电脑中的,对应的一个就是前面流量分析中setup.exe相当于木马软件,第二个就是控制端.exe这个程序。

image-20251106231259229

  • 在问题中有明确给出这两个程序的称呼,一个是木马程序也就是setup.exe、另一个是控制程序也就是控制端.exe。(一开始我还以为是GHOST2011.exe)是控制端程序,感觉这个像是代理。
  • 而前五题专门是分析控制程序的,而后五题专门是分析木马程序的。前五题考python逆向、后五题考exe逆向。

question1

分析黑客电脑,控制端程序传输协议是什么协议?[答案格式:http]

question2

分析黑客电脑,控制端程序接收数据缓冲区大小是多少?[答案格式:100]

question3

分析黑客电脑,控制端程序接收并判断几种指令?[答案格式:1]

question4

分析黑客电脑,控制端程序连接结束指令是什么?[答案格式:xxx]

question5

分析黑客电脑,控制端程序配置文件解密函数是什么?[答案格式:x_x]

question6

分析黑客的木马程序,该程序控制端ip是?[答案格式:127.0.0.1]

question7

分析黑客的木马程序,程序在地址0x00410CA4处调用了Sleep函数,请问该函数会暂停几秒?[答案格式:3]

question8

分析黑客的木马程序,该程序“png”型资源下有两张图片,程序图标对应图片的MD5值是?[答案格式:字母小写]

question9

分析黑客的木马程序,哪个函数直接调用了HOST型资源?[答案格式:sub_1234]

question10

分析黑客的木马程序,该程序会绕过哪个杀毒软件?[答案格式:腾讯]