(6.2)【PC中数据隐藏】winodws中隐写:交换数据流、及其隐避

网友投稿 535 2022-09-11

(6.2)【PC中数据隐藏】winodws中隐写:交换数据流、及其隐避

(6.2)【PC中数据隐藏】winodws中隐写:交换数据流、及其隐避

目录

​​一、交换数据流​​

​​1.1、简介:​​

​​1.2、使用方法:​​

​​第一步:创建文件​​

​​第二步:查看创建的文件​​

​​第三步:创建交换数据流​​

​​第四步:查看文件​​

​​第五步:创建多个交换数据流​​

​​第六步:再次查看文件​​

​​二、隐蔽交换数据流​​

​​2.1、简介:​​

​​2.2、示例:​​

​​2.3、隐蔽性​​

​​2.4、优点​​

​​2.5、示例:​​

一、交换数据流

二、隐蔽交换数据流

2.1、简介:隐藏交换数据流还有一个更隐蔽的方式, 就是将交换数据流绑定到一个保留设备名中, 这样就算使用工具(比如LDS或streams.exe)也无法检测到交换数据流。Windows 有很多不应该用作文件名的保留设备名。 MSDN中还特别列出了这些保留设备名:CON、 PRN、 AUX、 NUL、COMl、COM2、COM3、 COM4、COM5、COM6、COM7、COM8、 COM9、LPTl、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8和LPT9。 这些保留设备名是用来将输出数据发送到周边硬件设备的。 请注意, 这些保留设备名是 “不应该” 作为文件名, 但并没有禁止使用, 这就意味着可以用这些保留设备名作为文件名。 2.2、示例: 用echo命令创建一个文件, 然后用同样的命令再创建一个使用保留设备名的文件。C:\sandbox>echo mike> mike.txt C:\sandbox>echo mike> COMl.txt The system cannot find the file specified. C:\sandbox>mkdir COMl The directory name is invalid. C:\sandbox>dir 使用保留设备名创建文件或者目录时系统会报错, 但这只是个假象而已。既然使用这些保留设备名的主要目的是文件读写, 那么我们就可以跳过自动字符串解析, 并直接把未解析的文件发送至文件系统。 命令中的 "\\?\ ” 表示取消了字符串解析, 并将文件直接发送到文件系统。 这种方法通常用千Windows API编程, 现在我们可以用它 在文件系统中创建以保留设备名命名的文件。 通过融合保留设备名和 \\?\ “ 前缀, 我们就可以绕过标准的文件解析环节, 直接创建一个以保留设备名命名的文件。 我们将 "\\?\ "选项和保留设备名组合 在一起创建一个名为NUL的文件。C:\sandbox>echo mike > \\?\c:\sandbox\NUL 执行打印目录内容命令可以看到新创建的NUL文件, 但是本地无法读取该文件。 这有利千躲避一些取证工具或防毒软件的检查。C:\sandbox>dirC:\sandbox>more NUL但是熟悉该技术的人还是可以通过在命令中加入“ \\?\ ” 来读取到文件内容。C:\sandbox>more \\?\c:\sandbox\NUL 2.3、隐蔽性融合这个使用保留设备名的技术和交换数据流就可以创建所谓的“隐蔽“ 交换数据流。为了采用更隐蔽的方法, 我们将以保留设备名命名的文件与交换数据流融合, 也就是 创建“隐蔽“ 交换数据流。 2.4、优点隐蔽交换数据流不会被交换数据流工具(比如streams.exe)检测到, 也不能通过dir /R命令或其他方法检测到;大多数工具都不够完善, 无法检测到隐蔽交换数据流;如果交换数据流是可执行文件, 就可以结合VB脚本、Windows PowerShell等, 通过WMIC (Windows Management InstrumentationC ommand-line)运行, 这就为隐藏和运行恶意软件提供了便利。 2.5、示例:使用交换数据流将cmd.exe绑定到CON文件中, 以创建隐蔽交换数据流。C:\sandbox> type cmd. exe > \\?\c:\sandbox\CON:hiddencmd.exe用WMIC运行这个先前嵌人到隐蔽交换数据中的cmd.exe,系统弹出一个cmd.exe的DOS窗口。然而, 嵌入的可执行文件完全可以是一个功能强大的恶意软件, 那么它的破坏性将是无法评估的。C:\sandbox>wmic process call create \\.\c:\sandbox\CON:hiddencmd.exe Executing (Win32_Processl) ->Create()         Method execution successful.         Out Parameters:         instance of _PARAMETERS        (         Processld = 8696:         ReturnValue = O;         );即使防毒产品开启了扫描交换数据流功能来检测恶意软件, 通常也无法检测到隐蔽交 换数据流。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C#扩展方法学习笔记(c罗)
下一篇:Cannot open include file: ‘Windows.h‘: No such file or directory
相关文章

 发表评论

暂时没有评论,来抢沙发吧~