三 实战
我们找到了我们可以利用的东西,现在看看如何利用cmd.exe的这个特性来做些什么吧!关键是编辑
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun的内容(没有的话你可以新建一个)为你自定义的一个脚本的位置,为了方便我们可以使用批处理,我的系统是2000 adv server。譬如你可以在c:\winnt\system32下写入一个cmd.bat的批处理文件,内容为你希望在启动cmd.exe进程之前要运行的命令,然后编辑HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun的内容为c:\winnt\system32\cmd.bat如图二。假设你的机器并不是经常及时打上补丁,你就可以编辑system32下cmd.bat的内容为exit,这样就抵御黑客的远程溢出攻击了,因为一般的溢出要么是反弹一个cmdshell要么是绑定一个cmdshell,而溢出的shellcode执行cmd之后会首先运行的是我们指定的cmd.bat里面的内容,而内容正是exit退出,这里为了给大家示范我指定的命令是pause命令,如图三。这样不知道真相的人肯定会很郁闷的,即使知道真相如果他是一般的菜鸟的我想对这样的问题他也是束手无策吧,除非他使用的是其他的shellcode。
光是这样的防范还没有什么意思,我们最好能够抓住入侵者,那我们就好好的写这个cmd.bat脚本吧!要抓住入侵者或者想知道入侵事件发生的时间我们可以定义cmd.bat的内容如下:
@echo off \\关闭命令回显\\
@netstat -an>>c:\winnt\system32\net.log \\取得当前的网络连接状态并输出到net.log文件,用>>重定向是避免日志被后来的冲洗掉\\
@date /t>>c:\winnt\system32\date.log \\取得入侵发生的时间\\
@time /t>>c:\winnt\system32\time.log
@exit \\退出\\
这样当有人溢出的时候他的IP就在日志里啦!你完全可以根据自己的情况补充这个脚本的内容,如查看进程,查看端口关联等等,因为不是系统自带的程序我就不给大家展示了!
但是是不是只能做这么多呢?看到以前的杂志有人写用telnet愚弄入侵者,有了今天的方法可不只能用telnet愚弄入侵者了,所有的绑定cmd.exe的程序都可以被我们愚弄的。譬如我们在cmd.bat里写上:
@echo off \\关闭命令回显\\
@netstat -an>>c:\winnt\system32\net.log \\取得当前的网络连接状态并输出到net.log文件,用>>重定向是避免日志被后来的冲洗掉\\
@date /t>>c:\winnt\system32\date.log \\取得入侵发生的时间\\
@time /t>>c:\winnt\system32\time.log
@type c:\winnt\system32\cmd.txt \\打印cmd.txt的内容,也是由我们自己定义的\\
@pause \\暂停程序,让入侵者惋惜去吧!\\
@exit \\退出程序\\
这样我们就可以对入侵者喊话了,喊些什么呢?骂人的话就不要喊了,我这里就给自己做个广告吧,别人telnet上来我的机器上时如图四,我的日志内容如图五。其实从任何的cmd后门上登陆时都是这样的效果,我的Tcmd就很郁闷,呵呵!这些在webshell里也是很有奇效的,大家还可以发挥自己的想象力哦,没有什么做不到的。
四 总结
文章没有什么高深的东西,其实就是cmd的一个属性,与设置权限配合使用,用得好的话效果还是很不错的。有人要问了,这样设置以后我们自己启动cmd怎么办,很好说的,就是运行的时候用cmd /D参数启动就可以了。有什么问题或者建议欢迎到论坛讨论,我的ID是剑心。
| Windows Server2003 防木马权限设 | 04-06 | |
| PHP开发安全浅谈 | 01-23 | |
| 防范Serv-U漏洞 | 01-16 | |
| WEB专用服务器的安全设置的实战技 | 12-30 | |
| 重燃你的PHP安全之火 | 12-04 | |
| Web服务攻击痕迹检测 | 11-28 | |
| 脚本攻击防范策略完全篇 | 11-02 | |
| 脚本攻击防范策略完全篇 | 10-28 | |
| 拒绝肉鸡之上兴远程控制的发现与 | 10-26 | |
| 拒绝肉鸡之灰鸽子的发现与清除 | 10-24 | |
| 力克旁注 巧绑域名防范whois查询 | 10-21 | |
| 系统敏感端口真正的关闭大法 | 10-01 | |