MENU

关于绕过卡巴进程保护的一些总结

March 20, 2020 • Read: 1708 • 后渗透阅读设置

0x00 前言

前两天朋友去面试极光等一些企业遇到了一些问题记录了下来,问我有没有什么想法。问题是关于域管登录过的域内主机,卡巴之类的杀软保护了lsass进程,有哪些方法可以读取域管的明文密码。

想了想那肯定不能直接用procdump这种直接去转存,那么该怎么办呢,一时间挺迷茫的。

0x01 方法

1.kill掉杀软保护的进程

首先想到的就是关掉杀软的进程,但是肯定要高权限,但是之前尝试内网渗透时遇到了某数字...提权到system也并不能关掉数字的某些进程,所以觉得此处有坑,驱动级的工具应该可以直接搞掉,对症下药吧。

2.通过蓝屏获取memory.dmp绕过卡巴

深夜扒土司扒博客,找到了大佬的文章通过Windows蓝屏文件来绕过kaspersky的内存保护抓密码

这种可行,虚拟机测试了下,让系统蓝屏的方式有很多种,结束掉一些系统进程就可以了,比如dcom服务进程,wininit.exe进程等。

但是这里还有另外一个问题,开始的时候我转存找不到lsass。看土司上大佬的帖子说,系统默认在蓝屏的时候只核心内存转储,需要去"系统保护"(或者"高级系统属性")-->"启动和故障恢复"-->"写入调试信息"中修改为完全内存转储,否则获取到的dmp文件中没有lsass进程的信息。完事之后还需要再重启。也就说连着蓝屏一次总共重启两次,那么这个时候如果第一次重启,域管没有重新登录,那么又怎么能保证获取到的明文密码中有域管的呢?

image-20200319212927345.png

这里用管理员权限执行cmd:

taskkill /f /im "wininit.exe"

image-20200319184615285.png

C:WindowsMEMORY.DMP把文件取出到本地。

image-20200319185628130.png

使用Windbg(微软的一个调试工具,官网有下载)加载memory.dmp

image-20200319203312257.png

在工具里使用命令行加载mimikatzmimilib.dll

.load E:\tools\MIMILIB.DLL
# load前有个点

image-20200319203833586.png

然后设置微软符号服务器,再重新加载:

.SymFix    # 微软符号服务器

.Reload # 重新加载

image-20200319204530650.png

之后就是查看lsass.exe进程的内存地址,切换到lsass.exe进程中:

!process 0 0 lsass.exe
# 查看lsass.exe进程的内存地址
.process /r /p fffffa800e069b00
# 切换到lsass.exe进程

最后运行mimikatz:

!mimikatz

不过我在这里失败了,不清楚原因,可能是MEMORY.DMP有点小问题。不过这个也是个思路了。

3.使用RPC控制lsass加载SSP

最近一直看到大佬们在提到这个,最开始是github一个叫XPN的大牛在开源了代码。

https://gist.github.com/xpn/c7f6d15bf15750eae3ec349e7ec2380e

Ateam大佬发文章用到了这个,按照大佬们的说法就是加载dump内存文件的dll到lsass.exe进程里,让lsass.exe自己dump出内存文件。

不过我编译时踩坑无数。

各种报错,最后用VS2019设置字符集为多字节字符集,并且在头文件加了一个库文件解决了编译问题:

#pragma comment(lib,"rpcrt4.lib")

dll代码可以直接参考Ateam的文章:

绕过卡巴斯基抓lsass中的密码

不过dll可以做一个改良让其自动获取lsass进程的pid。

参考土司大佬和pony师傅的方案。

使用RPC控制lsass加载SSP,实现DUMP LSASS绕过杀软

dump lsass

原文作者:Keefe

原文链接:关于绕过卡巴进程保护的一些总结

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

Last Modified: May 28, 2020