数据流0day原理+实践

  1. 云栖社区>
  2. 博客>
  3. 正文

数据流0day原理+实践

cnbird 2009-10-20 16:51:00 浏览315
展开阅读全文

首先作为我,gxm,很荣幸的与咔咔在23号的早上凌晨2点多共同研究了流数据这个课题。感谢咔咔的无私奉献。技术共享。才让这数据流充分发挥他的力量。

                              
一,原理
 
首先说下,NTFS文件系统里存在数据流,这是N久以前的了。NTFS分区的数据流是一个子文件系统允许额外的数据连接到一个特别的文件中,现在的FAT文件系统格式是不支持数据流格式的。你可以在网上查阅资料。比如安全焦点的,貌似现在安焦打不开,地址为:http://www.xfocus.net/articles/200103/81.html,就让我们简单的来按照安焦的文章搞懂NTFS的数据流为何东西。
 
首先,你要保证你测试的盘符里必须是NTFS格式分区的,比如我的C盘是NTFS,那么我们开始进行测试,我们打开CMD,运行如下命令,echo bugging.com.cn > bugging.txt,如图1
 
大小: 21.35 K尺寸: 500 x 202浏览: 0 次点击打开新窗口浏览全图
                                图1
 
bugging.txt,内容为bugging.com.cn的记事本。在如下几条命令,来看看
type bugging.txtIXPUB技术博客(y;t#}s"w"/@r"_
edit bugging.txt
tE,u-R t6_HuZ0notepad bugging.txt
CMD中显示内容吧。呵呵。。。当然,做这个,只不过是为下面做下对比。。在这之前,你先可以dir查看bugging.txt的大小,比如他多少字节。
 
下面我们创建一个带有宿主的流文件,运行如下命令来看看:
Echo漏洞时代> bugging.txt:kaka.txt,当然,这条命令可没有什么错误就运行了,其中":"号就是你指定关联一个流文件。我们在尝试如下命令:
type bugging.txt:kaka.txtIXPUB技术博客mS-p I?1[#^
edit bugging.txt:kaka.txtIXPUB技术博客8{2g)Emb/k [
notepad bugging.txt:kaka.txt
WINDOWS工具对处理有关数据流文件的能力不是很强,因为在当时写有关NTFS文件系统的数据流存储的时候很多WINDOWS工具没有相应的更新。”
 
或许我们可以这么理解。然后我们继续运行dir c:/windows/* > bugging.txt:kaka.txt,在用dir命令查看bugging.txt的大小。发现,他还是没有改变。但是确实我们在宿主bugging.txt上附了很大字节的内容给他,下面,在打这个命令可以为我们解释,notepad bugging.txt:kaka.txt,我们确实可以发现他有内容在上面,继续我们的实验。我们del bugging.txt:kaka.txt看看。貌似删不掉。但是我们删除bugging.txt,他的宿主没了。流也就没了。
 
在继续我们的实验,我们创建如下命令echo bugging.com.cn > :kaka.txt,这次是没有宿主的流(其实是不可能的,下面解释到),我们在notepad :kaka.txt貌似能看到。但是他没有宿主,只能删了当前的文件夹才去掉流,到了这里。基本就是差不多的安焦的给出的原理了。从他们的文章中可以看出,他们貌似只做隐藏的文件来用,其实不然。继续我和咔咔的研究结果给大家。
 
  这里作为数据流,其实只不过是指引了一个方向。我们在抛砖引玉而已,更大的发现还有可能源自于你。所以我们情愿公布出来也不会让他过时(其实已经过时了8年了,没有人注意而已)
 
从上面可以看出,到底数据流有什么用,难道只是隐藏文件来用(安焦文章的那作者就是用来隐藏文件的),答案当然不是啊。不然我也不可能写这篇文章了。
众所周知,平时留后门啊,留远程木马软件啊,几乎杀毒软件一跟新,他就杀掉了。或者有些杀毒软件是靠行为的方式来杀读。查看特定的文件夹里有特定的东西来判断这是什么木马软件,来杀掉你。但奇怪的是,杀毒软件却对流数据很轻松,或者是查都不查(虽然已经有专门对付流的了,但是装那种软件的人几乎等于0,何况你要发现是不是流文件存在你的电脑里),这里我和咔咔还有.Net/Orac/Php/Inject群里各位兄弟一起测试的,感谢大家,那么重点部分我们开始吧。
 
咔咔的意思是,平时入侵服务器时。一般都留shift后门了。为何不把我们的木马软件搞成流存在系统里,当然,难题是如何启动流数据,这里,咔咔已经为我们解决了。命令就是:start命令,我们来测试下,我们很简单的把一个程序转变成流数据,然后启动他,运行如下命令:
 
Type 1.exe >D:/ceshi/2.exe:gxm.exe
Start 2.exe:gxm.exe
start命令,启动流文件,必须提供完整路径。我们修改下,start D:/ceshi/2.exe:gxm.exe,如图
 
大小: 48.9 K尺寸: 500 x 396浏览: 2 次点击打开新窗口浏览全图
 
2.exe:gxm.exe文件。但是我们删掉了2.exe这个宿主文件,相应的,我们的流文件也就没了。这对我们留后门来说实在不好的办法。那我们换思路吧。我们不在用文件作为宿主,拿文件夹,运行如下命令:
 
type 1.exe > D:/ceshi:gxm.exe
start D:/ceshi:gxm.exe
:kaka.txt能启动了吧。不相同的貌似notepad启动不需要完整路径)
ceshi文件夹的流,那势必要删掉ceshi文件夹,如果我们把流写在system32文件夹呢?命令如下:
 
Type完整的木马路径>%systemroot%/system32:bugging.exe
现在我们要克服另一个难题,如何触发流文件,也就是如何运行流文件,就是想办法怎么运行start%systemroot%/system32:bugging.exe,这条简单的命令。
start%systemroot%/system32:bugging.exe,在启动正常的sethc,如果我们放个反弹cmd呢?只要登陆3389,按5次SHIFT,就可以触发sethc,然后执行我们的流病毒,会反弹一个cmd.exe,在正常执行sethc。
Pn.lg ` Qo/w*i0
二,实践部分
       先看下这个界面,如图
 
大小: 52.05 K尺寸: 500 x 336浏览: 1 次点击打开新窗口浏览全图
       
 相信通过我上面的长篇大论,看了界面就应该知道如何利用了吧。这里我就简单的说下,点击第一步,释放Shift,其他他就是带有触发流数据的shift,点击第二步,第三步释放流后门,释放流后门,默认是用cmd.exe,如果按了5SHIFT,程序就会去执行cmd流,也可以换自己的后门程序,第四步,替换shift,就是带有触发流数据的sethc。最后一个给你看效果的按键功能。总之,这里GXM不方便测试,程序完全是靠咔咔以及群里认真测试过的。完全可以用,并且在360nod32下测试通过。一点反映都没有。想必其他的杀软也差不多。
 
三,总结
 
终于到总结了。写到这里。Gxm也比较累了。总之,咔咔写的这个程序,只是利用的一部分。更多发挥以及想象要靠大家。各位读者来完成。就像我刚才说的,大可不必用sethc来触发。完全可以用系统必要的进程,来达到自启动,而且杀软对流数据也比较轻松。大家想不到的是这竟然是2001甚至是更超前的技术吧。。。然后我们这些后起之辈完全的无知。当然,现在不晚。大家充分利用,充分想象,或许,下一次的关于流数据webshell提权的文章讲由你来写。。。。
最后感谢ミ木葉メ咔咔分享技术,与大伙一起研究,才有了小有成就的感觉。希望大家发现新技术时,及时共享,与人一起进步,否则,就像这次流文件一样,跨越了将近8年,或者10年,由我们晚辈翻出来研究,这是多么可怕的一件事!最后的最后,gxm打个小广告,gxm来自漏洞时代,地址为,http://www.bugging.com.cn,如果你有兴趣与我们一起进步,就上论坛吧。为了漏洞时代一起努力,一起发展!一起分享技术!

 

3

网友评论

登录后评论
0/500
评论
cnbird
+ 关注