黑客攻击手段及反黑措施
除了常见的政治、经济或个人报复等方面的因素外,单从技术上说,黑客入侵的动机是成为目标主机的主人。众所周知,只有获得了一台网络主机的超级用户权限后才能在该主机上修改资源配置、安置“特洛伊”程序、隐藏行踪、执行任意进程等等。并且如果拥有了一台主机的超级用户权限后,对入侵与之相连的其他主机也有莫大裨益。
此外,主机上的文件或主机与主机之间的传输数据通常也是黑客们下手的目标。例如主机上的密码文件、主机列表文件等。
一、黑客入侵的步骤
黑客们究竟为什么要入侵某一目标?除非本身就是怀着特定的目的外,一般是偶然的因素居多,但在这偶然的因素下面也有许多必然的原因,如系统本身存在一些安全漏洞或Bug等,让黑客有机可乘。黑客通常采用以下的几个步骤来实现入侵目标主机的目的。
第一步:寻找目标主机并分析目标主机。在Internet上能真正标识主机的是IP地址,域名是为了便于记忆主机的IP地址而另起的名字,只要利用域名和IP地址就可以顺利地找到目标主机。当然,知道了要攻击目标的位置还是远远不够的,还必须将主机的操作系统类型及其所提供服务等资料作个全面的了解,这样才能做到“知己知彼,百战不殆”。此时,黑客们常会使用一些扫描器工具,轻松获取目标主机运行的是哪种操作系统的哪个版本,系统有哪些帐户,WWW、FTP、Telnet 、SMTP等服务器程序是何种版本等资料,为入侵作好充分的准备。
第二步:获取帐号和密码,登录主机。黑客要想入侵一台主机,首先要有该主机的一个帐号和密码,否则连登录都无法进行。这样常迫使黑客先设法盗窃帐户文件,进行破解,从中获取某用户的帐户和口令,再寻觅合适时机以此身份进入主机。当然,利用某些工具或系统漏洞登录主机也是黑客们常用的一种技法。
第三步:得到超级用户权限,控制主机。黑客如果有了普通用户的帐号,便可以利用FTP、Telnet等工具进入目标主机。在进入目标主机后,黑客一般是不会就此罢手的,因为普通用户的权限实在有限,所以他们就要想方设法获得超级用户权力,然后做该主机的主人。
第四步:打扫战场,隐藏自己。在黑客真正控制主机后,就可以盗取甚至篡改某些敏感数据信息,同时也会更改某些系统设置、在系统中置入特洛伊木马或其他一些远程操纵程序,作为日后入侵该主机的“后门”。入侵目的任务完成后,便会清除日志、删除拷贝的文件等手段来隐藏自己的踪迹。之后,他就可以实现“远程办公”,更为方便地进出俘虏到的主机。
二、黑客攻击的原理和方法
1.口令入侵
所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上;利用目标主机的X.500服务:有些主机没有关闭X.500的目录查询服务,也给黑客提供了获得信息的一条简易途径;从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号;查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号;造成帐号的泄露等等。
如果只得到用户的帐号而没有得到密码,黑客还是无法入侵主机。通常黑客会采用字典穷举法(或称暴力法)来破解用户的密码。黑客可以通过一些工具程序,自动地从电脑字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一个尝试,并一直循环下去,直到找到正确的口令或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。
其实黑客能够得到并破解主机上的密码文件,一般都是利用系统管理员的失误。在现代的Unix操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门的破解DES加密法的程序来解口令。同时,由于为数不少的操作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。例如,让Windows95/98系统后门洞开的BO就是利用了Windows的基本设计缺陷。
采用中途截击的方法也是获取用户帐户和密码的一条有效途径。当下,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户帐户和密码信息都是以明文格式传输的,此时若攻击者利用数据包截取工具便可很容易收集到你的帐户和密码。还有一种中途截击攻击方法更为厉害,它可以在你同服务器端完成“三次握手”建立连接之后,在通信过程中扮演“第三者”的角色,假冒服务器身份欺骗你,再假冒你向服务器发出恶意请求,其造成的后果不堪设想。另外,黑客有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码;或者编制有缓冲区溢出错误的SUID程序来获得超级用户权限。
2.端口扫描
所谓端口扫描,就是利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否是处于激活状态、主机提供了哪些服务、提供的服务中是否含有某些缺陷等等。常用的扫描方式有:Connect()扫描。Fragmentation扫描。
3.网络监听
网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接收方是谁。此时若两台主机进行通信的信息没有加密,只要使用某些网络监听工具(如NetXRay for Windows95/98/NT、Sniffit for Linux、Solaries等)就可轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。
4.放置特洛伊木马程序
特洛伊木马(Trojans)程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或执行了这些程序之后,它就会像古特洛伊人在敌人城外留下的藏满士兵的木马一样留在你的电脑中,并在你的系统中隐藏一个可以在Windows启动时悄悄执行的程序。当你连接到互联网上时,这个程序就会通知黑客你的IP地址及被预先设定的端口。黑客在收到这些资料后,再利用这个潜伏其中的程序,就可以恣意修改你的电脑设定、复制任何文件、窥视你整个硬盘内的资料等,达到控制你的计算机的目的。
5.电子邮件攻击
电子邮件攻击主要表现为向目标信箱发送电子邮件炸弹。所谓的邮件炸弹实质上就是发送地址不详,容量庞大的邮件垃圾。由于邮件信箱都是有限的,当庞大的邮件垃圾到达信箱的时候,就会把信箱挤爆。同时,由于它占用了大量的网络资源,常常导致网络塞车,它常发生在当某人或某公司的所做所为引起了某些黑客的不满时,黑客就会通过这种手段来发动进攻,以泄私愤。因为相对于其它的攻击手段来说,这种攻击方法具有简单、见效快等优点。
此外,电子邮件欺骗也是黑客爱玩的把戏。他们常会佯称自己是系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令有可能为指定的字符串)或在貌似正常的附件中加载病毒或某些特洛伊木马程序。
6.WWW的欺骗技术
在网上用户可利用IE等浏览器进行各式各样Web站点的访问,如阅读新闻、咨询产品价格、订阅报纸、电子付费等等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客窜改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页时,实际上是向黑客服务器发出请求,那么黑客就可以达到进行欺骗的目的了。
7.其他攻击方法
黑客常会在突破一台主机后,再以此主机作为根据地,来攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机等。这类攻击方法都很狡猾,但某些技术很难掌握(如IP欺骗),因此较少被“普通”黑客所使用。
三、黑客常用的“兵器”
BO2000(BackOrifice):该工具是一个名为“死牛之祭”的黑客组织发布的,它是功能最全的TCP/IP构架的黑客工具,可以搜集信息,执行系统命令,重新设置机器,重新定向网络的客户端/服务器应用程序。BO2000支持多个网络协议,它可以利用TCP或UDP来传送,还可以用XOR加密算法或更高级的3DES加密算法加密。感染BO2000后机器就完全在别人的控制之下,黑客成了超级用户,你的所有操作都可由BO2000自带的“秘密摄像机”录制成“录像带”。
“冰河”:冰河是一个国产木马程序,具有简单的中文使用界面,且只有少数流行的反病毒、防火墙才能查出冰河的存在,非常可怕!冰河的功能比起国外的木马程序来一点也不逊色。
它可以自动跟踪目标机器的屏幕变化,可以完全模拟键盘及鼠标输入,即在使被控端屏幕变化和监控端产生同步的同时,被监控端的一切键盘及鼠标操作将反映在控端的屏幕。它可以记录各种口令信息,包括开机口令、屏保口令、各种共享资源口令以及绝大多数在对话框中出现过的口令信息;它可以获取系统信息;它还可以进行注册表操作,包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作。
NetSpy:可以运行于Windows95/98/NT/2000等多种平台上,它是一个基于TCP/IP的简单的文件传送软件,但实际上你可以将它看作一个没有权限控制的增强型FTP服务器。通过它,黑客可以神不知鬼不觉地下载和上传目标机器上的任意文件,并可以执行一些特殊的操作。
Glacier:该程序可以自动跟踪目标计算机的屏幕变化、获取目标计算机登录口令及各种密码类信息、获取目标计算机系统信息、限制目标计算机系统功能、任意操作目标计算机文件及目录、远程关机、发送信息等多种监控功能。类似于BO2000。
KeyboardGhost:Windows系统是一个以消息循环(MessageLoop)为基础的操作系统。系统的核心区保留了一定的字节作为键盘输入的缓冲区,其数据结构形式是队列。键盘幽灵正是通过直接访问这一队列,使键盘上输入你的电子邮箱、代理的账号、密码Password(显示在屏幕上的是星号)得以记录,一切涉及以星号形式显示出来的密码窗口的所有符号都会被记录下来,并在系统根目录下生成一文件名为KG.DAT的隐含文件。
ExeBind:这个程序可以将指定的黑客程序捆绑到任何一个广为传播的热门软件上,使宿主程序执行时,寄生程序(黑客程序)也在后台被执行,且支持多重捆绑。实际上是通过多次分割文件,多次从父进程中调用子进程来实现的。