危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20612860

WEB服务器防御之把黑客拒于远程终端门外

天天玩入侵,时间久了也会让人发疯的,所以偶而的来研究一下如何防御倒也算是个不错的调节方法。大家都知道,不管是入侵服务器,还是入侵成功后的一系列内网渗透行动,都有一个目的,就是连接对方的终端服务(当然种木马也是可以的,只不过木马都有自己的生命周期),并且入侵的手法与技巧,每个人也都会有自己的风格。

记得以前我曾经看过一篇名叫《开了3389无法登录的6种原因》的文章,基本上无法登录的原因都介绍到了(感兴趣的读者可以在网上搜索一下该文),下面我就介绍一下本人的一些新发现,在那篇文章中的第四条,也就是管理员设置的终端登录权限只有指定的用户才可以,我认为这是最有杀伤力的,因为另外的5条都可以突破,但唯独这条限制很难被突破。我看了多年的黑客书籍以及网上的文章,基本上到最后大家都能连接并进入终端服务,有时我都搞不懂,到底是因为黑客太聪明,还是管理员不够谨慎才造成的。

下面我们开始进行实验:系统为Windows,默认的帐号为administrator和guest,终端服务已经开启。默认情况下administrator属于administrators组,而guest则属于guests组。来看一下终端登录权限只有指定的用户才可以是怎么实现的,打开“控制面板”——“管理工具”—— “本地安全策略”,选择“本地策略”——“用户权限分配”,在右边的窗口中选择“通过终端服务允许登录”。

点击右键并选择“属性”,我们可以看到系统在默认情况下是允许administrators组与Guests组登录的,把这两个都删除掉(这里很关键),然后点击“添加用户或组”,只把administrator用户添加进去。

刚才我已经说过了,administrator是属于administrators组的,连接终端肯定没问题,而guest用户则属于Guests组肯定连接不上(因为我们设置的是通过用户名而不是通过用户组来识别的),那我们就把guest用户加入到administrators组来看看,加入到administrators组后,来连接远程终端。

看到没有,连接失败了,我们再把guest用户加入到remote desktop users组中来看看,加入到remote desktop users组后,再次来连接远程终端。

我们得出的结论就是,如果guest用户不在允许的远程终端登录用户列表里,那么不管是加入到administrators组,还是加入到remote desktop users组,都是无法连接的。大家可能还会想到使用控制台的方式来登录,命令为mstsc/console/vip,这种方法也是连接不上的。我们最后再来看看adnunistrator帐号到底能不能连接上,不然可能大家不会相信。

文章到了这里,大家可能就会去想要如何突破了(如果添加的帐号不在远程终端允许的登录列表里,该怎样才能连接上去呢),第一种方法就是克隆管理员帐号,来试试看,可以通过粘滞键之类的后门杀启动注册表再进行克隆),克隆之后,再使用guest用户登录看看,果然能登录,而且拥有和管理员一样的桌面。

这是第一种方法,还有一种可行的方法,也是通过替换粘滞键启动任务管理器taskmgr.exe来实现的。我们先把注册表还原为克隆之前的状态,然后再来看看怎样突破,通过替换粘滞键启动任务管理器,选择“用户”,右键点击administrator(也就是刚才设置的在远程终端允许登录列表里的administrator帐号),我们选择连接来看有什么效果,依然能登录。

这种登录是不需要输入administrator帐号的密码的,比起第一种突破方法采要容易许多。现在,我们再回过头来想想突破的关键,其实就是通过牯滞键后门来实现的,因为粘滞键的权限属于system,这是系统最高权限。返回到文章的中心来,要想把黑客拒之于远程终端的门外,我们只需要把sethc.exe的system权限禁用就可以了。

自此,整个攻防就告一段落了,当然为了系统更安全,我还还得把所有可能导致系统注册表、任务管理器启动的隐患排除掉,包括放大镜后门、屏幕键盘后门(当然还有其它一些未公布的启动后门方式)等。