学习黑客知识前,首先要了解黑客常见的术语与命令,当然,进程、端口、IP地址等基础知识也是很必要的。
什么是黑客?
有些人习惯性认为黑客是电脑的侵入者,而且很多时候代表的是一个贬义的名词,其实黑客指代的是拥有熟练电脑技术的人,并无明显的褒义贬义之分,其中,在黑客的领域里,有一类黑客叫白帽黑客,这类人是有能力破坏电脑安全但是不具有恶意目的的黑客,他们一般有着清楚的道德规范,并常常试图同企业合作去改善被发现的安全弱点。对应的还有黑帽黑客/黑帽怪和灰帽黑客。
黑客:源自于英文hacker,是对水平高超的电脑专家(尤其是程序设计人员)的一个统称。
红客:维护国家利益,不去利用网络技术入侵自己国家电脑,而是维护正义,为自己国家争光的黑客。
蓝客:提倡爱国主义的黑客们,经常用自己的力量来维护网络和平。
骇客:源自于英文Cracker,经常从事恶意破解商业软件、恶意入侵别人的网络等事物。
看到这里,大家应该明白了吧,骇客才是我们应该认为的不合法的电脑侵入者,或许因为hacker的发音类似于骇客,却被翻译成黑客,才会引起这番误解吧。
黑客需要掌握的知识
成为一名黑客,并没有想象中那么简单,不仅需要熟练掌握一定的英文、理解常用的黑客术语和网络安全术语、熟练使用常用DOS命令和黑客工具,而且需要掌握主流的编程语言及脚本。
掌握英文:一个漏洞从发现到出现中文介绍,需要大约一周时间,而一周时间足以让网络管理员修补漏洞了,如果等中文介绍出现,可能这个漏洞已经不存在了,因此,想成为一名黑客,一开始就要尽量阅读英文资料、使用英文软件,且及时关注国外著名的网络安全网站。
理解术语:如果对黑客术语不理解,当你与其他黑客交流技术或经验时就会显得吃力,如果对网络安全术语不理解,那么,排查问题并解决问题时也会遇到一定的阻碍。
DOS命令与黑客工具:这些可以帮助你扫描漏洞及排查漏洞存在的原因及解决方案。
编程语言及脚本:很多漏洞的出现都会介入在语言中,比如我们熟知的SQL注入引入的数据安全问题,因此,学习编程语言及脚本也是有必要的。
黑客常用术语
肉鸡:比喻那些可以随意被黑客控制的电脑,黑客在操作它们的时候不会被对方发觉。
木马:伪装成正常程序的病毒程序,当这些被程序运行时,会获取系统的整个控制权限。
网页木马:伪装成普通网页的木马网页或将木马的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马服务端下载到访问者的电脑上来自动执行。
挂马:在别人的网站文件里面放入网页木马或将代码潜入到对方正常的网页文件里,使浏览者中木马病毒。
后门:黑客在利用某些方法成功地控制了目标主机后,可以在对方的系统中植入特地的程序,或者修改某些设置。大多数特洛伊木马程序都可以被入侵者用于制作后门。
IPC$:共享“命名管道”的资源,是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
弱口令:强度不够,容易被猜解的密码。
Shell:命令运行环境。
WebShell:以ASP, PHP, JSP或者CGI等网页文件形式存在的一种命令执行环境,也可以将其称作是一种网页后门。
溢出:缓冲区溢出,程序对接受的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者执行攻击者的命令。分为堆溢出和栈溢出。
SQL注入:用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些要获得的数据,就是SQL注入。
注入点:可以实行注入的地方,通常是一个访问数据库的连接,根据注入点数据库的运行账号权限的不同,所得到的权限也不同。
内网:局域网。查看IP时,如果在以下三个范围内,就说明这电脑是处于内网之中:10.0.0.0~10.255.255.255, 172.16.0.0~172.31.255.255, 192.168.0.0~192.168.255.255
外网:互联网,全球性的互联网络。比如中国的电脑上网访问美国的微软官网。外网IP地址是可以进行全球连接的。
免杀:通过加壳、加密、修改特征码、加花指令等技术来修改程序,使其逃过杀毒软件的查杀。
加壳:利用特殊的算法,将exe可执行程序或dll动态链接库文件的编码进行改变(如实现压缩、加密),以达到缩小文件体积或加密程序编码,甚至躲过杀毒软件的查杀目的。目前较常用的壳有UPX, ASPack, PePack, PECompact, UPack等。
花指令:让汇编语句进行一些跳转,使得杀毒软件不能正常地判断病毒文件的构造。
进程
进程是程序在计算机上的一次执行活动。当运行一个程序,就启动了一个进程。显然,程序是静态的,进程是动态的。进程分为系统进程和用户进程两种。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身。用户进程就是所有由用户启动的进程,进程是操作系统进行资源分配的单位。
端口
端口可认为是计算机与外界通信交流的出口。其中硬件领域的端口又称为接口,如USB端口,串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O缓冲区。
端口是传输层的内容,是面向连接的,它们对应着网络上常见的一些服务。如TCP端口(面向连接,如打电话),UDP端口(无连接,如写信)两种。
在网络中可以被命名和寻址的通信端口是一种可分配资源,由网络OSI协议可知,传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。因此,当应用程序通过系统调用与某端口建立连接之后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。
端口分类
按端口号分:
公认端口:包括端口号0~1023,它们紧密绑定于一些服务,通常这些端口的通信明确表明了某种服务的协议。
注册端口:包括端口号1024~49151,它们松散地绑定于一些服务。
动态和/或私有端口:包括端口号49152~65535,理论上,不应为服务分配这些端口,但是一些木马和病毒喜欢这样的端口,因为其不易引起人们注意而易屏蔽。
按协议类型分:
使用TCP协议的常见端口:FTP协议端口(21, 定义文件传输协议),Telnet协议端口(用于远程登录),SMTP协议端口(25,邮件服务器使用),POP3(110,用于接收邮件)。
使用UDP协议的常见端口:HTTP协议端口(80,用户使用最多的协议),DNS协议端口(53,用于域名解析),SNMP(161,管理网络设备),QQ协议端口(提供服务又接收服务,使用无连接协议,使用8000侦听接收消息,4000向外发送消息)。
查看端口
为了查找目标主机上都开放了哪些端口,可以使用某些扫描工具对目标主机进行一定范围内的端口进行扫描。黑客通常使用这种方法掌握目标主机上的端口开放情况,对目标主机进行攻击的。
在Windows系统中,可以使用netstat命令查看端口:打开cmd命令窗口输入“netstat -a -n”。
如果在管理员不知情的情况下打开了太多端口,容易引发危险,因此,如果管理员不了解服务器提供的服务,就会降低系统的安全系数。
原文:http://www.cnblogs.com/Ribbon/p/4870479.html