欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

sekurlsa.dll逆向分析challenge(可能发现windows系统账号存储机制的小秘密)

sekurlsa.dll逆向分析challenge(可能发现windows系统账号存储机制的小秘密)

声明:
本文作者是CasperKid,本文发表经过他本人授权!

昨天有朋友发了个法国佬写的神器叫 mimikatz (附件在3楼)让我们看下
神器下载地址: 
http://blog.gentilkiwi.com/mimikatz
还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章
http://pentestmonkey.net/blog/mimika...rds-from-lsass
自己尝试了下用 win2008 r2 x64 来测试


最后测试成功 wdigest 就是我的明文密码

我还测过密码复杂度在14位以上 
包含数字 大小写字母 特殊字符的密码
一样能抓出明文密码来
以前用 wce.exe 或 lslsass.exe 通常是只能从内存里顶多抓出active账号的 lm hash 和 ntlm hash
但用了这个神器抓出明文密码后
由此我们可以反推断 在 lsass.exe 里并不是只存有 lm hash 和 ntlm hash 而已
应该还存在有你的明文密码经过某种加密算法 (注意: 是加密算法 而不是hash算法 加密算法是可逆的 hash算法是不可逆的)
这样这个加密算法是可逆的 能被解密出明文 
所以进程注入 lsass.exe 时 所调用的 sekurlsa.dll 应该包含了对应的解密算法
逆向功底比较好的童鞋可以尝试去逆向分析一下
 
然后这个神器的功能肯定不仅仅如此 在我看来它更像一个轻量级调试器
可以提升进程权限 注入进程 读取进程内存等等 
下面展示一个 读取扫雷游戏的内存的例子



我们还可以通过pause命令来挂起该进程 这个时候游戏的时间就静止了

总之这个神器相当华丽 还有更多能力有待各黑阔们挖掘 =..=~

(在文章最后 附加作者的回答)
在上篇文章中 我们看到了通过用 mimikatz 对 lsass.exe 进行进程注入 
再调用 sekurlsa.dll 去获取 wdigest
也写了下自己对加密解密这个问题的想法 
现在在把这个给大家点明确一些~

在用这个神器获取密码的时候 命令分别如下
privilege::debug
inject::process lsass.exe sekurlsa.dll 
@getLogonPasswords

可以推理出整个流程
先将进程提升到 debug 权限
然后将 sekurlsa.dll 注入到 lsass.exe 进程里
调用 sekurlsa.dll 里的 getLogonPasswords 这个函数获取出密码
 
结合上文我提到的废话
--------------------------------------------------------------------------------------

以前我们一般用 wce.exe 或 lslsass.exe通常是只能从内存里顶多抓active账号的 lm hash 和 ntlm hash
但用了这个神器抓出明文密码后
由此我们可以反推断 在 lsass.exe 里并不是只存有 lm hash 和 ntlm hash 而已
lsass.exe 里很可能是存在两个敏感信息 
1. 明文密码经过加密算法的密文 (这个加密算法是可逆的 能被解密出明文)
2. 明文密码经过hash算法做数字摘要认证的hash

(注意: 是加密算法 而不是hash算法 加密算法是可逆的 hash算法是不可逆的)

所以进程注入 lsass.exe 时 所调用的 sekurlsa.dll 应该包含了对应的解密算法

--------------------------------------------------------------------------------------

 

逆向功底比较好的童鞋可以尝试去逆向分析一下 
直接去逆向分析下 sekurlsa.dll 的 getLogonPasswords 函数做了些什么
是直接从某处就取出了 wdigest 
还是从某处先取出了 某些信息 
然后有解密操作的过程
说不定能发现微软的一些小秘密哟 =..=~
比如 它的这个加密算法

---------------------------------------------- 作者回答 ----------------------------------------------
在作者blog里发现作者其实已经回答过这个问题了


没有明文存储 而是放在内存里 并且是可逆的 这样也就验证了我推测的第一种情况
1. 明文密码经过加密算法的密文 (这个加密算法是可逆的 能被解密出明文)

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功