您的位置:首页 > 其它

利用WINDOWS命名漏洞等建立的特殊文件或文件夹

2011-08-02 18:16 323 查看
参考了很多文章,搜集了很多资料整理而成。

好的用途可以用来隐藏个人资料,防止误删,病毒免疫等等。

至于坏的方面,当然也可用来隐藏木马等等,就看你怎么用了。

还有一个没有搞明白,资料上也没找到,请知道的指点一下,

名称里含有"\"的文件或文件夹如何建立和删除。

下面进入正文,首先介绍几个基本的操作和dos命令

(1)如何进入命令行窗口:,

开始---运行,或者win+R,打开运行窗口,之后输入cmd回车;

(2)相关dos命令

/? 任何一个dos命令后加该参数表示查看帮助,最常用的命令!!

md 建立文件夹;可以建立多层目录下的文件夹,比如 mkdir \a\b\c\d 。

copy 复制文件

xcopy 复制文件和目录树

rd 删除文件夹,参数/s表示删除目录树,即包括子文件夹和文件;/q表示不用确认

del 删除文件,可以使用通配符。/f强制删除只读文件,/q表示不用确认

在删除命令后面跟上.参数就可以避免Windows检查文件名的合法性,

因此可以删除含有Windows保留字或非法名字的文件。

dir /X 显示为非 8dot3 文件名产生的短名称。

(3)以下均假设当前目录为在D盘根目录,在命令行窗口输入D:回车即可

(4)UNC 路径格式,就是网上邻居的路径格式,比如d:\temp的UNC 路径为\\.\d:\temp

1,利用Windows以设备命名文件夹拒绝服务漏洞

新建以下这些名字的文件(或文件夹):aux、com1、com2、prn、con、nul,系统会提示无法建立。

我们可以在命令行窗口中建立,然后将文件copy进去,这样,文件打不开也删不掉。

实现过程:

切换到DOS命令行状态;其次在MS-DOS窗口的命令行提示符下,

通过“cd”命令进入到要创建文件夹所在的目录,

之后在DOS命令行下再输入字符串命令“md+设备名+\”,单击回车键后,

在指定目录下一个名称为设备名的特殊文件夹就出现了。

考虑到设备文件夹在Windows状态下是不能被删除的,为此善于使用设备文件夹,

我们有时能可以用它来保存一些重要的信息,以防止这些信息被他人随意删除掉。

对于含有保留字的文件,当我们发出删除指令的时候,Windows会检查被删除的文件是否有合法的路径,如果你的文件名含有Windows认为的非法字符或保留字,那么删除就会失败。我们有3种方法可以删除这类文件:

a)采用Linux或其他非Windows的操作系统,以Linux/Unix为例,可以使用rm命令删除.

b)使用命令行工具的一个特殊参数解决:

RD. 设备名\

DEL.

c)对于文件,如果可以使用通配符,那么也可以采用通配符解决:

DEL PR?.*

DEL LPT?.*

d)要删除d盘下的 aux 文件夹,可在命令提示符下执行:rd /s \\.\d:\aux。

再比如要删除d盘temp文件夹下的 nul.exe 文件,在命令提示符下执行:del \\.\d:\temp\nul.exe 即可。

2,利用WINDOWS命名漏洞命名的文件

比如test.,即文件最后有一个点.

建立这个文件的话可以用 md test..\

也可以新建一个test,然后用WINRAR改test为test..\

这个文件夹双击无法打开,但是可以在运行窗口输入 d:\test..\ 进入,进入后可进行文件的各项操作。

删除的话用 rd /s /q test..

如果test.是文件的名字,那么删除要用 del /f /q test..\

3.名为空的文件夹.这里所说的空名文件夹

主要指的是文件夹名称为空白,具体地说就是文件夹的名称 为空格字符,这类特殊文件夹不仅可以在MS-DOS窗口中被正常访问,而且还可以在Windows窗口中被访问到,甚至我们能借助WinZip之类的压缩 工具来对其进行压缩或解压缩操作。

(1)建立使用 md "\test\ \"

这时可以看到D盘根目录下的test文件夹下多了一个没有名字的文件夹,双击可以打开,也可以在运行中输入D:\test\ \

可以在里面建立文件或者删除文件。

删除用 rd "D:\test\ \"

(2)切换到DOS命令行状态;在MS-DOS窗口的命令行提示符下,

通过“cd”命令进入到要创建空白文件夹所在的目录,

之后在DOS命令行下再输入字符串命令“md+空格”,紧接着按下键盘上的Alt功能键,同时在数字小键盘上直接输入数字“255”,这样一来空格字符的 ASCII码就会自动出现在“md”命令之后,单击回车键后,在指定目录下一个名称为空白的特殊文件夹就出现了。善于使用空白文件夹,我们有时能将一些重 要的隐私信息隐藏其中,从而实现保护隐私安全的目的。

4.长文件名或非法字符导致文件或文件夹无法删除

可以暂时把路径中某些目录改名字,或在命令行模式下使用8.3格式。

例如,“Linux Faq”的目录变成8.3就是“LINUXF~1”了,通过“Linuxf~1”就能进入目录了,

此后就可以使用Del命令删除指定文件了。如果需要删除目录,则使用Rd命令。

也可以进入要删除文件的目录后输入“dir>del.bat”,把当前目录的文件列表输入到批处理命令文件“del.bat”中,

然后修改该批命令文件,仅保留文件或目录名,并在文件或者目录名称前增加“del ”或者“rd”,运行批处理命令即可删除。

(经常有rar文件无法解压,改个文件名后就可以了)

还有一种方法,就是利用windows目录长度不能超过256字节的特性,可以利用subst命令将

一长度达到256字节的目录映射为虚拟盘:"subst b: testtesttesttesttesttesttes…………………………"。

然后在虚拟出来的b:中建立一个长文件名目录"testtesttesttestte…………",然后将一可执行文件copy到该

路径下,去掉虚拟盘符映射:"subst b: /d",这样用资源管理器是无法进入该目录的,杀毒软件也无法扫描

该路径下的文件,而且在资源管理器中是无法删除该目录的,但可以使用8.3文件格式来运行该可执行文件:

"c:\testte~1\testte~1\test.exe",从而达到隐藏的目的。

5.改文件名称,系统自身带有很多的CLSID

eg:要隐藏的文件名为 a,则把它改成 a.{CLSID} 这里的CLSID有很多,如下只是一部分:

文件名.{00020810-0000-0000-C000-000000000046}
excel文档

文件名.{00020900-0000-0000-C000-000000000046} word

文件名.{5ef4af3a-f726-11d0-b8a2-00c04fc309a4} 回收站(满)

这3个只是文件夹图标变了,打开后还是隐藏不了,原形毕露:

文件名.{2227a280-3aea-1069-A2de-08002b30309d}
打印机

文件名.{21ec2020-3aea-1069-A2dd-08002b30309d} 控制面板

文件名.{208d2c60-3aea-1069-A2d7-08002b30309d} 网上邻居

文件名.{992cffa0-F557-101a-88ec-00dd010ccc48} 拨号上网

文件名.{1a9ba3a0-143a-11cf-8350-444553540000} 收藏夹

比较特别,双击打不开,用右键盘第2个"打开"就行了...

文件名.{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}
该名之后目录为空

文件名.{645FF040-5081-101B-9F08-00AA002F954E} 回收站(空)

文件名.{20D04FE0-3AEA-1069-A2D8-08002B30309D} 我的电脑

这一办法也是比较普通的...

或者在需要隐藏的文件夹里建立desktop.ini文件也可以达到效果,

把这个批处理保存为.bat文件,在要隐藏的文件里执行就可以了:

@echo off

echo [.ShellClassInfo]>desktop.ini

echo CLSID={645FF040-5081-101B-9F08-00AA002F954E}>>desktop.ini

REM 改进后有些地方如有空格的地方也可以用所以加上"号

attrib +s +h "%cd%"

rem 其实只要将上面加上隐藏就可以了不用将下面这行隐藏

attrib +s +h desktop.ini

echo cacls %cd% /t /c /e /g %username%:f>..\恢复隐藏.bat

echo attrib -s -h %cd%>>..\恢复隐藏.bat

cacls %cd% /t /c /e /p %username%:n

原理就是同上面的重命名差不多...

======================================================

一个具体的例子,引用别人的:

最近使用了一款名叫 E-文件夹加密大师,网上有强人用winrar也把它破了,在这就不说了

该软件利用的是windows的一个文件名漏洞,即windows不能删除com1.……和以“.”最后等命名的文件夹(这种文件夹名字只有在dos 模式才能创建,而且不是常规方式md c:\xxx..\
注意最后的"\"。com1文件夹的创建方法,"md \\.\c:\com1",删除输入"rd \\.\c:\com1";)。即,这哪是加密
只是简单得把“加密”的文件或文件夹放到以着种名字命名的文件夹下面

不小心把加密数据删除掉了,数据没了好办,用finaldata打开那个假的回收站就有了。可是

留下个隐藏的Th…….db文件夹,打开后是-sys文件夹-然后是com1.{21ec2020-3aea-1069-a2dd-08002b30309d}文件夹,该文件夹用的是控制面板的图标。(因为{}中的windows中的地址

打印机.{2227A280-3AEA-1069-A2DE-08002B30309D}

控制面板.{21EC2020-3AEA-1069-A2DD-08002B30309D}

我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}

回收站.{645FF040-5081-101B-9F08-00AA002F954E}

于是双击该文件夹便打开了控制面板,但地址栏中显示的是该com1.{21ec2020-3aea-1069-a2dd-08002b30309d}文件夹的地址。

1、 com1.{21ec2020-3aea-1069-a2dd-08002b30309d}这个文件夹是关键,利用了一个WINDOWS的漏洞,即使用 AUX,COM1,COM2,PRN,CON,NUL为文件名建立的文件(夹),即不能打开也不能删除。所以程序会将待加密的文件复制到此文件夹中,使其 无法访问和删除,此其一;

2、在最后一级目录中有一个文件录名称为《 XXX.》,请注意文件名后的《.》,当建立的文件夹名称包含这个小点后,同样,该文件录即不能打开,也不能删除,LZ把它放在这里应该是为了保险起见,或者出于其它目的,俺还不太确定,此其二;

3、 com1.{21ec2020-3aea-1069-a2dd-08002b30309d}里{}内的ID为控制面板,RECYCLED为程序自动建立的 文件夹,中有desktop.ini文件以及{645FF040-5081-XXXX-9F08-00AA002F954E}文件夹,其作用都是为了将文 件录伪装成回收站,此其三。

知道了原理只能算是半途,因为删除会报错windows中删除会出现地址不存在的错误

而DOS下 rd d:\ XXX\com1.{21ec2020-3aea-1069-a2dd-08002b30309d} 也不行

然后是rd D:\XXX\ 目录非空,不行。接着用 rd /s D:\XXX\
提示是否删除,输入Y,回车。

报错,程序正被使用……。这步就是关键了打开任务管理器 ,结束explorer.exe进程!

再次Y,回车。然后通过任务管理器运行 explorer,又见到桌面了,打开D盘看,那个文件夹不见了

如果recycled里边也有可以接着 rd /s D:\recycled 和recycle 回收站没了下次打开自己会生成 !

为了您的安全,请只打开来源可靠的网址

来自: http://hi.baidu.com/cszhi/blog/item/851d69124c692859f819b882.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: