1、1计算机系统安全第第10章章常用攻击手段常用攻击手段2口令“入侵者”什么是口令“入侵者”口令入侵者是指任何可以解开口令或屏蔽口令保护的程序。一个口令入侵者并不一定能够解开任何口令,事实上,多数破解程序都做不到。但是,可以使用仿真工具,利用与原口令程序相同的方法,通过对比分析,用不同的加密口令去匹配原口令。许多所谓的口令“入侵者”都使用“蛮力”。四、口令入侵 3口令“入侵者”Windows 9x口令:口令:口令文件存储在c:windows下,如果用户名为test,则口令文件是test.pwl,该文件存储着加密后的口令。Unix系统:系统:口令存放于/etc/passwd或/etc/shadow中
2、破解密码的工具:John the Ripper 简单;字典;穷举模式Windows系统:Pwdump,L0phtCrack流光IV:远程在线破解 字典+扫描4特洛伊木马(Trojans)五、特洛伊木马 特洛伊木马是指黑客用来远程控制目标计算机的特殊程序。凡是非法驻留在目标计算机里,并执行预定的操作,窃取目标的私有信息,都属于特洛伊木马。工作方式:多数为C/S模式,服务器端安装在目标机里,监听等待攻击者发出的指令;客户端是用来控制目标机器的部分,放在攻击者机器上。木马“Passwd Sender”(口令邮差)可以不需要客户端。5木马的伪装n冒充图象文件或游戏程序n捆绑程序欺骗 将木马程序与正常文
3、件捆绑为一个程序n伪装成应用程序扩展组件 木马名字为dll或ocx类型文件,挂在一个有名的软件中。后两种方式的欺骗性更大。6木马的特点木马的特点隐蔽性强:隐蔽性强:木马有很强的隐蔽性,在Windows中,如果某个程序出现异常,用正常的手段不能退出的时候,采取的办法是按“CtrlAltDel”键,跳出一个窗口,找到需要终止的程序,然后关闭它。早期的木马会在按“CtrlAltDel”显露出来,现在大多数木马已经看不到了。所以只能采用内存工具来看内存中是否存在木马。功能特殊:功能特殊:7五、特洛伊木马 潜伏能力强潜伏能力强:表面上的木马被发现并删除以后,后备的木马在一定的条件下会跳出来。Glacie
4、r(冰河)有两个服务器程序,挂在注册表的启动组中的是C:WindowsSystemKernel32.exe,当电脑启动时装入内存,这是表面上的木马;另一个是:Windows SystemSysexplr.exe,也在注册表中,它修改了文本文件的关联,当点击文本文件的时候,它就启动了,它会检查Kernel32.exe是不是存在。当Kernel32.exe被删除以后,如果点击了文本文件,那么这个文本文件照样运行,而Sysexplr.exe被启动了。Sysexplr.exe会再生成一个Kernel32.exe。8n木马的分类远程访问型密码发送型键盘记录型毁坏型:删除文件FTP型:打开目标机21端口,
5、上传、下载n木马发展趋势与病毒结合,使之具有更强感染特性;跨平台型;模块化设计:组件;即时通知9特洛伊木马启动方式五、特洛伊木马自动启动:木马一般会存在三个地方:注册表、win.ini、system.ini,因为电脑启动的时候,需要装载这三个文件。在autoexec.bat、config.sys、启动组中易被发现。捆绑方式启动:木马phAse 1.0版本和NetBus 1.53版本就可以以捆绑方式装到目标电脑上,它可以捆绑到启动程序或一般常用程序上。捆绑方式是一种手动的安装方式。非捆绑方式的木马因为会在注册表等位置留下痕迹,所以,很容易被发现,而捆绑木马可以由黑客自己确定捆绑方式、捆绑位置、捆
6、绑程序等,位置的多变使木马有很强的隐蔽性。修改文件关联。如用木马取代notepad.exe来打开txt文件。10木马服务器存放位置及文件名五、特洛伊木马木 马 的 服 务 器 程 序 文 件 一 般 位 置 是 在c:windows和c:windowssystem中,因为windows的一些系统文件在这两个位置。木马的文件名总是尽量和windows的系统文件接近,比如木马SubSeven 1.7版本的服务器文件名是c:windowsKERNEL16.DL,而windows由一个系统文件是c:windowsKERNEL32.DLL,删除KERNEL32.DLL会让机器瘫痪。木马S u b S e
7、 v e n 1.5 版 本 服 务 器 文 件 名 是c:windowswindow.exe,少一个s 11几种典型的木马nBO(Back Orifice后门):由旧金山的黑客组织Cult of Dead Cow开发。对微软的讽刺。组成:Boconfig.exe,Boserve.exe,Boclient,Bogui.exe,freeze.exe压缩,Melt.exe解压。功能:搜集信息,执行系统命令,重新设置系统,重定向网络的C/S的应用程序。破坏作用:泄露目标机上的口令,磁盘信息,文件信息,传输文件,修改注册表,删改文件,捕捉屏幕信息,锁死机器。12几种典型的木马BO的手工清除:的手工清除
8、:regedit HKEY_LOCAL_MACHINESoftWareMicrosoftWindowsCurrentVersionRunservices删除键值为“.exe”的项目退出regedit,删除WindowsSystem下的“.exe”机器重启。如果BO服务器已经由Boconfig.exe重新配置,则BO服务器可能已不再是“空格.exe”,并产生文件WINDLL.DLL。13冰河的客户端界面五、特洛伊木马文件管理器:有关文件的操作命令控制台:向目标计算机发送命令。14冰河的主要功能五、特洛伊木马冰河是国产的远程监控软件,可以运行在Windows环境下。功能可以与木马BO2000相媲美
9、。1自动跟踪目标机屏幕变化,同时可完全模拟键盘及鼠标输入,即在同步被控端屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用);2记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在对话框中出现过的口令信息,且1.2以上的版本中允许用户对该功能自行扩充,2.0以上版本还同时提供了击键记录功能;15五、特洛伊木马3获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版本、当前显示分辨率、物理及逻辑磁盘信息等多项系统数据;4限制系统功能:包括远程关机、远程重启计算机、锁定鼠标、锁定系统热键及锁定注册表等多项功能限制;5远程文件操作:包括创建、上传
10、、下载、复制、删除文件或目录、文件压缩、快速浏览文本文件、远程打开文件(提供了四中不同的打开方式正常方式、最大化、最小化和隐藏方式)等多项文件操作功能;16冰河的主要功能五、特洛伊木马6注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作功能;7发送信息:以四种常用图标向被控端发送简短信息;8点对点通讯:以聊天室形式同被控端进行在线交谈。17冰河的主要组成文件五、特洛伊木马冰河2.2正式版共有4个文件,它们是:G-client.exe冰河客户端程序G-server.exe服务器端程序Readme.txt自述文件Operate.ini配置文件18冰河的主要功能:连接服务
11、器五、特洛伊木马首先是连接目标服务器,从菜单中选择文件文件添添加主机加主机。填写内容:a)显示名称:显示在程序中的名称,只用于方便记忆。b)主机地址:填入IP地址或域名。c)访问口令:配置服务器程序时输入的口令。d)监听端口:配置服务器程序是确定的端口号 19冰河的主要命令五、特洛伊木马口令类命令口令类命令1)系统信息及口令可以获得包括系统信息(计算机名、用户名等),开机口令,缓存口令及其它口令在内的资料。2)历史口令可以获得目标机器从启动开始的历史口令。3)击键记录记录目标机器上的击键。20五、特洛伊木马控制类命令控制类命令1)捕获屏幕:得到目标机器当前的屏幕图象。屏幕控制。屏幕控制。冰河除
12、了把目标机器的屏幕图象显示到你的屏幕上之外,你还可以把它看作一个真正的屏幕。如果屏幕上显示对方开着一个IE窗口,你就可以点击它的关闭按钮,那么它在目标机器上就真被关闭了。2)发送消息向目标计算机发送消息。目标计算机会弹出一个消息框,这个消息框的类型和内容都可以由你来设置 21五、特洛伊木马3)控制目标主机的进程:点击查看进程查看进程按钮,就可以在按钮上方的列表框中看到目标机器上的所有进程。若要终止某个进程,先选中它,再执行结束进程结束进程命令。4)窗口控制:对目标计算机上的程序窗口进行远程控制。22五、特洛伊木马5)系统控制:远程关机、重起计算机,重新加载冰河,卸载冰河。6)鼠标控制随意锁定目
13、标计算机上的鼠标,使其动弹不得。在你玩够之后,你也可以再解除锁定。7)其它控制23五、特洛伊木马网络类命令网络类命令1)创建共享在目标机器上创建新的共享。共享名称及共享路径。2)删除共享在目标机器上删除指定的共享。3)网络信息:包括共享信息和连接信息。共享信息用来查看目标计算机上的共享资源。连接信息用来显示目标计算机的网络连接状况:包括与其连接的计算机名、用户名、通讯协议、当前状态等。24五、特洛伊木马文件类命令文件类命令与文件管理器中的功能类似。1)文本浏览 2)文件查找3)文件压缩 4)文件复制5)文件删除 6)文件打开7)目录增删 8)目录复制、注册表读写25如何对付木马五、特洛伊木马1
14、.使用杀毒软件。2.提高防范意识,不打开陌生人信中的附件,不随意下载软件。3.仔细阅读readme.txt。许多人出于研究目的下载了一些特洛伊木马程序的软件包,往往错误地执行了服务器端程序4.在删除木马之前,重要的一项工作是备份,需要备份注册表,备份你认为是木马的文件。26如何对付木马1)端口扫描2)查看连接:netstat a 命令上述两种方法对驱动程序/动态链接木马无效。3)检查注册表4)查找木马文件:如kernel32.exe,sysexplr.exe等5)文件完整性检查:开始程序附件系统工具系统信息工具系统文件检查器。如有损坏可从安装盘还原。271、嗅探器Sniffer六、网络监听网络
15、监听工具(也称嗅探器Sniffer)是供管理员监视网络的状态、数据流动情况以及网络上传输的信息。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。Sniffer可以是硬件或软件,用来接收在网络上传输的信息(硬件Sniffer通常称为协议分析仪)。网络可以是运行在各种协议之下的(可以是其中几种协议的联合)。放置Sniffer的目的是使网络接口(比如以太网适配器)处于广播状态(或叫混杂模式promiscuous mode),从而可截获网络上的内容。282、网络监听的原理六、网络监听广播:网络上所有的工作站都在倾听所有传输的信息。非广播状态:工作站仅仅倾听
16、那些发给它自己的的信息的状态。攻破网关、路由器、防火墙的情况极为少见,安全管理员安装一些网络监控设备,运行专门的监听软件,并防止任何非法访问。然而,一个黑客可能潜入一台不引人注意的计算机中,悄悄地运行一个监听程序。Sniffer就是这样的硬件或软件,能够听到在网上传输的所有的信息。292、网络监听的原理六、网络监听协议分析仪通常运行在有路由器功能的主机上。当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网。sniffer只能捕获同一个物理网段内的包,就是说你和监听目标之间没有路由(交换)或其它屏蔽广播包的设备,才能接收到传输
17、的所有信息。因此,sniffer对拨号用户没用。网络监听常常要保存大量的信息,并对收集的大量信息进行整理,因此,正在进行监听的机器对用户的请来响应很慢。303、Sniffer的危害与预防六、网络监听Sniffer 危害:危害:能截获口令或机密信息;能攻击相邻的网络。Sniffer的预防:的预防:使用加密传输敏感数据。使用安全拓扑结构。一个网段仅由互相信任的计算机组成。每台机器通过硬连接线接到Hub。Hub再接到交换机上。314、检测Sniffer的原理n反应时间 向可疑发送大量物理地址不存在的包,处于监听模式的机器回应时间延迟。n观测DNS 监听软件往往会尝试进行反向地址解析,查看DNS上是否
18、地址解析请求明显增多。n利用Ping模式监测混杂模式的主机对错误地址的ICMP包会有回应。n利用arp数据包监测向局域网内的主机发送非广播式的arp包来检测。325、检测Sniffer的方法六、网络监听方法一:对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址去ping,运行监听程序的机器会有响应。正常的机器不接收错误的物理地址,处于监听状态的机器能接收。方法二:同上发大量不存在的物理地址的包,由于监听程序将处理这些包,将导致性能下降。通过比较发送前、后机器性能加以判断。33Sniffer工具nSniffit 可用于Unix、Linux、NTnNetXray 由Cinco Netwo
19、rks公司开发 高级数据包查错工具 界面友好n防止Sniffer的工具 AntiSniffer可监测同一网段内的机器,如果返回正值,则表明该机处于混杂模式,有可能已被安装Sniffer。341、什么是拒绝服务的攻击七、拒绝服务攻击拒绝服务的攻击是指一个用户占据了大量的共享资源,使系统没有剩余的资源给其他用户可用的一种攻击方式。拒绝服务的攻击降低了资源的可用性,这些资源可以是处理器、磁盘空间、CPU使用的时间、打印机、调制解调器,甚至是系统管理员的时间,攻击的结果是减少或失去服务。35拒绝服务攻击方式 七、拒绝服务攻击1)死亡之死亡之ping(ping of death)由于在早期的阶段,路由器
20、对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方宕机。36拒绝服务攻击方式七、拒绝服务攻击2)SYN Flooding攻击攻击 对Windows NT攻击很有效使用一个伪装的地址向目标计算机发送连接请求叫做IP欺骗技术。当目标计算机收到这样的请求后,就会使用一些资源来为新的连接提供服务,接着回复请求一个肯定答复(叫做SYNACK)。由
21、于SYNACK是返回到一个伪装的地址,没有任何响应。于是目标计算机将继续设法发送SYNACK。一些系统都有缺省的回复次数和超时时间,只有回复一定的次量、或者超时时,占用的资源才会释放。例:Windows NT3.5和4 0中缺省设置为可重复发送SYNACK答复5次。要等待3+6+12+24+48+96=189秒之后,才释放资源。37SYN-Flooding攻击示意图38拒绝服务攻击方式七、拒绝服务攻击3)Land攻击攻击 在Land攻击中,一个特别打造的SYN包它的源地址和目标地址都被设置成某一个服务器地址,此举将导致接收服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息
22、并创建一个空连接,每一个这样的连接都将保留直到超时掉,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续五分钟)。39拒绝服务攻击方式七、拒绝服务攻击4)Smurf攻击攻击 smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(Ping)数据包来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞,比ping of death洪水的流量高出一或两个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。40Smurf攻击示意图 41拒绝服务攻击方式七、拒绝服务攻击5)Fraggle攻击 Fraggl
23、e攻击与Smurf攻击类似,但它使用的不是ICMP,而是 UDP Echo。可以在防火墙上过滤掉UDP应答消息来防范。42拒绝服务攻击方式七、拒绝服务攻击6)炸弹攻击炸弹攻击的基本原理是利用工具软件,集中在一段时间内,向目标机发送大量垃圾信息,或是发送超出系统接收范围的信息,使对方出现负载过重、网络堵塞等状况,从而造成目标的系统崩溃及拒绝服务。常见的炸弹攻击有邮件炸弹、聊天室炸弹等。防御:对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息。432、拒绝服务攻击的类型七、拒绝服务攻击1)破坏或者毁坏资源,使得无人可以使用这个资源。如:删除文件、格式化磁盘或切断电源。2)有意或无意地过载一
24、些系统服务或者消耗尽资源。例如:填满一个磁盘分区,让用户和系统程序无法再生成新的文件。用户犯的错误或者程序失控也可导致拒绝服务攻击,例如,在递归程序中,本来递归条件是x!=0却写成了x=0。443、针对网络的拒绝服务攻击七、拒绝服务攻击1、服务过载当大量的服务请求发向一台计算机中的服务守护进程时,就会发生服务过载。这些潮水般的请求,使得计算机十分忙碌地处理这些不断到来的服务请求,以至于无法处理常规的任务。同时,许多新到来的请求被丢弃,因为没有空间来存放这些请求。如果攻击的是一个基于TCP协议的服务,那么这些请求的包还会被重发,结果更加重了网络的负担。453、针对网络的拒绝服务攻击七、拒绝服务攻
25、击攻击者利用这种攻击来掩盖自己的痕迹,阻止对攻击者的记录和登录请求的系统记帐审计。攻击者还可以利用这一段时间内服务器无法响应网络请求的机会,编写一个程序,来回答那些本来应该由服务器回答的请求。463、针对网络的拒绝服务攻击七、拒绝服务攻击2、粘住攻击可以使用TCP的半连接耗尽资源。TCP连接通过三次握手来建立一个连接与设置参数。如果攻击者发出多个连接请求。初步建立了连接,但又没有完成其后的连接步骤,接收者便会保留许多这种半连接,占据着有限的资源。通常这些连接请求使用的是伪造的源地址表明连接来自于一台不存在的主机或者一台无法访问的主机。474、分布式拒绝服务攻击DDOS七、拒绝服务攻击485、用
26、工具软件实现DDos攻击七、拒绝服务攻击DDOS攻击常用工具:trinoo、TFN、Stacheldraft等。它们利用TCP/IP协议漏洞,如允许碎片包、大数据包、IP路由选择、TCP半连接、数据包Flood等,使系统性能降低甚至崩溃。trinoo由三部分组成:l、客户端客户端可以是telnet之类的常用连接软件,客户端的作用是向主控端(master)发送命令。它通过连接master的27665端口,然后向master发送对目标主机的攻击请求。49七、拒绝服务攻击2、主控端(master)主控端侦听两个端口,其中27665是接收攻击命令,这个会话是需要密码的。缺省的密码是betaalmost
27、done。master启动的时候还会显示一个提示符:?,等待输入密码。密码为gOrave,另一个端口是31355,等候分布端的UDP报文。3、分布端(broadcast)-攻击守护过程分布端则是执行攻击的角色。分布端安装在攻击者已经控制的机器上分布端编译前植入了主控端的lP地址,分布端与主控端用UDP报文通信,发送到主控端的31355端口,其中包含*HELLO*的字节数据。主控端把目标主机的信息通过27444UDP端口发送给分布端,分布端即发起潮水(flood)攻击。505、用工具软件实现DDos攻击七、拒绝服务攻击攻击的流向是这样的攻击者-master-分布端-目标主机。从分布端向受害者目标
28、主机发送的DDos都是UDP报文,每一个包含4个空字符,这些报文都从一个端口发出,但随机袭击目标主机上的不同端口。目标主机对每一个报文回复一个ICMP Port Unreachable的信息,大量不同主机发来的这些洪水般的报文源源不断目标主机将很快慢下来,直至剩余带宽变为0。516、应付DDOS攻击的策略七、拒绝服务攻击有几种方式可以查到这种攻击:IDS的检测方法是:分析一系列的UDP报文,寻找那些针对不同目标端口,但来自于相同源端口的UDP报文。或者取10个左右的UDP报文分析那些来自于相同的IP、相同的目标IP、相同的源端口,但不同的目标端口的报文。这样可以逐一识别攻击的来源。还有一种方法
29、是寻找那些相同的源地址和相同的目标地址的ICMP Port Unreachable的信息。由于DDOS攻击的主要目的是消耗主机的带宽,所以很难抵挡。52IP欺骗定义:利用主机之间的正常信任关系发动的攻击。信任关系:在Unix系统中,rlogin,rsh,rcp等远程调用命令的信任基础是IP地址,若地址验证通过,则无须口令验证就能远程登录。修改$HOME/.rhosts文件内容,可建立两台机器之间的信任关系。当/etc/hosts.equiv中出现一个“+”或$HOME/.rhosts中出现“+”时,表明任意地址的主机无须口令可直接用r命令登录此主机。53IP欺骗过程1)发现攻击目标A和B具有伙
30、伴信任关系。假设黑客想冒充B去和A对话。2)要使目标B瘫痪(如用拒绝服务攻击),避免露馅3)采样A发出的TCP序列号,反复尝试猜测它的初始序列号ISN。ISN为32位计数器,无连接时9.32小时复位一次。预测ISN考虑因素:ISN每秒增加128000;每次连接增加64000;A和B之间的往返时间;54IP欺骗过程4)将源地址伪装成B机地址,发送带有SYN标志的数据段请求连接。5)然后等待A发送SYN+ACK给瘫痪的B,因为这时黑客看不到这个包。6)再次伪装成B向A发送ACK,此时发送的数据段带有预测目标机A的ISN+1。7)连接建立,发送命令。55IP欺骗示意图 IP欺骗的步骤会话劫持示意图 56IP欺骗的防止n抛弃基于地址的信任策略 删除.rhosts文件;清空/etc/hosts.equip文件;用telnet、ssh取代r类远程调用命令。n进行包过滤 只信任内部主机;利用路由器屏蔽掉所有外部希望向内部发出的连接请求。n使用加密传输和验证的方法n使用随机化的初始序列号 使得TCP序列号难以猜测。