第一题 flow analysis 1
服务器附带的后门文件名是什么?(包括文件后缀)
Windows后门是指当攻击者通过某种手段已经拿到服务器的控制权之后,然后通过在服务器上放置一些后门(脚本、进程、连接之类),来方便以后持久性的入侵。
攻击者在入侵了一个网站后,通常会将asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。攻击者通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。
http.request.method==POST
我们筛选出来post的http流
点开第一个文件,我们追踪http流
base64解码后发现上传了个一句话木马上去
post传了一个door.php上去,应该就是ViewMore.php
ViewMore.php写了door.php,door.php执行了命令
md5加密后得到flag
第二题 flow analysis 2
服务器的内部 IP 地址是什么?
服务器内部ip
不能用于域名解析。
不可以直接用于服务器远程登录,其主要作用是:跟当前帐号下的其他同集群的机器通信。
依旧是筛选post流
http.request.method==POST
在其中一个流里面发现了ifconfig命令
ipconfig是Windows下可看到本机IP地址的各种信息的一个命令,Linux下为ifconfig
肯定是下面的ip地址,所以ip地址为192.168.101.132
第三题 flow analysis 3
攻击者写入服务器的密钥是什么?
我们在这个流里面发现了k3y_file
尝试base64解码后发现解码后是乱码
我们可以用python脚本直接将这段代码转换为zip文件
代码为
- from base64 import *
-
- base64_data = 'UEsDBBQAAQAAANgDvlTRoSUSMAAAACQAAAAHAAAAa2V5LnR4dGYJZVtgRzdJtOnW1ycl/O/AJ0rmzwNXxqbCRUq2LQid0gO2yXaPBcc9baLIAwnQ71BLAQI/ABQAAQAAANgDvlTRoSUSMAAAACQAAAAHACQAAAAAAAAAIAAAAAAAAABrZXkudHh0CgAgAAAAAAABABgAOg7Zcnlz2AE6DtlyeXPYAfldXhh5c9gBUEsFBgAAAAABAAEAWQAAAFUAAAAAAA=='
- with open('k3y_file.zip', 'wb') as f:
- f.write(b64decode(base64_data))
脚本执行成功后,我们就可以在桌面上找到被转换成功的k3y_file.zip文件
但是打开文件需要密码
回去刚刚那个流里面找线索,发现了cat passwd等字眼,找到了类似密码的东西
输入后一看果然打开了txt文件
所以写入服务器的密钥为7d9ddff2-2d67-4eba-9e48-b91c26c42337
第四题 Forensics 1
磁盘中的密钥是什么?
相关知识链接:CTF取证总结(内存取证,磁盘取证)以及例题复现_ctf 取证_OceanSec的博客-CSDN博客
ROT47 位移编码:对数字、字母、常用符号进行编码,按照它们的ASCII值进行位置替换,用当前字符ASCII值往前数的第47位对应字符替换当前字符,例如当前为小写字母z,编码后变成大写字母K,当前为数字0,编码后变成符号_。 用于ROT47编码的字符其ASCII值范围是33-126
python vol.py -f [image] ‐-profile=[profile][plugin] 命令
其中 -f 后面加的是要取证的文件, --profile 后加的是工具识别出的系统版本, [plugin] 是指使用的插件,其中默认存在一些插件,另外还可以自己下载一些插件扩充
我们首先要知道磁盘的系统版本是什么(我的vol2是基于Windows下的)
在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统 命令imageinfo即可获取镜像信息。
Volatility -f xxx.vmem imageinfo
我们猜测是Win7SP1x64系统
在查到操作系统后如果不确定可以使用以下命令查看
volatility - f xxx.vmem --profile= [操作系统] volshell
volatility -f 2023exam.raw --profile=Win7SP1x64 filescan | grep key
文件扫描,筛选出包含"key"关键字的结果。
volatility -f 2023exam.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003df94070 -D ./1
这个命令的意思是使用 Volatility 插件 dumpfiles
,通过提供的 --profile
参数指定操作系统配置文件为 Win7SP1x64
,读取 2023exam.raw
文件中的内存映像。然后,使用 -Q
参数指定一个物理地址 0x000000003df94070
来提取相关的文件。最后,使用 -D
参数指定将提取的文件保存在当前目录的 ./1
文件夹中。
我们在volatility安装目录下新建了个空文件夹1,我们现在可以看到1文件夹里面已经有我们导出的key.txt
rot47解码后得到
所以key为2e80307085fd2b5c49c968c323ee25d5
第五题 Forensics 2
volatility -f 2023exam.raw --profile=Win7SP1x64 psscan
在第一行我们找到了calc.exe
volatility -f 2023exam.raw --profile=Win7SP1x64 memdump -p 2844 -D ./1
分析内存映像文件中进程ID为2844的进程的内存转储。
memdump
: 是一个插件,用于从内存映像中转储指定进程的内存。-p 2844
: 指定要转储内存的进程ID为2844。-D ./1
: 指定转储的内存文件保存路径为当前目录下的1文件夹。我们在1文件夹里面发现了2844.dmp
dmp文件是系统错误的内存转储文件。当电脑蓝屏或系统崩溃时,Windows会将错误报告存储在一个后缀名为“.DMP”的文件里。该文件记录了系统错误的详细信息,技术人员可以分析它找到系统崩溃的原因,从而解决问题
使用这是 Volatility 3 工具的插件命令windows
,用于执行与 Windows 相关的分析。通过运行此命令,您将获取有关内存转储中运行的 Windows 进程、模块、文件和注册表等信息
windows
:这个部分是Volatility工具的插件或模块的名称,它告诉工具要执行与Windows操作系统相关的分析。
> ./1/windows
:这是将分析结果输出到名为"windows"的文件中的命令
>
符号表示将命令的输出重定向到指定的文件。在这里,结果将保存在名为"windows"的文件中,相对路径是"./1/windows",这意味着它将保存在当前工作目录下的一个名为"1"的子目录中。
用记事本打开文件,在其中寻找calc.exe
和PID为2844的,找到这个Windows Handler
的句柄名
运行结果为7598632541
另外一种方法就是844.dmp
修改后缀为GIMP可加载的.data
格式,使用GIMP打开,然后就是不断地调整位移、宽度。先不断调整位移使之有图像的阴影等,然后宽度适当即可
图片来源:2023第二届陇剑杯网络安全大赛 预选赛Writeup_陇剑杯writeup_末 初的博客-CSDN博客
第六题 Forensics 3
此内存文件中存在的flag值是什么?
SNT 文件大多属于 Microsoft 的 Sticky Notes。 SNT 文件是使用与 Windows 桌面捆绑的 Sticky Notes 笔记应用程序创建的便签。单个 SNT 文件包含文本以及嵌入媒体,例如超链接或图像。另一种类型的 SNT 文件包含 Amnesia: The Dark Descent 视频游戏中使用的音频剪辑的配置。
volatility -f 2023exam.raw --profile=Win7SP1x64 filescan | grep ".snt"
volatility -f 2023exam.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003dfc3d10 -D ./1
到这没思路了
用010editor打开raw文件看看
发现了特殊字符
U2FsdGVkX195MCsw0ANs6/Vkjibq89YlmnDdY/dCNKRkixvAP6+B5ImXr2VIqBSp\par
94qfIcjQhDxPgr9G4u++pA==
发现是aes加密
密钥可能是qwerasdf
解密得到