Files
Sec-Interview/Chapter15/15-5.md
T
2025-09-25 03:56:33 +08:00

42 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 读取不到 hash 怎么绕过
**方法一:绕过 EDR/AV 和 LSAProtection**
这是最常见的挑战。大多数攻击者会使用 Mimikatz,但它常常被安全软件检测到
- **使用定制或混淆的工具:**
- **Mimikatz 的变种:** 寻找或自己编译 Mimikatz 的混淆版本(如`P-Code``Minidump`)。这些版本可能没有被 EDR/AV 的签名库收录
- **不依赖 Mimikatz 的替代工具:** 尝试使用其他开源工具,如 **`LaZagne`** 或 **`DonPAPI`**。这些工具采用不同的技术来提取凭据,可能绕过某些防御
- **使用内存转储(Memory Dumping**
- **`procdump.exe`:** 这是微软官方的工具,可以合法地转储进程内存。你可以使用它来转储 LSASS 进程,然后在另一台安全的机器上用 Mimikatz 的 **`sekurlsa::minidump`** 模块离线分析
- **注意:** 尽管 `procdump` 是官方工具,但许多 EDR/AV 已经对其进行了监控。你需要小心使用
- **手动转储:** 也可以使用 Powershell 或 C# 编写代码,直接调用 `MiniDumpWriteDump` API 来转储 LSASS 进程。这比使用现成的工具更隐蔽
- **进程注入与内存补丁**
- 通过注入到合法的进程(如`svchost.exe`)中,然后从该进程内部转储 LSASS 内存,可以绕过一些基于进程行为的监控
- **PPLProtected Process Light** 绕过:如果目标启用了 PPL,传统的注入方式会失败。可以尝试利用一些已知漏洞或驱动程序来提升权限并绕过 PPL。例如,使用一些内核驱动加载工具,在内核模式下操作
**方法二:不直接读取哈希,而是获取明文密码**
如果哈希实在无法获取,可以考虑获取用户的明文密码
- **键盘记录(Keylogging):**
- 部署一个键盘记录程序(如 **`PowerSploit`** 中的 `Get-Keystrokes`),记录用户在登录或输入密码时的按键
- **优点:** 可以获取明文密码,且绕过了哈希的保护机制
- **缺点:** 实时性差,需要等待用户输入密码,并且容易被杀毒软件检测
- **Hooking**
- 通过在登录或凭据输入过程中,`Hook` 相关的 WinAPI 函数(如 `LsaLogonUser`),可以截取到明文密码或哈希
- **优点:** 实时性高,可以在用户登录时立即获取凭据
- **缺点:** 实现复杂,需要编写专门的代码,且容易被 EDR/AV 拦截
**方法三:利用其他机制获取凭据**
除了 LSASS,凭据还可能存储在其他地方
- **注册表(Registry**
- 某些应用程序(如 Putty、TeamViewer 等)可能会将连接密码以加密或明文形式存储在注册表中。可以使用 **`LaZagne`** 或其他专用工具扫描注册表
- 例如:`HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon` 下可能会存储自动登录的明文密码
- **服务凭据(Service Credentials**
- 许多服务使用服务账户运行,这些账户的凭据通常存储在服务配置中。如果权限足够,可以枚举这些服务并尝试读取其配置
- **浏览器、邮件客户端和 FTP 客户端**
- 浏览器(如 Chrome、Firefox)、邮件客户端(如 Outlook)和 FTP 客户端(如 FileZilla)通常会缓存用户的明文密码
- 可以使用 **`Mimikatz`** 的 **`dpapi::`** 模块或专门的工具来解密这些存储的凭据