玄机靶场 | 流量特征分析-蚂蚁爱上树

前言

玄机靶场日常刷题训练,刚好重温一下蚁剑流量分析和mimikatz用法

知识准备

蚁剑流量特征

每个请求体通常以@ini_set("display_errors", "0");@set_time_limit(0);开头

请求体包含base64编码内容

响应包一般是明文,但也可能存在加密情况,结果通常为随机字符和返回结果

Content-Type通常为 application/x-www-form-urlencoded,表明数据是以标准表单形式编码的

mimikatz简单用法

先用procdump抓取lsass转储文件

  1. 获取lsass进程id
1
tasklist /svc | findstr lsass.exe
  1. 抓取 lsass.dmp 文件
1
procdump64.exe -accepteula -ma <LSASS_PID> lsass.dmp

然后mimikatz解密lsass.dmp文件

  1. 特权提升
1
mimikatz # privilege::debug
  1. 加载dmp文件
1
mimikatz # sekurlsa::minidump lsass.dmp
  1. 凭据提取,导出其中的明文密码
1
mimikatz # sekurlsa::logonpasswords

索引

玄机题目

步骤#1

管理员Admin账号的密码是什么?

首先通过语法筛选出http流量并过滤掉404状态码的流量包

1
http and !(http.response.code == 404)

然后快速分析一遍流量,发现product2.php有问题

这里涉及到一句话木马,可以确定这个就是webshell文件,然后解码请求包的base64内容

左下解码处选择Base64,可以看到解码后的内容符合蚁剑特征,因此确定这是以蚁剑为媒介的一次攻击行为

因为蚁剑与网站是通过POST方法进行通信的,所以我们重新改进一下筛选语法,直接筛选出方法为POST且包含文件名product2.php的流量,可以缩小分析范围

1
http.request.method == POST and http.request.uri contains "product2.php"

逐个分析流量,解码base64数据,因为蚁剑的特性,前两位是随机值,所以开始位置调整为2,最后发现No.15190数据包有问题

执行了系统命令net user admin Password1 /add,也就是添加一个名为admin的用户,然后密码设置为Password1,但是此时该用户并不是管理员,分析下一个数据包,可以看到

攻击者将admin用户添加进本地管理员组,从此刻起该用户admin才具有管理员权限

因此答案就是这个用户的密码

1
flag{Password1}

步骤#2

LSASS.exe的程序进程ID是多少?

继续分析流量,发现No.4069数据包有问题

可以看到攻击者执行了命令

1
rundll32.exe comsvcs.dll, MiniDump 852 C:\Temp\OnlineShopBackup.zip full

我们分析一下

  • rundll32.exe: 这是一个 Windows 系统程序,用于运行 DLL(动态链接库)文件中的函数。它本身不执行任何操作,而是作为调用 DLL 函数的宿主

  • comsvcs.dll: 这是一个系统 DLL 文件,包含了 COM+ 服务相关的函数。在这个命令中,它被用来调用其内部的 MiniDump 函数

  • MiniDump: 这是 comsvcs.dll 中的一个函数,用于创建指定进程的内存转储。内存转储是进程在某个时间点的内存快照,通常用于调试或故障排除

  • 852: 这是要进行内存转储的进程的 PID(进程 ID)

  • C:\Temp\OnlineShopBackup.zip: 这是内存转储文件的输出路径和文件名。尽管文件名是 .zip,但它实际上是一个原始的内存转储文件,并不是一个压缩文件

  • full: 这是一个参数,指定了内存转储的类型。表示创建一个完整的内存转储,包含进程的所有内存信息。其他参数还包括 mini (较小的转储) 或 heap (只包含堆信息) 等

简而言之,这条命令就是先找到 PID 为 852 的进程,然后创建一个该进程的完整内存快照,并将这个内存快照保存到C:\Temp\OnlineShopBackup.zip文件中

因此LSASS.exe的程序进程ID就是852

1
flag{852}

步骤#3

用户WIN101的密码是什么?

要获取用户WIN101的密码,需要我们把前面提到的完整内存快照下载下来,也就是OnlineShopBackup.zip,然后用mimikatz分析

因此我们需要导出http对象

文本过滤器输入product2.php,缩小对象范围,同时按照大小降序来排列,因为dmp文件比较大

可以看到第一个文件大小为47MB,就是我们要找的dmp文件,导出到桌面,用010editor打开验证

开头显示MDMP,可以确定是dmp文件,但是前面多了e1c1709这几个字符,直接放入mimikatz解密会报错,因此需要先删掉,然后将文件后缀改为dmp,放到跟mimikatz同一个目录

记得mimikatz以管理员身份运行

运行命令获取系统密码

1
2
sekurlsa::minidump product2.dmp
sekurlsa::logonpasswords

然后找到用户名为win101的NTLM哈希值

得到哈希值为

1
282d975e35846022476068ab5a3d72df

对NTLM的md5解密即可

1
flag{admin#123}

参考

momo安全:https://mp.weixin.qq.com/s/KgkilGEUmle5P_KvzAjDmw

玄机靶场 | 流量特征分析-蚂蚁爱上树

https://waynejoon.github.io/posts/Xuanji-CTF-AntSword-and-Mimikatz/

作者

WayneJoon.H

发布于

2025-07-31

许可协议