网络空间安全导论
上QQ阅读APP看书,第一时间看更新

3.1 黑客概述

本小节主要是介绍黑客的概念,典型的黑客举例,以及常用的黑客术语。目的是全面并概要了解黑客。

3.1.1 黑客的概念

“黑客”一词是英语Hacker的音译,是指拥有高深的计算机及网络知识,能够躲过系统安全控制,进入或破坏计算机系统或网络的非法用户。

黑客最早始于20世纪50年代,起初,他们都是一些高级的技术人员,热衷于挑战计算机领域内的困难,崇尚自由,并主张信息的共享。他们对计算机有着狂热的兴趣和执着的精神,不断地研究计算机和网络知识,发现计算机和网络中存在的漏洞或弱点,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出修补漏洞的方法。客观地讲,他们的出现推动了计算机和网络的发展与完善。但是今天,黑客一词已经成为那些专门利用计算机进行恶意破坏或违法犯罪的代名词,对这些人还有一种叫法是Cracker,也有人翻译成“骇客”。

黑客通常有黑客技术。简单地说,黑客技术是对计算机系统和网络的缺陷和漏洞的发现,以及针对这些缺陷实施攻击的技术。这里说的缺陷,包括软件缺陷、硬件缺陷、网络协议缺陷、管理缺陷和人为的失误。

现在的黑客攻击方式发展非常迅速,如图3.1所示为攻击发展的历程。最早从20世纪80年代开始,是以猜测密码为主,到现在已经发展成大规模的分布式拒绝服务攻击、蠕虫攻击、勒索攻击等,各种攻击层出不穷。

图3.1 攻击发展的历程

3.1.2 典型的黑客举例

1988年11月2日,还在康奈尔大学读研究生的罗伯特·塔潘·莫里斯(图3.2)制造出了历史上首个通过互联网传播的蠕虫病毒:“莫里斯”(Morris)蠕虫。这是最早在互联网上传播的蠕虫病毒之一,这个蠕虫病毒对当时的互联网几乎构成了一次毁灭性攻击:约有6000台计算机遭到破坏,造成1500万美元的损失。

图3.2 罗伯特·塔潘·莫里斯

莫里斯当时的目的仅仅是探究互联网有多大。然而,“莫里斯”蠕虫却以无法控制的方式自我复制,造成很多计算机死机。正因为如此,他成为首位依据1986年美国《计算机欺诈和滥用法》被起诉的人。他最后被判处3年缓刑、400小时社区服务和1.05万美元罚款。他后来还与人合伙创办了一家为网上商店开发软件的公司,并在三年后将这家公司以4800万美元的价格卖给雅虎,更名为“Yahoo! Store”。莫里斯后来成为麻省理工学院计算机科学与人工智能实验室的终身教授,主攻方向是计算机网络架构。

3.1.3 常用的黑客术语

在黑客的世界里,常常会用到一些专用术语,这里概括讲解一下。有些内容在后面的章节当中还要详细描述。

1.肉鸡

所谓“肉鸡”是一种很形象的比喻。它比喻那些可以随意被攻击者控制的计算机。受害者可以是Windows操作系统,也可以是UNIX/Linux操作系统,可以是普通的个人计算机,也可以是大型的服务器,攻击者可以像操作自己的计算机那样来操作它们,而不被受害者所发觉。

2.木马

木马就是那些表面上正常,但是一旦运行,就会获取系统整个控制权限的伪装程序。有很多黑客就是热衷于使用木马程序来控制别人的。著名的木马有“冰河”“灰鸽子”“黑洞”等。

3.网页木马

网页木马表面上伪装成普通的网页文件或是将自己的代码直接插入到正常的网页文件中。当有人访问该网页时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的计算机上来自动执行。

4.挂马

挂马就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者感染木马。

5.后门

后门(Backdoor)是一种形象的比喻,入侵者在利用某些方法成功地控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或者方法来轻易地与这台计算机建立连接,重新控制这台计算机。这就好像是入侵者偷偷地配了一把主人房间的钥匙,可以随时进出而不被主人发现一样。通常大多数木马程序都可以被入侵者用于制作后门。

6. Rootkit

Rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成Windows下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,等进入系统后,再通过对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装Rootkit,以达到长久控制对方的目的,Rootkit与木马和后门类似,但远比它们要隐蔽,“黑客守卫者”就是很典型的Rootkit。

7. IPC$

IP C$是共享“命名管道”的资源,它是为了进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。如图3.3所示,在DOS状态下输入“net share”命令后,可以看到IPC$。

图3.3 IPC$

8.弱口令

弱口令指那些强度不够,容易被猜解的,类似“123”“abc”“名字+123”这样的口令(密码)。

9.默认共享

默认共享是Windows系统开启共享服务时自动开启所有硬盘的共享,因为加了"$"符号,所以看不到共享的托手图标,也称为隐藏共享。图3.4所示为默认硬盘共享。

图3.4 默认硬盘共享

10. shell

指的是一种命令执行环境,比如我们按下键盘上的〈Win+R〉组合键时出现“运行”对话框,在里面输入“cmd”会出现一个用于执行命令的窗口,这就是Windows的shell执行环境。通常,我们使用远程溢出程序成功溢出远程计算机后所得到的那个用于执行系统命令的环境就是对方的shell。

11. WebShell

WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称作一种网页后门。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问这些asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件、查看数据库、执行任意程序命令等。国内常见的WebShell有“海阳ASP木马”“Phpspy”“c99shell”等。

12.溢出

溢出指的是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者是执行攻击者的命令。大致可以分为堆溢出和栈溢出两类。

13.注入

随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越多,但是由于程序员的水平参差不齐,有相当一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知道的数据,这个就是所谓的SQL注入(SQL injection,详见3.3.5节)。

14.注入点

注入点就是可以实行注入的地方,通常是一个访问数据库的连接。根据注入点数据库的运行账号的权限不同,所得到的权限也不同。

15.内网

内网通俗地讲就是局域网,比如网吧、校园网、公司内部网等都属于此类。通常,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。

16.外网

外网直接连入Internet(互联网),可以与互联网上的任意一台计算机互相访问,IP地址不是保留IP(内网)IP地址。

17.端口

端口(Port)相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而计算机将这些数据处理后,再将相应的回复通过开启的端口传给对方。一般,每一个端口的开放都对应了相应的服务,要关闭这些端口只需要将对应的服务关闭就可以了。如图3.5所示,在DOS状态下使用“netstat-ano”命令,可以看到计算机开放的端口。

图3.5 端口

18.3389肉鸡、4899肉鸡

3389是Windows终端服务(Terminal Services)默认使用的端口号,该服务是微软为了方便网络管理员远程管理及维护服务器而推出的,网络管理员可以使用远程桌面连接到网络上任意一台开启了终端服务的计算机上,成功登录后就会像操作自己的计算机一样来操作主机了。这和远程控制软件甚至木马程序实现的功能很相似,终端服务的连接非常稳定,而且任何杀毒软件都不会查杀,所以也深受黑客喜爱。黑客在入侵了一台主机后,通常都会想办法先添加一个属于自己的后门账号,然后再开启对方的终端服务,这样,自己就可以随时使用终端服务来控制对方了。这样的主机,通常叫作“3389肉鸡”。

Radmin是一款非常优秀的远程控制软件,4899就是Radmin的默认端口号,因此也经常被黑客当作木马来使用(正是这个原因,目前的杀毒软件也对Radmin进行查杀)。因为Radmin的控制功能非常强大,传输速度也比大多数木马快,而且Radmin管理远程计算机时使用的是空口令或弱口令,所以黑客就可以使用一些软件来扫描网络上存在Radmin空口令或者弱口令的主机,然后就可以登录上去远程控制对方,这样被控制的主机通常被称作“4899肉鸡”。

19.免杀

免杀就是通过加壳、加密、修改特征码、加花指令等技术来修改程序,使其逃过杀毒软件的查杀。

20.加壳

就是利用特殊的算法,将EXE(可执行程序)或者DLL(动态连接库文件)的编码进行改变(比如压缩、加密),以达到缩小文件体积或者加密程序编码,甚至是躲过杀毒软件查杀的目的。较常用的壳有UPX、ASPack、PePack、PECompact、UPack、免疫007、木马彩衣,等等。

21.花指令

花指令就是几句汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常判断出病毒文件的构造。说通俗点就是“杀毒软件是按从头到脚的顺序来查找病毒的,如果我们把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了”。

以上是常用的21个黑客术语,了解了这些术语以后,再看到介绍黑客的资料时就不会迷茫了。