数据流0day原理+实践

简介: 首先作为我,gxm,很荣幸的与咔咔在23号的早上凌晨2点多共同研究了流数据这个课题。感谢咔咔的无私奉献。

首先作为我,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.txt IXPUB技术博客(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.txt IXPUB技术博客mS-p I?1[#^
edit bugging.txt:kaka.txt IXPUB技术博客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
目录
相关文章
|
1月前
|
消息中间件 存储 数据库
RocketMQ 流存储解析:面向流场景的关键特性与典型案例
RocketMQ 流存储解析:面向流场景的关键特性与典型案例
88360 0
|
4月前
|
SQL 算法 API
读Flink源码谈设计:图的抽象与分层
前阵子组里的小伙伴问我“为什么Flink从我们的代码到真正可执行的状态,要经过这么多个graph转换?这样做有什么好处嘛?”我早期看到这里的设计时的确有过相同的疑惑,当时由于手里还在看别的东西,查阅过一些资料后就翻页了。如今又碰到了这样的问题,不妨就在这篇文章中好好搞清楚。
540 0
读Flink源码谈设计:图的抽象与分层
|
26天前
|
消息中间件 存储 监控
深入剖析:Kafka流数据处理引擎的核心面试问题解析75问(5.7万字参考答案)
Kafka 是一款开源的分布式流处理平台,被广泛应用于构建实时数据管道、日志聚合、事件驱动的架构等场景。本文将深入探究 Kafka 的基本原理、特点以及其在实际应用中的价值和作用。 Kafka 的基本原理是建立在发布-订阅模式之上的。生产者将消息发布到主题(Topic)中,而消费者则可以订阅这些主题并处理其中的消息。Kafka包括多个关键组件,如生产者、消费者、主题分区、ZooKeeper 等,Kafka 实现了高性能的消息传递和存储。特点:高吞吐量、可持久化存储、水平扩展、容错性和实时性等。
102 0
|
27天前
|
消息中间件 Java 调度
【深度挖掘RocketMQ底层源码】「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行调度的流程(Pull模式)
【深度挖掘RocketMQ底层源码】「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行调度的流程(Pull模式)
12 1
|
1月前
|
消息中间件 存储 监控
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
114 1
|
1月前
|
Web App开发 存储 网络协议
C/C++ 数据结构设计与应用(四):C++数据压缩与传输:从理论到实践的全景解析
C/C++ 数据结构设计与应用(四):C++数据压缩与传输:从理论到实践的全景解析
60 3
|
3月前
|
存储 传感器 数据挖掘
什么是流计算?请简要解释其概念和特点。
什么是流计算?请简要解释其概念和特点。
40 0
|
3月前
|
存储 运维 流计算
流计算中的容错机制是什么?请解释其作用和常用方法。
流计算中的容错机制是什么?请解释其作用和常用方法。
23 0
|
4月前
|
消息中间件 存储 缓存
Kafka核心理论要点
Kafka核心理论要点
50 0
|
4月前
|
数据采集 Java 调度
大牛用6000字带你搞懂实时流计算系统的数据采集之BIO与NIO!
数据采集 从本章开始,我们将逐一讨论实时流计算系统各方面的内容。 为了更加方便和清楚地阐述问题,本文将以互联网金融风控为场景,构建一个实时流计算风控系统。 虽然是以互联网金融风控为场景,但大多数情形下实时流计算系统在架构上是大同小异的,或者具有异曲同工之妙。