考了很多文章,搜集了很多资料整理而成。
好的用途可以用来隐藏个人资料,防止误删,病毒免疫等等。
至于坏的方面,当然也可用来隐藏木马等等,就看你怎么用了。
还有一个没有搞明白,资料上也没找到,请知道的指点一下,
名称里含有""的文件或文件夹如何建立和删除。
下面进入正文,首先介绍几个基本的操作和dos命令
(1)如何进入命令行窗口:,
开始---运行,或者win+R,打开运行窗口,之后输入cmd回车;
(2)相关dos命令
/? 任何一个dos命令后加该参数表示查看帮助,最常用的命令!!
md 建立文件夹;可以建立多层目录下的文件夹,比如 mkdir acd 。
copy 复制文件
xcopy 复制文件和目录树
rd 删除文件夹,参数/s表示删除目录树,即包括子文件夹和文件;/q表示不用确认
del 删除文件,可以使用通配符。/f强制删除只读文件,/q表示不用确认
在删除命令后面跟上.参数就可以避免Windows检查文件名的合法性,
因此可以删除含有Windows保留字或非法名字的文件。
dir /X 显示为非 8dot3 文件名产生的短名称。
(3)以下均假设当前目录为在D盘根目录,在命令行窗口输入D:回车即可
(4)UNC 路径格式,就是网上邻居的路径格式,比如d: emp的UNC 路径为\.d: emp
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: emp
ul.exe 即可。
2,利用WINDOWS命名漏洞命名的文件, 比如test.,即文件最后有一个点.
建立这个文件的话可以用 md test..
也可以新建一个test,然后用WINRAR改test为test..
这个文件夹双击无法打开,但是可以在运行窗口输入 d: est.. 进入,进入后可进行文件的各项操作。
删除的话用 rd /s /q test..
如果test.是文件的名字,那么删除要用 del /f /q test..
3.名为空的文件夹.这里所说的空名文件夹,主要指的是文件夹名称为空白,具体地说就是文件夹的名称为空格字符,这类特殊文件夹不仅可以在MS-DOS窗口中被正常访问,而且还可以在Windows窗口中被访问到,甚至我们能借助WinZip之类的压缩工具来对其进行压缩或解压缩操作。
(1)建立使用 md " est "
这时可以看到D盘根目录下的test文件夹下多了一个没有名字的文件夹,双击可以打开,也可以在运行中输入D: est
可以在里面建立文件或者删除文件。
删除用 rd "D: est "
(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: estte~1 estte~1 est.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: XXXcom1.{21ec2020-3aea-1069-a2dd-08002b30309d} 也不行
然后是rd D:XXX 目录非空,不行。接着用 rd /s D:XXX 提示是否删除,输入Y,回车。
报错,程序正被使用……。这步就是关键了打开任务管理器 ,结束explorer.exe进程!
再次Y,回车。然后通过任务管理器运行 explorer,又见到桌面了,打开D盘看,那个文件夹不见了
如果recycled里边也有可以接着 rd /s D: ecycled 和recycle 回收站没了下次打开自己会生成 !
原文连接:http://blog.csdn.net/jiankangshiye/article/details/6800305。