在后渗透阶段,想要长久控制一台或多台主机,获取主机密码是非常关键的一个环节,本次为各位提供了目前非常有效的几种密码提取方法。
需要注意,windows server 2008及以前的版本在系统中存储的是明文密码,而在之后的版本默认导出的密码均为NTLM hash,本文会提供此类问题的解决方法。
方法一:procdump转储lsass dmp获取系统密码
使用procdump获取密码副本,采用此方式可以解决mimikatz无法使用的问题,导出的dmp文件可在其他主机进行还原密码。
在导出dmp文件后通过Mimikatz对密码进行解密。
方法二:通过Wdigest获取Windows密码
Wdigest是lsass进程的一个SSP程序,用于LDAP认证和WEB身份认证,他会将用户的密码信息以加密的形式存储在内存中。而我们常用Mimikatz的logonpasswords命令也是依托于它运行的。
在这里可以看到使用logonpasswords无法获取系统密码,因为这个方法是在windows server 2012上运行的,在该版本的windows中默认是无法获取到明文密码的。
解决这个问题的方法很简单,通过将注册表
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest下的UseLogonCredential
的值修改为1即可,如果没有这一项可以自己添加(下面第一张图是没有这个选项的)。
操作命令:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
剩下的就是需要让用户再次输入密码登录(锁屏、故意使服务挂掉),然后再次运行logonpasswords命令便可看到内存中的明文密码。
这种方法同样适用于导出dmp文件的场景,同样都是需要在修改注册表后让用户再次登录。
方法三:使用comsvcs.dll导出系统密码
这种方法与方法一的原理一样,通过转储lsass进程的dmp文件来解密获取密码。只不过这里不需要依托于procdump,而是直接依靠系统自带的组件。
首先需要获取lsass.exe的进程号。
之后通过procdump的minidump函数来转储文件。
需要注意这里的命令需要在powershell中执行,因为转储文件需要有SeDebugPrivilege权限,而cmd下默认是没有开启的。
方法四:注册表导出SAM文件
通过注册表导出的方式只能获取到hash,无法获取到明文,命令比较简单可参考下图。
方法五:恶意SSP记录用户登录密码
这属于被动的获取密码方法,需要让用户登录。原理是通过修改lsass进程的SSP加载程序来执行恶意操作。这里所用到恶意程序就是mimikz中的mimilib.dll在使用时候请根据操作系统情况选择不同位数的mimilib.dll。
将mimilib.dll放在C:/windows/system32/目录下
修改注册表HKLM\SYSTEM\CurrentControlSet\Control\lsa中Security Packages项的值如下图
用户再次登以后在C:/windows/system32/目录下会生成kiwissp.log文件,里面会记录用户的密码信息。
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)