什么是黑客?
“黑客”一词是英语Hacker的音译,是指专门研究、发现计算机和网络漏洞的计算机爱好者。黑客最早始于20世纪50年代,最早的计算机1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理工学院,一般都是一些高级的技术人员,他们热衷于挑战、崇尚自由并主张信息的共享。一般来说,黑客对计算机有着狂热的兴趣和执著的精神,他们不断地研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法,他们的出现推动了计算机和网络的发展与完善。但是今天,黑客一词已经被用于那些专门利用计算机进行恶意破坏或违法犯罪的代言词,对这些人正确的叫法应该是cracker,有人也翻译成“骇客”,正是由于这些人的出现使人们把黑客和骇客混为一体。
黑客是什么?
实际上很多人都不理解黑客这个词的真正含义。而且随着时间的推移和互联网技术的进步,黑客这个词的含义也是在不断变化的。通常来说,黑客是那些通过隐秘手段尝试入侵计算机系统的人。但是我们也都知道,黑客的能力绝不仅限于盗取用户密码或者入侵某个名人的Facebook账户那么简单。 有一些黑客为大型企业工作,职责就是保护这些企业的网络,不被其它黑客攻击和入侵。还有些黑客只是为了找乐而发动网络攻击。有些黑客活动家会通过黑客行为表达自己对于某个企业或政府政策的不满。有些黑客盗取别人的账户、密码、认证码或其它有利可图的目标,是为了获得经济利益。当然,也有些黑客只是为了曝光系统中存在的安全漏洞。他们都统称为黑客。 黑客这个词一般来说是带有负面色彩的,因为品行良好的黑客很少出现在电影电视,书籍或其它大众媒体中。为了改变人们对于黑客的负面印象,黑客们尝试创建了另一个名词:破坏者(cracker)。由于大众媒体对于黑客群体的误解,将黑客直接与犯罪等同起来,因此黑客们才想出了破坏者这个名词,希望能让大众将他们区分对待。但是这个词汇一直没有流行起来,所以在任何有关计算机入侵的事件报道中,我们很难看到媒体采用破坏者这个词。 因此现在,黑客泛指那些尝试入侵计算机系统的人,不论他是何意图。 而对于黑客这个词比较权威的解释,我们可以参考Eric Raymond著名的黑客术语辞典(Jargon File): hacker n. [本意,指用斧子制作家具的人] 1. 迷恋于探究可编程系统中的细节以及如何扩展系统能力的人,而普通人只希望了解系统的一小部分必要内容。RFC1392即Internet Users’ Glossary中将该术语的定义适当放大为:那些因深刻理解系统内部运作机制而感到快乐的人,其中的系统尤其特指计算机和计算机网络。 2. 狂热的编程爱好者或那些热衷于实际编程而不仅是编程理论的人。 3. 能够欣赏黑客价值的人 4. 能够快速编程的人 5. 某些特殊程序的专家或频繁使用该程序的人,如‘a Unix hacker’(定义1-5是相互关联的,人们一般将其归纳为一类) 6. 对某些事有狂热的爱好或是专家。比如比喻某人是天文学黑客。 7. 喜欢有创造性的智力挑战,克服思维局限。 8. [不适用] 怀有恶意的试图发觉周围任何敏感信息的人。比如密码黑客、网络黑客。该含义的正确术语应该是破坏者(cracker)。 被称为黑客(hacker)一词的人,意味着属于全球性的网络组织的成员。(参考the network)。 有关这方面的基本文化,可以参考如何成为一名黑客 FAQ。 同时也意味着该人志愿遵守某个版本的黑客道德规范 (参考hacker ethic). 一般来说,黑客不是自封的,而是由别人承认的。黑客们将自己看做是某种精英(在某些能力方面),因此新人很乐意自称为黑客。被打上黑客的标签会让人有自我满足感,但是如果仅仅是自封的头衔,而实际上并没有真材实料,很快就会被大家当做山寨货(bogus)来对待。可参考geek, wannabee. 黑客这个词最早出现在上世纪60年代,被用来代指TMRC 和MIT AI Lab 流行的黑客文化。另外从某种意义上说,在上世纪50年代中期的青少年无线电通信爱好者和电子爱好者也算是最早的黑客。 看过了上面的介绍,你打算做一名黑客吗? 和其他所有专业领域一样,黑客领域也有自己的语言和文化。要想融入该文化圈,你必须证明你是有真材实料的。这一点和其他IT相关领域一样,每个人都觉得自己是大牛,但周围的人都在试图证明你是错的。而黑客圈在证明自我价值这一点上要比其他主流IT圈更严格。 如果你打算做一个文明的黑客,那么我建议你可以在某些网站上学习一下黑客文化或买本书看看。通过学习,你可以了解到作为一个网络安全专家常用的工具,技术,攻击方式以及伦理道德等内容。而这样的学习可以让你即获得了相关的经验,又避免了为了证明自己的实力而进行的攻击测试。 记住,一个文明黑客和一个不文明(非法)的黑客的唯一区别就是,所实施的入侵行为是否得到了目标一方的事先许可。做一个文明黑客也是可以通过帮助企业检查网络漏洞等方式赚到钱的,所以,一定要确保每次入侵行为都是获得许可的。
黑客要知道些什么基本知识?
一、学习技术:
互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依靠他以前掌握的内容,并不能维持他的“黑客身份”超过一年。
初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。
二、伪装自己:
黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。
伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。
如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。
三、发现漏洞:
漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。
黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点--世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。
四、利用漏洞:
对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:
1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;
2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;
3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;
4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;
5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感!
第二节、黑客应掌握的基本技能
从这一节开始,我们就真正踏上学习黑客的道路了,首先要介绍的是作为一名初级黑客所必须掌握的基本技能,学习这可以通过这一节的阅读了解到黑客并不神秘,而且学习起来很容易上手。为了保证初学者对黑客的兴趣,所以本书采取了循环式进度,也就是说每一章节的内容都是独立、全面的,学习者只有完整的学习过一章的内容,才能够进而学习下一章的内容。
一、了解一定量的英文:
学习英文对于黑客来说非常重要,因为现在大多数资料和教程都是英文版本,而且有关黑客的新闻也是从国外过来的,一个漏洞从发现到出现中文介绍,需要大约一个星期的时间,在这段时间内网络管理员就已经有足够的时间修补漏洞了,所以当我们看到中文介绍的时候,这个漏洞可能早就已经不存在了。因此学习黑客从一开始就要尽量阅读英文资料、使用英文软件、并且及时关注国外著名的网络安全网站。
二、学会基本软件的使用:
这里所说的基本软件是指两个内容:一个是我们日常使用的各种电脑常用命令,例如ftp、ping、net等;另一方面还要学会有关黑客工具的使用,这主要包括端口扫描器、漏洞扫描器、信息截获工具和密码破解工具等。因为这些软件品种多,功能各不相同,所以本书在后面将会介绍几款流行的软件使用方法,学习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。
三、初步了解网络协议和工作原理:
所谓“初步了解”就是“按照自己的理解方式”弄明白网络的工作原理,因为协议涉及的知识多且复杂,所以如果在一开始就进行深入研究,势必会大大挫伤学习积极性。在这里我建议学习者初步了解有关tcp/ip协议,尤其是浏览网页的时候网络是如何传递信息、客户端浏览器如何申请“握手信息”、服务器端如何“应答握手信息”并“接受请求”等内容,此部分内容将会在后面的章节中进行具体介绍。
四、熟悉几种流行的编程语言和脚本:
同上面所述一样,这里也不要求学习者进行深入学习,只要能够看懂有关语言、知道程序执行结果就可以了。建议学习者初步学习C语言、asp和cgi脚本语言,另外对于htm超文本语言和php、java等做基本了解,主要学习这些语言中的“变量”和“数组”部分,因为语言之间存在内在联系,所以只要熟练掌握其中一们,其他语言也可以一脉相同,建议学习C语言和htm超文本语言。
五、熟悉网络应用程序:
网络应用程序包括各种服务器软件后台程序,例如:wuftp、Apache等服务器后台;还有网上流行的各种论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依靠理论学习要容易许多,能够达到事半功倍的效果
/本篇文章来源于 新贵网 原文出处:
是我们也都知道,黑客的能力绝不仅限于盗取用户密码或者入侵某个名人的Facebook账户那么简单。 有一些黑客为大型企业工作,职责就是保护这些企业的网络,不被其它黑客攻击和入侵。
、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依靠理论学习要容易许多,能够达到事半功倍的效果/本篇文章来源于 新贵网 原文出处:
习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。 三、初步了解网络协议和工作原理: 所谓“初
们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情: 1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统; 2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器