可不可以带我入门 我要当黑客!
客入门(超级详细版)
一.黑客的分类和行为 以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑
客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过
各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从
事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”
(Hacker),也就是我们平时经常听说的“黑客”(Cacker)和“红客”(Hacker)。无
论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是
一样的。即便日后他们各自走上了不同的道路,但是所做的事情也差不多,只不过出发点和
目的不一样而已。很多人曾经问我:“做黑客平时都做什么?是不是非常刺激?”也有人对
黑客的理解是“天天做无聊且重复的事情”。实际上这些又是一个错误的认识,黑客平时需
要用大量的时间学习,我不知道这个过程有没有终点,只知道“多多益善”。由于学习黑客
完全出于个人爱好,所以无所谓“无聊”;重复是不可避免的,因为“熟能生巧”,只有经
过不断的联系、实践,才可能自己体会出一些只可意会、不可言传的心得。在学习之余,黑
客应该将自己所掌握的知识应用到实际当中,无论是哪种黑客做出来的事情,根本目的无非
是在实际中掌握自己所学习的内容。黑客的行为主要有以下几种:
黑客要具备哪些知识?
身为黑客你首先要有编程基础,懂得网络(如了解网络协议等等)英文水平要高,尤其是专业术语。你要熟练掌握DOS命令。其实黑客很多都是有专攻的,比如有的专攻破解方面的,有的喜欢入侵,有的就喜欢找漏洞。不是每个黑客是什么都很厉害的。你想好你要专攻的方面,在查找相关的知识,这样你学习得会更有效率的。本人在邪恶八进制里学习,欢迎来我们这里交流。我们这里有专门版块是适合初学者学习的。
黑客要知道些什么基本知识?
一、学习技术:
互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依靠他以前掌握的内容,并不能维持他的“黑客身份”超过一年。
初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。
二、伪装自己:
黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。
伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。
如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。
三、发现漏洞:
漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。
黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点--世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。
四、利用漏洞:
对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:
1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;
2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;
3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;
4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;
5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感!
第二节、黑客应掌握的基本技能
从这一节开始,我们就真正踏上学习黑客的道路了,首先要介绍的是作为一名初级黑客所必须掌握的基本技能,学习这可以通过这一节的阅读了解到黑客并不神秘,而且学习起来很容易上手。为了保证初学者对黑客的兴趣,所以本书采取了循环式进度,也就是说每一章节的内容都是独立、全面的,学习者只有完整的学习过一章的内容,才能够进而学习下一章的内容。
一、了解一定量的英文:
学习英文对于黑客来说非常重要,因为现在大多数资料和教程都是英文版本,而且有关黑客的新闻也是从国外过来的,一个漏洞从发现到出现中文介绍,需要大约一个星期的时间,在这段时间内网络管理员就已经有足够的时间修补漏洞了,所以当我们看到中文介绍的时候,这个漏洞可能早就已经不存在了。因此学习黑客从一开始就要尽量阅读英文资料、使用英文软件、并且及时关注国外著名的网络安全网站。
二、学会基本软件的使用:
这里所说的基本软件是指两个内容:一个是我们日常使用的各种电脑常用命令,例如ftp、ping、net等;另一方面还要学会有关黑客工具的使用,这主要包括端口扫描器、漏洞扫描器、信息截获工具和密码破解工具等。因为这些软件品种多,功能各不相同,所以本书在后面将会介绍几款流行的软件使用方法,学习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。
三、初步了解网络协议和工作原理:
所谓“初步了解”就是“按照自己的理解方式”弄明白网络的工作原理,因为协议涉及的知识多且复杂,所以如果在一开始就进行深入研究,势必会大大挫伤学习积极性。在这里我建议学习者初步了解有关tcp/ip协议,尤其是浏览网页的时候网络是如何传递信息、客户端浏览器如何申请“握手信息”、服务器端如何“应答握手信息”并“接受请求”等内容,此部分内容将会在后面的章节中进行具体介绍。
四、熟悉几种流行的编程语言和脚本:
同上面所述一样,这里也不要求学习者进行深入学习,只要能够看懂有关语言、知道程序执行结果就可以了。建议学习者初步学习C语言、asp和cgi脚本语言,另外对于htm超文本语言和php、java等做基本了解,主要学习这些语言中的“变量”和“数组”部分,因为语言之间存在内在联系,所以只要熟练掌握其中一们,其他语言也可以一脉相同,建议学习C语言和htm超文本语言。
五、熟悉网络应用程序:
网络应用程序包括各种服务器软件后台程序,例如:wuftp、Apache等服务器后台;还有网上流行的各种论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依靠理论学习要容易许多,能够达到事半功倍的效果
/本篇文章来源于 新贵网 原文出处:http://www.2xg.cn/?dp-bbsthread-67435.html
什么是黑客?做黑客犯不犯法?黑客做哪些坏事?
什么是黑客?
黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
黑客守则:
第一条:不恶意破坏任何的系统,这样作只会给你带来麻烦。恶意破坏它人的软体将导致法律刑责,如果你只是使用电脑, 那仅为非法使用! 注意:千万不要破坏别人的软体或资料!
第二条:不修改任何的系统档,如果你是为了要进入系统而修改它,请在答到目的后将它改回原状。
第三条:不要轻易的将你要 Hack 的站点告诉你不信任的朋友。
第四条:不要在bbs上谈论你Hack 的任何事情。
第五条:在Post文章的时候不要使用真名。
第六条. 正在入侵的时候, 不要随意离开你的电脑
第七条. 不要侵入或破坏政府机关的主机。
第八条. 不在电话中谈论你 Hack 的任何事情。
第九条. 将你的笔记放在安全的地方。
真正的黑客应该具备什么素质
我想能看到这篇文章的朋友,一定对黑客这个词不陌生。但能真正彻底的理解这个词却不是一件容易的事。在这里我要说些不同的看法,并不是要说明什么,只是想要告诉大家,事情有好多方面,从不同的角度看一件事可能会有好多不同的答案。比如,时下在国内网络界很火的红客,蓝客。就我个人认为这是对黑客和黑客精神的不尊敬,也代表着他们对“黑客”一词并不是很了解。
“黑客”算是一个外来词, 是hacker的中文翻译。其实它也没有什么特殊的意思,原意是指一些热衷于计算机和网络技术的人。这些人为计算机和网络世界而发狂,对任何有趣的问题都会去研究,他们的精神是一般人所不能领悟的。无可非议,这样的“hacker”是一个褒意词。但英雄谁都愿意做,慢慢的有些人打着黑客的旗帜,做了许多并不光彩的事。黑客们叫他们骇客(creaker),并以他们为耻,不愿和他们做朋友。其实,黑客和骇客并没有一个十分明显的界限。他们都入侵网络,破解密码。但从他们的出发点上看,却有着本质的不同:黑客是为了网络安全而入侵,为了提高自己的技术而入侵。free是黑客们的理想, 他们梦想的网络世界是没有利益冲突,没有金钱交易,完全共享的自由世界。而骇客们呢,为了达到自己的私欲,进入别人的系统大肆破坏。为了几个零花钱而破解软件。黑客们拼命的研究,是为了完善网络,是网络更加安全。 骇客们也在钻研,他们是为了成为网络世界的统治者,成为网络世界的神。这是多么可怕的想法,现代社会越来越依赖于网络,如果没有黑客保护我们的网络,我们的网络就会被那些别有用心的骇客所利用,成为一个暗无天日的世界。
以上是黑客和骇客的区别。现在谈谈中国特有的红客和蓝客。也许是中国人自古就不太喜欢“黑”这个字,一想到黑字就想到了一些乌七八糟的东西。也许中国第一个黑客就不是什么好人,也没做什么好事,给大家的第一影响就不是很好。以至于现在有好多网络高手不想和黑客扯上一点关系,却以红客和蓝客自居。为什么?黑客这个称号不配你,还是你配不上这个称号。这不是跆拳道,白带,黄带,蓝带,一级级的来,最后到黑带。我认为,在网络世界里只有黑客和骇客的斗争,一正一邪。其他什么都没用。真心想为网络做点什么吗?好的,来做黑客,全身心的投入,一生不懈的努力。总是会有收获的,即使没有做成黑客,努力过了,也会心安理得。而不是用红客,蓝客自欺欺人。
我不是针对某些组织,我只是想说出自己的看法。我总是觉得,连网络界的朋友心都不齐,闹着要分家。大众诋毁黑客也是理所当然的了。 敢于做黑客,即使被别人误解。他们不理解 ,好,用实际行动来证明自己,用实际行动来告诉别人真正的黑客是什么样的。用小软件破解个QQ号,丢个炸弹,不算什么黑客。当大家真正知道了什么才是黑客,那些自以为是的人便成了大家的笑柄,网络上便不再会有这些偷鸡摸狗的事,大家都专心研究技术。这样的网络世界才会发展,这样的网络世界才是我们向往的最理想的家园。
我个人认为的做黑客要具备的几个基本要素:
首先,想要做一名黑客,首先要学会尊重网络。有些人在网上到处留假信息,注册的姓名,年龄都是假的。一方面,这样做是为了安全。但这样却侮辱了网络。你可以把它比作你的爱人,你对你的爱人说的话没一句是真的,这能代表你是真的爱她吗?现在几乎所有的正规网站都会对用户的资料进行一定程度的保护。担心网络会泄密,有些多余,再说你又不是克林顿,布什,都平常的网民怕什么,正所谓“我是流氓我怕谁”。(以上不包括必须留假姓名的情况)
其次,要想成为一名黑客不懂得网络及相应的计算机知识是不可想象的。每一个黑客都有着超乎常人的钻研精神,而且非常善于学习。时代在进步,科技也在不断的完善,只有学习我们才不会落后,只有不断的学习我们才能领先于别人。想在网络中闹出些名堂来,有些知识是不得不学的。网络基础,顾名思义他是网络世界中最原始的规则,如果连游戏规则都不懂,怎么玩转它。TCP/IP,这是现在的网络上最流行的一种网络协议,网络上大部分的工作都是*这种网络协议来完成。还有很多,这里就不多说了。
你学过编程吗?学的怎么样,有什么成绩了?编程对于一名计算机或网络工作者来说,就像左右手一样重要。不会的话赶快学吧!我建议要学多几种编程语言,已备不同情况时使用。这里我推荐几种:汇编语言,我个人觉得这是一种最有用的编程语言。虽然有点复杂,但它是汇编语言,比高级语言更*近计算机硬件。在某些问题上要优于高级语言。在高级语言中我比较喜欢Delphi,大家不是都说吗“真正的程序员用VC,聪明的程序员哟Delhpi,用VB的不是程序员。”Delphi的结构简单,功能强大,是我喜欢它的原因。如果你要立志成为一名优秀的程序员,而学习VC的话。我会替你高兴的,但你在信誓旦旦的同时也要做好受尽煎熬的准备,VC有是并不想你想象的那么可爱。网络时代许多网络编程语言成了大家的新宠,在这其中我还是推荐一种比较基础的HTML语言。一来是因为它比较基础,二来它已经得到了大家的公认,掌握的人也挺多,不懂可以问,这对你学习是很有帮助的。
现在,也许我们的个人电脑安装的都是微软的产品。但在真正的网络服务器,网络操作系统多种多样,这是因为大家对网络的安全性要求不尽相同。Windows 2000,Unix,Liunx, SUN OS这些都是现在网络上比较流行的网络操作系统。从我的观点来说,这些是我们都要掌握。至少要有个大概了解,再对一两种有深入的研究。了解它的历史,工作原理,特性以及它的漏洞。这样,我们才不会在遇到他们时手忙脚乱。
其实做黑客对人自身也有要求。聪明好学先放在一旁不说,光是入侵是不管的试密码和破解是长时间的等待就是常人难以忍受的。而且,黑客和骇客的区别不大,往往就在一念之间。经过几年的努力,就因为一念之差做了骇客。大家肯定都不愿做,但有时就是控制不住自己了。所以,我们要练习着使自己有耐性,还要淡漠名利,一心只想着FREE。
另外,英语不太好的朋友赶快把英语学好。我想,中国的黑客技术发展很慢的一大原因就是因为我们的英语水平不高。不像欧洲和美国的黑客那样可以进行技术交流,而且许多的技术文章,漏斗报告都是先有英文版,在翻成中文的。也许文章是由一些蹩脚的,非计算机专业的人来翻译。这就造成了技术的滞后和失真。也许有人会说,太忙了,没时间学。我说,不如我们三个月不谈计算机,不谈网络,一门心思学习英语。先利其器,磨刀不误砍柴功。等到学好了英语,再来看英文的技术文章,你会觉得眼前一片豁亮,学起来更加得心应手。
上面说的是做黑客的一些要求,这类文章网上到处都是。下面我想说的是,我们的黑客组织并不完善,这在某些方面也拖慢了我们前进的步伐。
黑客组织是一个很严密的机构,在其中分工明确,细致入微。像很著名的黑客组织DAY0,这个组织是一个偏重于软件破解的黑客组织。他们就分好多部门:采购部,买正版软件(大部分是试用版)以供给破解部门。破解部,核心部门,进行软件密码的破解。测试部,对软件进行检测,发现BUG马上通知破解部修正。发行部,负责软件的上传,以供其他网友下载。信息部,收集信息,接受网友们的信息反馈。这些部门的成员也许分布在地球的不同角落,但他们分工明确,接到任务马上执行。
在我看来黑客大概可以有以下几种分工:
编程:我们现在用的黑客软件都是这类人编写的,还有那些可恶的病毒。他们大都是程序员出身,对网络并不熟悉。但他们都有扎实的计算机功底和过硬的编程技术,是很棒的计算机人才。他们会利用自身的优势编写许多有用的软件出来,使我们的网络世界更加丰富,也可以使我们的入侵变得更加简单。
破解:这是很早以前就形成的一个分支。这些人主要进行的工作是破解试用版软件的密码,从而使这个软件成为真正意义上的免费软件。这些人其实也掌握了编程的技术,而他们对破解密码,反编译更加有经验。黑客精神中最精华的部分就体现在这些人的工作中,把任何软件都变成自由软件,共享出来给大家免费下载。
入侵:好多人把黑客理解为入侵的人,殊不知入侵只是黑客团体中一种分工。黑客们的入侵是为了更加的了解网络,他们不断的入侵,发现漏洞,解决它。虽然,他们的行为没有经过服务器主人的允许,但他们的行为是为了网络的安全着想。入侵使网络上介绍最多的一个黑客分支,大家对他也比较了解了,我也不再多说什么。但你要注意,进入别人的主机,千万不要图一时之快,删掉不该删的东西。这样做着会让真正的黑客看不起,没准也会招来不必要的麻烦。
维护:有攻就有防,有一类人就是专门研究网络维护方面的专家。他们对黑客的攻击手段很了解,修补漏洞是他们的家常便饭。可以说他们比入侵者更强,更了解我们的网络。因为,入侵者可以用一种方法进攻不同的站点和主机。有一个成功了,他的入侵就算成功。而维护人员要防许多黑客的进攻,有一次失败,就是失败。这好像足球场上的前锋和守门员的区别。前锋,攻城拔寨,谁都想当。而守门员默默地站在本方的门前,保护着自己的球门,但通常守门员是一支球队中身体素质最好的。
在这四类工作中还可以再进行不同的分工,但要根据自身情况而定,这里也不细讲了。
还有一种人,他们在黑客团体中并不显眼,但他们却为黑客技术的发展起了不小的作用。他们在写文章,把他们知道的东西都写成文章,无私的传授给别人。在他们的帮助下,越来越多的人进入了黑客这个神圣的团体中。而他们还在默默的写着,用他们的文章描绘真正的黑客和黑客精神。
我希望大家看了我的文章会对黑客以及黑客精神有了另一种理解,我的目的也就在于此。黑客不是神,也不是什么高高在上的职业,有的黑客甚至不能用他的黑客技术填饱自己的肚子。黑客只是一种爱好,只是一种兴趣,很多人为了这个爱好,兴趣付出了自己最宝贵的东西。而我们要学着尊重网络,尊重黑客精神,我们的前辈有生命谱写的黑客文化是不容我们玷污的。
最后,我附上在网上已经流传了很久的一段黑客守则。看过的人,请再看几遍,也许你会感到有以前你没看到的东西在里面。没看过的人,仔细看,能被就背下来吧,它在我眼里更像是护身符。不懂英文的人,就当是学英语了。
1 Never damage any system. This will only get you into trouble.不恶意破坏任何系统, 这样做只会给你带来麻烦。恶意破坏它人的软件或系统将导致法律刑责, 如果你只是使用电脑,那仅为非法使用!!注意:千万不要破坏别人的软件或资料!!
2 Never alter any of the systems files, except for those needed to insure that you are not detected, and those to insure that you have access into that computer in the future. 绝不修改任何系统文件,除非你认为有绝对把握的文件,或者要改那些文件是为了使你自己在以后更容易的再次进入这个系统而必须更改的。
3 Do not share any information about your hacking projects with anyone but those you''d trust.不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。
4 When posting on BBS''s (Bulletin Board Systems) be as vague as possible when describing your current hacking projects. BBS''s CAN be monitered by law enforcement.当你发送相关信息到BBS(电子公告板)时,对于你当前所做的黑事尽可能说的含糊一些,以避免BBS受到警告。
5 Never use anyone''s real name or real phone number when posting on a BBS.在BBS上Post文章的时候不要使用真名和真实的电话号码。
6 Never leave your handle on any systems that you hack in to.如果你黑了某个系统,绝对不要留下任何的蛛丝马迹。(绝对不要留下大名或者是绰号之类的,这时由于成功的兴奋所导致的个人过度表现欲望会害死你的。)
7 Do not hack government computers.不要侵入或破坏政府机关的主机。
8 Never speak about hacking projects over your home telephone line.不在家庭电话中谈论你Hack的任何事情。
9 Be paranoid. Keep all of your hacking materials in a safe place.将你的黑客资料放在安全的地方。
10 To become a real hacker, you have to hack. You can''t just sit around reading text files and hanging out on BBS''s. This is not what hacking is all about.想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。你不能仅仅*坐在家里读些黑客之类的文章或者从BBS中扒点东西,就能成为黑客,这不是"黑客"
真正的黑客 什么是黑客?只会使用工具来入侵的就叫黑客?网名:Coolfire !联系方法:cool.fire@msa.hinet.net 一个台湾籍黑客。出名之做遍是那8篇黑客入门文章,给众多菜鸟带来了福音。而当时还是中国黑客成长的初期。此人被人们定为中国第一代黑客。 网名:小榕 !个人站点:http://www.netxeyes.org 提起这个名字,人们就会想到流光。这个当年让菜鸟入侵无数主机的武器遍出自小榕之手。小榕是高级程序员,所以精通的是软件开发和程序制作。流光,乱刀,溺雪及SQL注入......
我想当一个黑客,请问我该学些什么?
编程先。电脑基础操作系统。然后深入学习入侵和免杀等等。学这个要很大的毅力。
我刚刚接触就放弃了,因为我要学习,我还是个学生。
如果你也是的话 建议你学业为重。
以后有的是时间学这东西。
网络黑客是怎么操作的
Web服务器将成为下一代黑客施展妖术的对象。在很大程度上,进行这种攻击只需一个Web浏览器和一个创造性的头脑。以前,黑客的攻击对象集中在操作系统和网络协议上,但随着这些攻击目标的弱点和漏洞逐渐得到修补,要进行这类攻击已经变得非常困难。操作系统正在变得更加稳健,对攻击的抵抗能力日益提高。随着身份验证和加密功能渐渐被内置到网络协议中,网络协议也变得更加安全。此外,防火墙也越来越智能,成为网络和系统的外部保护屏障。
另一方面,电子商务技术正在日益普及开来,其复杂性有增无减。基于Web的应用程序正在与基本的操作系统和后端数据库更加紧密地集成在一起。遗憾的是,人们在基于Web的基础设施安全性方面所做的工作还很不够。Web服务器和Web应用程序中的弱点被发现的速度为何这么快呢?
有很多因素促成了这种Web黑客活动的快速增加。其中最主要的原因是防火墙允许所有的Web通信都可以进出网络,而防火墙无法防止对Web服务器程序及其组件或Web应用程序的攻击。第二个原因是,Web服务器和基于Web的应用程序有时是在“功能第一,安全其次”的思想指导下开发出来的。
当您的Web服务器面临巨大威胁时,怎样保障它们的安全呢?这就需要您不断了解新信息,新情况,每天跟踪您所用服务器的有关网站,阅读相关新闻并向它进行咨询。为了让你着手这方面的工作,下面介绍黑客对NT系统的四种常用攻击手段,同时介绍如何防止这类攻击。
Microsoft IIS ism.dll缓冲区溢出
受影响的服务器:运行IIS 4.0并带有“Service Pack 3/4/5”的Windows NT服务器
Microsoft IIS缓冲区溢出这一安全弱点是Web服务器无时不有的重大缺陷之一。该弱点被称为IIS
eEye,这个名称来自发现此问题的一个小组。在实施缓冲区溢出攻击时,黑客向目标程序或服务输入超出程序处理能力的数据,导致程序突然终止。另外,还可以通过设置,在执行中的程序终止运行前,用输入的内容来覆盖此程序的某些部分,这样就可以在服务器的安全权限环境下执行任意黑客命令。
eEye发现,IIS用来解释HTR文件的解释程序是ism.dll,它对缓冲区溢出攻击的抵抗力十分脆弱。如果攻击者将一个以.htr结尾的超长文件名(大约3,000个字符,或更多)传递给IIS,那么输入值将在ism.dll中造成输入缓冲区溢出,并导致IIS崩溃。如果攻击者输入的不是一串字母而是可执行代码(通常称为“鸡蛋”或“外壳代码”),那么在IIS终止之前将执行该代码。由eEye小组发现的这一攻击方法包括三个步骤:
1.创建一个用于侦听任意TCP端口上连接活动的程序。一旦接收到连接信号,该程序将执行一个Windows命令外壳程序(cmd.exe),并将该外壳与连接绑定在一起。这个程序是经过修改的Netcat。Netcat是一个流行的网络连接实用程序,其源代码可以免费获得。
2.在IIS的ism.dll中制造缓冲区溢出,并使IIS从外部Web站点下载侦听程序(由步骤1产生)。
3.执行刚下载的程序(由步骤2产生),该程序将等待传入的连接并使攻击者进入Windows命令外壳程序中。
由于缓冲区溢出导致IIS在崩溃之前转而运行Windows命令外壳,所以该外壳程序将在IIS的安全权限背景下运行,而该安全权限背景等价于NT
Administrator权限。这样,攻击者要做的只是与被攻击的IIS服务器的侦听端口建立连接,然后等着出现c:提示就万事大吉了。现在,攻击者拥有对整个NT服务器的管理权限,可以做任何事,比如,添加新用户、修改服务器的内容、格式化驱动器,甚至将该服务器用作攻击其它系统的踏脚石。
运行IIS 4.0并带有“Service Pack 3/4/5”的Windows
NT服务器容易受到此类攻击。Microsoft已经发布了对该弱点的修补程序。Windows NT Service Pack
6也已经修补了该问题。
Microsoft IIS MDAC RDS安全弱点
受影响的服务器:运行IIS 4.0并安装了MDAC 2.1或更早版本的Windows NT服务器
在发现IIS eEye安全弱点的大约一个月后,IIS
4.0的另一个弱点又暴露出来。使用Microsoft数据访问组件(MDAC)和远程数据服务(RDS),攻击者可以建立非法的ODBC连接,并获得对Web服务器上的内部文件的访问权。如果安装了Microsoft
Jet OLE DB提供程序或Datashape提供程序,攻击者可以使用Visual Basic for Applications
shell()函数发出能够在服务器上执行的命令。
在安装了MDAC 2.1或更高版本的IIS 4.0上,从位于其公共目录中的msadcmsadcs.dll,可以找到MDAC
RDS弱点。Rain Forest
Puppy在其站点中对该弱点进行了详细说明。该弱点利用了IIS上MDAC默认安装时的不适当配置和安全机制的缺乏这一漏洞。在等价于NT
Administrator的IIS Web服务器进程的安全权限背景下,进行这种攻击的黑客可以在NT系统上远程执行任意命令。
MDAC的弱点不是由于技术造成的,而是由于用户对它的配置方式所致。很多站点是通过NT Option Pack 4.0安装IIS
4.0的。如果NT Option Pack
4.0是以典型或默认配置安装的,那么MDAC就容易遭到这种攻击。大多数使用默认安装的系统管理员都没有具体调整过这些设置,从而使Web服务器的安全性大大降低。
Foundstone公司的George Kurtz、Purdue大学的Nitesh
Dhanjani和我曾经共同设计了一个只有一行的命令字符串,该命令将利用MDAC
RDS弱点,使远程NT系统启动一个通过FTP或TFTP进行的文件传输过程。这个命令将告诉服务器到从某个外部系统下载并执行Netcat。Netcat将运行Windows命令外壳程序,并建立一个返回攻击者计算机的连接,这样,攻击者就获得了对远程NT系统的完全管理控制权。
Microsoft已经发布了相应的安全公告,并对使IIS 4.0免受该弱点攻击的保护措施进行了说明。
Allaire ColdFusion 4.0弱点
受影响的服务器:运行在Windows NT上的Allaire ColdFusion Server 4.0
作为还算容易使用的、功能强大的脚本语言,ColdFusion已经广泛流行起来。但流行并不意味着安全。ColdFusion的问题不在于该服务器自身,而是在于它附带的脚本。ColdFusion
4.0提供了示范应用程序和范例,它们可以在位于Web服务器根目录中的cfdocsexampleapp和cfdocsexpeval目录中找到。当用户执行典型安装时,将安装这些应用程序和脚本。ColdFusion所附带的部分范例经过修改后,将允许非法访问服务器上所包含的敏感数据。这些弱点表明,基本的应用程序服务器可以被编写得不好的应用程序脚本歪曲利用。
存在这种弱点的一个范例应用程序是cfdocsexampleappdocssourcewindow.cfm。因为ColdFusion是作为具有Administrator权限的系统服务运行的,所以,该程序可以被用来任意访问和查看NT
Web服务器上的任何文件,包括boot.ini。用这种方法可以检索任何文件。Packet Storm对该弱点做了完整解释。
而更严重的弱点存在于cfdocsexpevalopenfile.cfm、cfdocsexpevaldisplayopenedfile.cfm和cfdocsexpevalexprcalc.cfm中。这三个文件可以用来查看服务器上的任何文件,更为严重的是,它们还能将任意文件上载到服务器。对该弱点如何发作的讨论超出了本文的范围,欲了解详细信息请访问L0pht
Heavy
Industries的咨询信息。表达式求值程序exprcalc.cfm用于让开发人员计算被上载文件中的ColdFusion表达式的值。作为预防手段,该脚本在进行表达式计算时便会把被上载的文件删除掉,但要避免删除却是件容易的事。这样,攻击者可以上载恶意文件,并最终控制服务器。
这些就是ColdFusion的示范脚本中最严重的弱点。要防止出现问题,请从任何运行中的服务器中删除ColdFusion示范脚本。Allaire的Security
Zone提供了补丁程序,并提供了如何保护ColdFusion服务器的进一步信息。
Sambar 4.3 hello.bat
受影响的服务器:运行在Windows NT上的Sambar 4.3 beta 7和更早版本
Sambar是提供给开发者的免费Web服务器。它提供了对CGI和WinCGI脚本、ODBC脚本以及ISAPI的支持。它甚至捆绑了Perl
5解释器。
Sambar 4.3 beta
7版和更早版本附带两个名为hello.bat和echo.bat的文件,它们是将Windows批处理文件用作CGI脚本的范例。这两个脚本本身没有问题,hello.bat显示字符串“Hello
World”,而echo.bat显示字符串“Place
Holder”。但当批处理文件被用作CGI脚本时,Web服务器将使用Windows命令外壳程序cmd.exe来运行它们。这样,攻击者可以利用该弱点针对目标服务器运行任意命令。例如,假如攻击者把URL
http://target.site/cgi-bin/hello.bat?dir+c:放在他或她的浏览器中,那么,将在服务器上运行命令“dir
c:”,并在浏览器上显示结果。由于Sambar是在NT
Administrator安全权限下运行的,因此事情会变得更为复杂。这样的权限等级可以让攻击者作为NT Administrator运行任意命令。
Windows命令外壳使用“”在相同命令行上分隔多个命令。如果用户将“”放在hello.bat的后面,并在其后添加一个命令,那么将在执行hello.bat后执行第二个命令。
由于已经删除了文件hello.bat和echo.bat,Sambar 4.3 beta
8版和更高版本没有该弱点。但是,由于Windows命令外壳程序解析命令行的方式无法改变,所以并没有办法能真正修正该问题。如果您安装了4.3
beta 7版或更低版本,请一定要删除hello.bat和echo.bat。