黑客攻击技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章黑客攻击技术

本章主要介绍了黑客攻击的几种分类;了解黑客攻击的一般过程;着重介绍了黑客攻击常用的技术。本章内容适合参加信息安全管理师认证的读者。

6.1 攻防综述

谈起攻击和入侵,我们总会想起Hacker这个词,什么才是一个黑客(hacker)呢?是指企图入侵别人的计算机或网络的人。该定义几乎涵盖了所有现代网络系统的入侵,从计算机网络到电话系统。在现代社会里任何远程复杂控制都是由计算机来实现的,因为人们发现联网的计算机能发挥更大的作用和更易于管理。

具有熟练的编写和调试计算机程序的技巧,并使用这些技巧来获得非法或未授权的网络或文件访问,入侵进入企业内部网的行为称为。早先将对计算机的非授权访问称为破解(cracking),而hacking则指那些熟练运用计算机的高手对计算机技术的运用。而随着时间的推移,媒体宣传导致了hacking变成了入侵的含义。

对网络安全管理员来说,可能导致一个网络受到破坏、网络服务受到影响的所有行为都应称为攻击,也可以说攻击是指谋取超越目标网络安全策略所限定的服务(入侵)或者使目标网络服务受到影响甚至停止(攻击)的所有行为。攻击行为从攻击者开始在接触目标机的那个时刻起可以说就已经开始了。

6.1.1攻击的分类

攻击一般可以分为以下几类:

被动攻击:被动攻击包括分析通信流,监视未被保护的通讯,解密弱加密通讯,获取鉴别信息(比如口令)。被动攻击可能造成在没有得到用户同意或告知用户的情况下,将信息或文件泄露给攻击者。这样的例子如泄露个人的敏感信息。

主动攻击:主动攻击包括试图阻断或攻破保护机制、引入恶意代码、偷窃或篡改信息。主动进攻可能造成数据资料的泄露和散播,或导致拒绝服务以及数据的篡改。包括大多数的未授权用户企图以非正常手段和正常手段进入远程系统。

物理临近攻击:是指一未被授权的个人,在物理意义上接近网络、系统或设备,试图改变、收集信息或拒绝他人对信息的访问。

内部人员攻击:内部人员攻击可以分为恶意或无恶意攻击。前者指内部人员对信息的恶意破坏或不当使用,或使他人的访问遭到拒绝;后者指由于粗心、无知以及其它非恶意的原因而造成的破坏。

软硬件装配分发攻击:指在工厂生产或分销过程中对硬件和软件进行的恶意修改。这种攻击可能是在产品里引入恶意代码,比如后门。

6.2 攻击一般流程

攻击者的每一次攻击都是一个完整的过程,需要大量的时间,这个过程会因攻击者的技

术及习惯不同而有差异,对于相同的目标机,有些攻击者可能需要三天,有些攻击者可能需要三周甚至三个月;有些也可能只需二步就可完成,有些需要三、四步方可完成。一般完整的攻击过程都是先隐藏自身,在隐藏好自己后再进行预攻击探测,检测目标机器的各种属性和具备的被攻击条件;然后采取相应的攻击方法进行破坏,达到自己的目的,之后攻击者会删除自己的行为日志。

6.2.1隐藏自身

常见攻击者隐藏自身方式有几下几种:

1. 从已经取得控制权的主机上通过telnet或rsh 跳跃;

2. 从windows 主机上通过wingates 等服务进行跳跃;

3. 利用配置不当的代理服务器进行跳跃;

4. 利用电话交换技巧先通过拨号找寻并连入某台主机,然后通过这台主机再联入internet 来跳跃。

6.2.2预攻击探测

这里的主要任务是收集有关要攻击目标的有用的信息。这些信息包括目标计算机的硬件信息,运行的操作系统信息,运行的应用程序(服务)的信息,目标计算机所在网络的信息,目标计算机的用户信息,存在的漏洞等等。

通常是从已攻入的系统中的.rhosts和.netrc文件中所列的机器中挑选出来,从系统的/etc/hosts 文件中可以得到一个很全的主机列表。但大多数情况下,选定一个攻击目标是一个比较盲目的过程,除非攻击者有明确的目的和动机。攻击者也可能找到DNS(域名系统)表,通过DNS 可以知道机器名、Internet地址、机器类型,甚至还可知道机器的属主和单位。

6.2.3采取攻击行为

在上一步骤中如果攻击者发现目标机系统有可以被利用的漏洞或弱点,则立即采取攻击行为。在此过程中具体采用的攻击行为要视目标机系统而定,目前较流行的手段有暴力猜解、缓冲区溢出、跨站脚本、拒绝服务、社会工程、欺骗等。

6.2.4清除痕迹

对于攻击者清除攻击痕迹的方法主要是清除系统和服务日志。有些工具可以清除日志,如THC提供的cleara.c ,clearb.c可以清除utmp/utmpx,wtmp/wtmpx,修复lastlog让其仍然显示该用户的上次登录信息。有时攻击者会自己对日志文件进行修改,但不同的UNIX版本日志存储位置不同,大致位置如下:

UTMP : /etc 或/var/adm 或/usr/adm 或/usr/var/adm 或/var/log

WTMP : /etc 或/var/adm 或/usr/adm 或/usr/var/adm 或/var/log

LASTLOG : /usr/var/adm 或/usr/adm 或/var/adm 或/var/log

在一些旧unix版本中lastlog数据被写到$HOME/.lastlog

很多hacker,他们把自己从log里删除了。但他们忘记删掉他们在机器中留下的其他一些

东西:在/tmp和$HOME中的文件Shell 记录:一些shell会保留一个history文件(依赖于环境设置)记录你执行的命令.最好的选择就是当你登录以后先启动一个新shell,然后在你的$HOME中查找历史纪录.启动新的shell的这条命令也会在root所分配的shell记录文件里,这可能是追踪入侵者的一个关键命令,可以直接使用ls –alt ./.*来查看当前的记录文件情况,可以使用cat /dev/null >./.*history来清空记录文件。

历史记录文件:

sh : .sh_history

csh : .history

ksh : .sh_history

bash: .bash_history

zsh : .history。

6.3 攻击技术方法

6.3.1远程信息探测

4.3.1.1 系统版本扫描

最简单的就是寻找各种操作系统间的不同并写出探测程序。当使用了足够的不同特征时,操作系统的探测精度就有了很大保证。主要的探测技术有:

■ FIN探测:通过发送一个FIN数据包(或任何未设置ACK或SYN标记位的数据包)到一个打开的端口,并等待回应。RFC793定义的标准行为是“不”响应,但诸如MS Windows、BSDi、CISCO、HP/UX、MVS和IRIX等操作系统会回应一个RESET包。大多数的探测器都使用了这项技术。

■BOGUS(伪造)标记位探:原理是在一个SYN数据包TCP头中设置未定义的TCP“标记”(64或128)。低于2.0.35版本的Linux内核会在回应包中保持这个标记,而其它操作系统一般不会。不过,有些操作系统当接收到一个SYN+BOGUS数据包时会复位连接。所以这种方法能够比较有效地识别出操作系统。

■TCP ISN 取样:其原理是通过在操作系统对连接请求的回应中寻找TCP连接初始化序列号的特征。目前可以区分的类别有传统的64K(旧UNIX系统使用)、随机增加(新版本的Solaris、IRIX、FreeBSD、DigitalUNIX、Cray和其它许多系统使用)、真正“随机”(Linux 2.0.*及更高版本、OpenVMS和新版本的AIX等操作系统使用)等。Windows平台(还有其它一些平台)使用“基于时间”方式产生的ISN会随着时间的变化而有着相对固定的增长。不必说,最容易受到攻击的当然是老式的64K方式。而最受我们喜爱的当然是“固定”ISN!确实有些机器总是使用相同的ISN,如某些3Com集线器(使用0x83)和Apple LaserWriter打印机(使用0xC7001)。

根据计算ISN的变化、最大公约数和其它一些有迹可循的规律,还可以将这些类别分得更细、更准确。

■“无碎片”标记位:许多操作系统逐渐开始在它们发送的数据包中设置IP“不分片(无碎片)”位。这对于提高传输性能有好处(虽然有时它很讨厌-- 这也是为什么nmap不对Solaris系统进行碎片探测的原因)。但并不是所有操作系统都有这个设置,或许并不并总是使用这个设置,因此通过留意这个标记位的设置可以收集到关于目标主机操作系统的更多有用信息。

相关文档
最新文档