收藏 分销(赏)

网络攻击行为分析PPT学习课件.ppt

上传人:天**** 文档编号:12012462 上传时间:2025-08-27 格式:PPT 页数:118 大小:1.26MB 下载积分:20 金币
下载 相关 举报
网络攻击行为分析PPT学习课件.ppt_第1页
第1页 / 共118页
网络攻击行为分析PPT学习课件.ppt_第2页
第2页 / 共118页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,02,讲 网络攻击行为分析,(一)基础篇,基本内容,网络信息安全技术与黑客攻击技术都源于同一技术核心,即网络协议和底层编程技术,不同的是怎么使用这些技术。,很多软件或设备可以为网络管理和安全提供保障,但当被别有用心的人所利用时,就成了黑客工具,就象刀具,是基本生活用具,又可成为杀人凶器。我们要做到,“,知己知彼,”,,才能,“,百战不殆,”,,对黑客的攻击手段、途径、方法和工具了解得越多,越有利于保护网络和信息的安全。,在介绍信息安全技术以前,本章先来分析与黑客攻击相关的知识。,计算机网络系统所面临的威胁大体可分为两种:一是针对网络中信息的威胁;二是针对网络中设备的威胁。,影响信息安全的人员分析,如果按威胁的对象、性质则可以细分为四类:,第一类是针对硬件实体设施,第二类是针对软件、数据和文档资料,第三类是兼对前两者的攻击破坏,第四类是计算机犯罪。,安全威胁的来源,不可控制的自然灾害,如地震、雷击,恶意攻击、违纪、违法和计算机犯罪,人为的无意失误和各种各样的误操作,计算机硬件系统的故障,软件的,“,后门,”,和漏洞,安全威胁主要来自以下几个方面:,安全威胁的表现形式,伪装,非法连接,非授权访问,拒绝服务,抵赖,信息泄露,业务流分析,改动信息流,篡改或破坏数据,推断或演绎信息,非法篡改程序,实施安全威胁的人员,心存不满的员工,软硬件测试人员,技术爱好者,好奇的年青人,黑客(,Hacker,),破坏者(,Cracker,),以政治或经济利益为目的的间谍,潜在的攻击者,竞争对手,黑客政治家,有组织的罪犯,恐怖主义者,政府,雇佣杀手,虚伪朋友,不满的员工,客户,供应商,厂商,商务伙伴,契约者、临时雇员和顾问,攻击者的水平,脚本小孩(,Script Kiddies,),普通技能攻击者,高级技能攻击者,安全专家,杰出攻击者,两个概念,黑客,能赋予计算机扩展的能力,使其超越最初设计的人,黑客是英文,“,Hacker,”,的英文译音,我国台湾地区译为,“,骇客,”,,它起源于美国麻省理工学院的计算机实验室中。早期的黑客是指那些精力旺盛,智力超群,具有高超编程能力的计算机程序员。他们的行为主要包括设计黑客软件、盗打长途电话以及利用电话进行欺诈。目前,按照公安部,1997,年,4,月,21,日发布的,计算机信息系统安全专用产品分类原则,中术语的定义,黑客是指对计算机信息系统进行非授权访问的人员。也有人认为,黑客就是指那些利用通讯软件、通过网络非法进入公共和他人的计算机系统,截获或篡改计算机中的信息,危害信息系统安全的电脑入侵者,其入侵行为称为黑客行为。,计算机窃贼,恶意攻击计算机系统的人(,Cracker,),黑客的特点,(,1,)充当黑客的年轻人居多,黑客年龄一般在,10,余岁到,30,岁之间,其中有许多未成年的小孩,如美国号称,“,世界头号计算机黑客,”,的,Kevin Mitnick,,,13,岁迷上计算机,,15,岁闯入,“,北美空中防务指挥系统,”,;英国的,Mathew Bevan 14,岁侵入英国的电信公司;我国呼和浩特市一个,10,岁的初中生破译了该市通信公司的系统管理员的账号,等等。,(,2,)人员的构成相对集中,70%,以上的黑客事件是由内部人员或外部与内部合谋进行的。一般来说,外部黑客入侵的目的主要是破坏系统,而内部或内外勾结的入侵多数是为了获取信息;外部黑客对一个站点可能只入侵一次,内部或内外勾结的入侵可能会连续几次。,(,3,)黑客活动时间相对固定,黑客活动主要是在晚上到凌晨、周末或节假日。因为职业化的黑客很少,一般黑客多有自己的工作,实施黑客活动需要利用休息时间,又因为在这些时间里,工作场所的人员少,便于隐蔽。,(,4,)从发展趋势看,黑客正在不断地走向系统化、组织化和年轻化,黑客甚至定期召开会议,如他们每四年在荷兰举行一次,Hack-Tic,会议、每年在纽约举行,“,2600,公文,”,、在拉斯维加斯举行,DefCon,会议和在加利福尼亚的,Lake Tahoe,举行,“,黑客大会,”,。,黑客攻击危害程度的划分,黑客攻击所使用的方法不同,产生的危害程度也不同,一般分为八个层次:,第一层:邮件炸弹攻击;,第二层:简单拒绝服务;,第三层:本地用户获得非授权的读访问;,第四层:本地用户获得他们非授权的文件写权限;,第五层:远程用户获得了非授权的账号;,第六层:远程用户获得了特权文件的读权限;,第七层:远程用户获得了特权文件的写权限;,第八层:远程用户拥有了根权限(黑客已经攻克了系统)。,在这八层中,随着层号增大,危害的程度加重。,黑客攻击的手段,目前,黑客攻击网络的手段种类繁多,而且新的手段层出不穷,黑客攻击可以分为以下两大类:,一类是主动攻击,这种攻击以各种方式获取攻击目标的相关信息,找出系统漏洞,侵入系统后,将会有选择地破坏信息的有效性和完整性。例如:邮件炸弹。,另一类是被动攻击,这种攻击是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息,其中包括窃听和通信流量分析。例如:扫描器。,当前黑客攻击采用的主要手段是利用目前网络系统以及各种网络软件的漏洞,比如基于,TCP/IP,协议本身的不完善、操作系统的种种缺陷等;防火墙设置不当;电子欺诈;拒绝服务(包括,DDoS,);网络病毒;使用黑客工具软件;利用用户自己安全意识薄弱,比如口令设置不当;或直接将口令文件放在系统等等。,几种黑客常用的方法,(,1,)扫描器,所谓扫描器,实际是一种自动检测目标计算机安全性弱点的程序。黑客通过使用扫描器,可以不留痕迹的发现远程服务器的各种,TCP,端口的分配及提供的服务、使用的软件版本以及其他一些服务信息。,(,2,)口令破解,黑客进行攻击常常是从破解用户口令开始的。,(,3,)炸弹攻击与病毒,炸弹攻击是指黑客利用自编的炸弹攻击程序或工具软件,集中在一段时间内,向攻击的目标机器发出大量信息,使机器出现负载过重、网络堵塞,最终使系统崩溃的一种网络攻击手段。,(,4,)电子欺骗(,Spoofing,),几种黑客常用的方法,电子欺骗一般包括任何使用计算机进行欺骗的行为。,(,5,)监听法,网络监听是局域网中的一种黑客技术,由于在进行监听时,不与其他主机交换信息,也不修改密码,因此,网络监听是一种被动的攻击方式,仅用于局域网中。,(,6,)拒绝服务攻击(,Denial of Service,),拒绝服务攻击是指攻击者占有大量的共享资源,使系统无法为其他用户提供资源或以过多的请求造成,“,溢出,”,,便服务器或路由器过载,甚至迫使服务器关闭,终止为用户提供服务的一种攻击方法。拒绝服务攻击是一种主动的破坏性攻击。,从造成的危害上划分,拒绝服务攻击可分为两类,一是破坏或毁坏系统资源,使用户无法使用;第二类是过载系统服务或消耗系统资源,阻止其他用户使用这些服务。,网络攻击的途径,针对端口攻击,针对服务攻击,针对第三方软件攻击,DOS,攻击,针对系统攻击,口令攻击,欺骗,网络攻击的层次(,P22,),网络攻击的层次,第一层攻击:,第一层攻击基于应用层的操作,这些攻击的目的只是为了干扰目标的正常工作。,第二层攻击:,第二层攻击指本地用户获得不应获得的文件,(,或目录,),读权限。,第三层攻击:,在第二层的基础上发展成为使用户获得不应获得的文件,(,或目录,),写权限。,第四层攻击:,第四层攻击主要指外部用户获得访问内部文件的权利。,第五层攻击:,第五层攻击指非授权用户获得特权文件的写权限。,第六层攻击:,第六层攻击指非授权用户获得系统管理员的权限或根权限。,网络攻击阶段及工具,攻击的阶段性,侦察,扫描,决绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,网络攻击阶段及工具(续),侦察,扫描,决绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,侦察,侦察是攻击的第一步,这就如同匪徒一般,侦察是利用公开的、可利用的信息来调查攻击目标,侦察包括以下技术,低级技术侦察,Web,搜索,Whois,数据库,域名系统(,DNS,)侦察,通用的目标侦察工具,低级技术侦察,社交工程,在黑客理论中,指利用人性弱点、利用人际交往上的漏洞来非法获取资料的行为。,物理闯入,垃圾搜寻,你能找出垃圾搜寻的例子吗?,Web,搜索,搜索一个组织自己的,web,站点,有电话号码的职员联系信息,关于公司文化和语言的信息,商务伙伴,最近的合并和兼并公司,正使用的技术,使用搜索引擎,搜索论坛,BBS,(电子公告栏),Usenet,(新闻组),Whois,数据库搜索,什么是,whois,数据库:包括各种关于,Internet,地址分配、域名和个人联系方式的数据库,WHOIS,是一种由防御数据网,(DDN),信息中心,(NIC),维护的关于用户、主机系统、网络和域的,Internet,数据库。该数据库的信息只包括已经通过,NIC,在因特网上注册的用户和主机系统的信息。可以查找这个数据库,以确定用户的电子函件地址。该处理过程是首先在,nic,ddn,mil,的,WHOIS,数据库进行登录,然后用,WHOIS,命令进行查询。在提示符下键入,HELP,可以得到更多的信息。(百度),研究,.com,.net,.org,域名,研究非,.com,.net,和,.org,域名,国家代码,:,教育(,.edu):,军事代码(,.mit):whois.nic.mit,政府,(.gov):whois.nic.gov,Whois,数据库搜索,(,续,),搜索目标域名,Whois,数据库搜索,(,续,),搜索目标,IP,美国,Internet,注册局:,DNS,服务器,如果成功便可以要求从主,DNS,服务器进行区域传送。要是传送成功的话,你将获得大量有用信息,包括:,a),使用此,DNS,服务器做域名解析到所有主机名和,IP,地址的映射情况,b),公司使用的网络和子网情况,c),主机在网络中的用途。许多公司使用带有描述性的主机名,像,,,和,。,DNS,搜索,使用,nslookup,实现区域传送的过程,(,1,)使用,whois,命令查询目标网络,例如在提示符下输入,whois,(,2,)你会得到目标网络的,primary,和,slave DNS,服务器的信息。例如,假设主,DNS,服务器的名字是,(,3,)使用交互查询方式,缺省情况下,nslookup,会使用缺省的,DNS,服务器作域名解析。键入命令,server,定位目标网络的,DNS,服务器;,(,4,)列出目标网络,DNS,服务器的内容,如,ls,。此时,DNS,服务器会把数据传送给你,当然,管理员可以禁止,DNS,服务器进行区域传送,目前很多公司将,DNS,服务器至于防火墙的保护之下并严格设定了只能向某些主机进行区域传送。,一旦你从区域传送中获得了有用信息,你便可以对每台主机实施端口扫描以确定它们提供了那些服务。如果你不能实现区域传送,你还可以借助,ping,和端口扫描工具,当然还有,traceroute,。,通用工具,Sam Spade,工具,www.samspade.org/ssw/,Netscantools,基于,web,的工具,www.samspade.org,.,网络攻击阶段及工具(续),侦察,扫描,决绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,扫描,扫描是在侦察之后,企图发现目标的漏洞,扫描需要花费许多时间,扫描内容,战争拨号,网络测绘,端口扫描,漏洞扫描,躲避,IDS,战争拨号,战争拨号是搜寻调制解调器,查找电话号码:电话薄、,Intenet,、,whois,、,web,站点、社交工程,工具,THC,scan 2.0,网络测绘,网络测绘是绘制目标的网络拓扑结构,发现活跃主机,Ping,TCP,或,UDP,数据包扫描,跟踪路由:,Traceroute,(,UNIX,),Tracert,(,Windows,),网络测绘工具,Cheops,:,SYN,TCP FIN,Xma,:发送,TCP URG,、,PSH,等,TCP,空扫描,TCP ACK,FTP,跳跃,UDP,ICMP,工具:,nmap,扫描的目的,发现活跃的主机,发现开放的端口,确定目标使用的操作系统,协议栈指纹(,Fingerprint,),漏洞扫描,漏洞扫描寻找以下漏洞,一般的配置错误,默认的配置缺点,知名系统的漏洞,漏洞扫描的组成,漏洞数据库,用户配置工具,扫描引擎,当前活跃的知识库,结果库和报告生成工具,漏洞,数据库,用户配置工具,扫描引擎,活跃的知识库,结果库和,报告生成,漏洞扫描工具,SARA,,,Intrusion Detection System,的缩写,即网络入侵检测系统,主要用于检测,Hacker,或,Cracker,通过网络进行的入侵行为。,NIDS,的运行方式有两种,一种是在目标主机上运行以监测其本身的通信信息,另一种是在一台单独的机器上运行以监测所有网络设备的通信信息,比如,Hub,、路由器。,NIDS,的功能:网管人员对网络运行状态进行实时监控,以便随时发现可能的入侵行为,并进行具体分析,及时、主动地进行干预,从而取得防患于未然的效果。目前,,NIDS,产品可分为硬件和软件两种类型。,上述扫描均存在“,网络噪音,”,易被,NIDS,识别出来,如何躲避,NIDS,?,NIDS,如何工作?,如何躲避?,IDS,如何躲避,IDS,?,弄乱流量,改变数据的结构或语法,弄乱上下文,IDS,无法识别完整的会话,方法:,网络层躲避,应用层躲避,网络层躲避,只使用片断,发送片断泛洪,以意想不到的方式对数据包分段,微小片段攻击,片段重叠,工具:,fragroute,Fragrouter,应用层躲避,躲避,IDS CGI,:,whisker(,),URL,编码,/./,目录插入,过早结束的,URL,长,URL,假参数,TAB,分隔,大小写敏感,Windows,分隔符,(),空方法,会话拼接(在网络层分片,),第,03,讲 网络攻击行为分析,(二)技术篇,网络攻击阶段及工具,侦察,扫描,拒绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,使用应用程序和操作系统的攻击获得访问权,在获得目标潜在的漏洞之后,攻击者将设法获得对目标系统的访问权,脚本小孩的攻击过程:,查找漏洞数据库,下载工具,发送攻击,真正的攻击者:,自己动手,!,常用的攻击方法,基于堆栈的缓冲区溢出,密码猜测,网络应用程序攻击,基于堆栈的缓冲区溢出攻击,缓冲区,简单说来是一块连续的计算机内存区域,可以保存相同数据类型的多个实例,.C,程序员通常和字缓冲区数组打交道,.,最常见的是字符数组,.,数组,与,C,语言中所有的变量一样,可以被声明为静态或动态的,.,静态变量在程序加载时定位于数据段,.,动态变量在程序运行时定位于堆栈之中,.,溢出,说白了就是灌满,使内容物超过顶端,边缘,或边界,.,我们这里只关心动态缓冲区的溢出问题,即基于堆栈的缓冲区溢出,.,基于堆栈的缓冲区溢出攻击,什么是堆栈?,堆栈是一种数据结构,一个在计算机科学中经常使用的抽象数据类型,用来存储计算机上运行,进程,的重要信息,堆栈的操作表现位,LIFO,:后进先出;最后一个放入堆栈中的物体总是被最先拿出来。,堆栈中定义了一些操作。两个最重要的是,PUSH,和,POP,。,PUSH,操作在堆栈的顶部加入一个元素。,POP,操作相反,在堆栈顶部移去一个元素,并将堆栈的大小减一,。,什么数据存储在堆栈中?,存放与函数调用有关的信息,进程内存布局,内存低端,内存高端,文本区,(包括程序代码和只读数据),(已初始化区),数据区,(未初始化区),栈区,大小固定,对应可执行文件的文本区,大小可变,对应可执行文件的数据区,大小动态变化,临时存储区,典型操作为,push,,,pop,基于堆栈的缓冲区溢出攻击,为什么使用堆栈,?,现代计算机被设计成能够理解人们头脑中的高级语言,在使用高级语言构造程序时最重要的技术是过程,(procedure),和函数,(function),。从这一点来看,一个过程调用可以象跳转,(jump),命令那样改变程序的控制流程,但是与跳转不同的是,当工作完成时,函数把控制权返回给调用之后的语句或指令,这种高级抽象实现起来要靠堆栈的帮助。,堆栈也用于给函数中使用的局部变量动态分配空间,同样给函数传递参数和函数返回值也要用到堆栈。,栈,内存低端,内存高端,填充方向,栈底,是固定地址,栈顶,指针(栈指针),SP,栈帧指针,FP,:指向栈的固定数据块,栈帧,:,包含函数的参数、局部变量以及恢复前一个栈帧的数据信息,(,如指令指针的值),堆栈区域,堆栈是一块保存数据的连续内存。一个名为堆栈指针,(SP),的寄存器指向堆栈的顶部。堆栈的底部在一个固定的地址。堆栈的大小在运行时由内核动态地调整。,CPU,实现指令,PUSH,和,POP,,向堆栈中添加元素和从中移去元素。,堆栈由逻辑堆栈帧组成。当调用函数时逻辑堆栈帧被压入栈中,当函数返回时逻辑堆栈帧被从栈中弹出。堆栈帧包括函数的参数,函数地局部变量,以及恢复前一个堆栈帧所需要的数据,其中包括在函数调用时指令指针,(IP),的值。,堆栈既可以向下增长,(,向内存低地址,),也可以向上增长,这依赖于具体的实现。在我们的例子中,堆栈是向下增长的。这是很多计算机的实现方式,包括,Intel,,,Motorola,,,SPARC,和,MIPS,处理器。,堆栈区域,堆栈指针,(SP),也是依赖于具体实现的。它可以指向堆栈的最后地址,或者指向堆栈之后的下一个空闲可用地址。在我们的讨论当中,,SP,指向堆栈的最后地址。除了堆栈指针,(SP,指向堆栈顶部的的低地址,),之外,为了使用方便还有指向帧内固定地址的指针叫做帧指针,(FP),。从理论上来说,局部变量可以用,SP,加偏移量来引用。然而,当有字被压栈和出栈后,这些偏移量就变了。尽管在某些情况下编译器能够跟踪栈中的字操作,由此可以修正偏移量,但是在某些情况下不能。而且在所有情况下,要引入可观的管理开销。而且在有些机器上,比如,Intel,处理器,由,SP,加偏移量访问一个变量需要多条指令才能实现。,堆栈区域,因此,许多编译器使用第二个寄存器,FP,,对于局部变量和函数参数都可以引用,因为它们到,FP,的距离不会受到,PUSH,和,POP,操作的影响。考虑到我们堆栈的增长方向,从,FP,的位置开始计算,函数参数的偏移量是正值,而局部变量的偏移量是负值。,当一个例程被调用时所必须做的第一件事是保存前一个,FP(,这样当例程退出时就可以恢复,),。然后它把,SP,复制到,FP,,创建新的,FP,,把,SP,向前移动为局部变量保留空间。这称为例程的序幕,(prolog),工作。当例程退出时,堆栈必须被清除干净,这称为例程的收尾,(epilog),工作。,Intel,的,ENTER,和,LEAVE,指令,,Motorola,的,LINK,和,UNLINK,指令,都可以用于有效地序幕和收尾工作。,栈例子,(1),void function(int a,int b,in c),char buffer15;,char buffer210;,void main(int argc,char*argv),char large_string256;,function(1,2,3);,程序从此开始执行,程序流程转到此函数,Main,函数栈,Large_string,(局部变量),保存的框架指针,(上一个,FP,),返回的指令指针,argv,内存低端,内存高端,填充方向,argc,SP,Main,函数的栈帧,首先,以从后往前的顺序将,function,的三个参数压入栈中:,Function,函数被调用后,Large_string,(局部变量),保存的,框架指针,(上一个,FP,),返回的指令指针,argv,内存低端,内存高端,填充方向,argc,SP,Main,函数的栈帧,c,b,a,返回的指令指针,(RET),上一个,FP,(,SFP,),(main,函数的,FP,),buffer1,buffer2,Function,函数的栈帧,然后,调用,function(),。指令,call,会把指令指针,(IP),也压入栈中,将帧指针,EBP,压入栈中。然后把当前的,SP,复制到,EBP,,使其成为新的帧指针。接下来将,SP,的值减小,为局部变量保留空间。,缓冲区溢出,缓冲区溢出是向一个缓冲区填充超过它处理能力的数据所造成的结果。如何利用这个经常出现的编程错误来执行任意代码呢?让我们来看看另一个例子:,栈例子,(2),void function(char*str),char buffer16;,strcpy(buffer,str);,void main(),char large_string256;,int i;,for(i=0;i256;i+),large_bufferi=A,function(large_string);,程序从此开始执行,程序流程转到此函数,Function,函数被调用后,i,large_string,(局部变量),保存的框架指针,(上一个,FP,),返回的指令指针,内存低端,内存高端,填充方向,SP,Main,函数的栈帧,*str,返回的指令指针,上一个,FP,(main,函数的,FP,),buffer,function,函数的栈帧,这个程序的函数含有一个典型的内存缓冲区编码错误。该函数没有进行边界检查就复制提供的字符串,错误地使用了,strcpy(),而没有使用,strncpy(),。如果你运行这个程序就会产生段错误。,这里发生了什么事?为什么我们得到一个段错误?,strcpy(),将*,str,的内容,(larger_string),复制到,buffer,里,直到在字符串中碰到一个空字符。显然,,buffer,比*,str,小很多。,buffer,只有,16,个字节长,而我们却试图向里面填入,256,个字节的内容。这意味着在,buffer,之后,堆栈中,250,个字节全被覆盖。包括,SFP,,,RET,,甚至*,str,!我们已经把,large_string,全都填成了,A,。,A,的十六进制值为,0 x41,。这意味着现在的返回地址是,0 x41414141,。这已经在进程的地址空间之外了。当函数返回时,程序试图读取返回地址的下一个指令,此时我们就得到一个段错误。,因此缓冲区溢出允许我们更改函数的返回地址。这样我们就可以改变程序的执行流程。,strcpy,函数被调用后,AAAA,AAAA,AAAA,AAAA,内存低端,内存高端,填充方向,SP,Main,函数的栈帧,?,AAAA,AAAA,AAAA,buffer,function,函数的栈帧,?,返回的指令指针,缓冲区溢出是黑客们喜欢利用的手段之一。绝大多数微软提供的补丁修复程序并未检查缓冲区问题,而应用程序的内部开发和商业应用软件一样,对缓冲区溢出攻击敏感。缓冲区溢出攻击就是利用了程序等待用户的输入的缺点。,在基于堆栈的缓冲区溢出攻击中,被攻击者利用的程序使用一个名叫堆栈的内存对象来存储用户的输入。通常情况下,在程序没有用户输入以前,堆栈是空的。有用户输入时,程序先写入一个返回内存地址到堆栈,然后把用户的输入数据存储在返回地址的上方。当执行堆栈时,用户的输入数据就被传送到程序指定的返回地址中。,然而,堆栈的大小都是有限的。开发代码的程序员必须给堆栈保留一定数量的空间。如果用户的输入超出了在堆栈里为它预留空间的大小,那么堆栈会溢出。这本来不是一个很大的问题,但如果遇到恶意的输入时,它就变成了一个巨大的安全漏洞。,例如,假设某个程序正等待用户输入他或她的姓名。黑客可能会输入长度超过堆栈大小的可执行命令,而不是输入的自己的姓名。而这条命令通常很简短。例如,在,Linux,环境下,典型的如,exec,(,“,sh,”,)命令,它要求系统打开一个命令提示符窗口,使用,Linux,的人称它为,root shell.,。,然而有可执行指令的缓冲区溢出并不意味着指令就会被执行。攻击者必须为恶意指令指定一个返回地址。由于堆栈溢出,程序会部分崩溃。然后程序会试图通过指向返回地址进行恢复,但是返回地址已经被黑客改变为指向恶意指令。当然,这意味着黑客必须知道恶意指令将存储的地址。为了省去寻找精确地址的麻烦,攻击者可以通过对恶意指令的两头进行,NOP,指令(一种指针)填充。在不知道内存精确范围时,对堆栈两头进行填充是常见的技术。因此,如果黑客指定的地址中落在填充的范围之内,恶意命令将可能会被执行。,最后一部分是可执行程序的权限。如我们所知,大多现代化的操作系统都采用某种机制来控制当前登录用户的访问级别权限,而执行程序通常需要更高级别的权限。因此,这些程序以内核模式或以服务帐户继承权限模式运行。当堆栈溢出攻击执行位于新的返回地址上的命令时,程序认为它仍然在运行。这意味着,命令提示符窗口同被攻击的应用程序一样具有相同的权限。通常,这意味着攻击者已经完全取得了操作系统的控制权。,缓冲区溢出攻击组成,发现缓冲区,测试,(,Try,!),字符串操作函数,Web,搜索,编写,shell,代码:将要被执行的程序,编写,exploit,代码(植入代码):启动,shell,代码的程序,缓冲区溢出之后,一旦溢出并产生了一个命令外壳之后,攻击者采取的动作可能有:,使用,inetd,创建后门,使用,tftp,或,netcat,进行后门攻击,回击,xterm,密码猜测攻击,猜测缺省密码,通过登录脚本猜测密码,密码破解,Windows,:,L0phtCrack,unix:,:,John the Ripper,关键:如何获得密码文件?,网络应用程序攻击,收集帐号,不断输入错误帐号和口令,破坏,web,应用程序的会话跟踪,猜测会话,ID,,通过获取,HTML,页面修改后重放,修改,cookies,如果会话,ID,不能手工修改?,Web,代理工具:,Achilles,SQL Piggybacking,网络攻击阶段及工具,攻击的阶段性,侦察,扫描,拒绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,使用网络攻击获得访问权,网络攻击方式,嗅探,嗅探是一种实现监听和协议分析的方式,工作在网络的底层,捕获所有网络数据包。,IP,地址欺骗,会话劫持,多功能网络工具攻击:,NetCat,嗅探,被动嗅探:通过集线器进行嗅探,主动嗅探:通过交换机进行嗅探,被动嗅探,嗅探工具,Tcpdump,www.tcpdum.org,Windump,netgroup-serv.polito.it/windump/,Snort,www.snort.org,Ethereal,,,Dsniff,www.monkey.org/dugsong/dsniff/,SnifferPro,主动嗅探,被动嗅探仅对共享式网络有效,如何在交换式网络中进行嗅探呢?,集线器,交换机,主动嗅探(续),主动嗅探类型,泛洪对付交换机,用,ARP,欺骗信息对付交换机,嗅探和欺骗,DNS,对,HTTPS,和,SSH,进行嗅探,主动嗅探(续),泛洪对付交换机,(1),交换机,主动嗅探(续),泛洪对付交换机,(2),交换机,内存耗尽!,主动嗅探(续),用,ARP,欺骗信息对付交换机(,ARPSpoof,),交换机,外部网络,LAN,的缺省路由,主动嗅探(续),用,ARP,欺骗信息对付交换机(,ARPSpoof,),交换机,外部网络,LAN,的缺省路由,1.,配置,IP,转发将数据包送到缺省路由器,2.,发送假的,ARP,回应,使受害者主机的,ARP,表中的条目被污染,将路由器的,IP,地址映射为攻击者的,MAC,地址,3.,受害者的数据实际发向了攻击者,4.,攻击者进行嗅探,5.,攻击者转发数据包,主动嗅探(续),嗅探和欺骗,DNS,交换机,外部网络,LAN,的缺省路由,1.,攻击者启动,DNS,嗅探,2.,受害者发送,DNS,解析消息,3.,攻击者截获,DNS,解析消息,4.,攻击者快速回送一个假的域名解析:,202.115.26.222,5.,受害者发送的数据将送往外部攻击者,202.115.26.222,主动嗅探(续),对,HTTPS,和,SSH,进行嗅探,中间人,中间人攻击,主动嗅探,对,HTTPS,和,SSH,进行嗅探,交换机,外部网络,LAN,的缺省路由,1.,攻击者启动,DNS,嗅探,2.,受害者发送,DNS,解析消息,3.,攻击者截获,DNS,解析消息,4.,攻击者快速回送一个假的域名解析:,10.0.0.55,5.,受害者发送的数据将送往攻击者,10.0.0.55,6.,攻击者转发,SSL,或,SSH,消息,提示用户,使用网络攻击获得访问权,IP,地址欺骗,简单,IP,地址欺骗,复杂,IP,地址欺骗,源路由欺骗,简单,IP,地址欺骗,IP:x,IP:y,伪造一个来自于,IP,地址为,y,的数据包,复杂,IP,地址欺骗,5.,使用猜测的序列号响应,Bob,Eve,Alice,1.,打开到,Bob,的,TCP,连接以观察回应中使用的初始序列号,Bob,2.,对,Alice,发送拒绝服务攻击,使得,Alice,不能响应任何消息,3.,使用,Alice,的地址与,Bob,建立连接,4.Bob,的响应被发送到,Alice,使用源路由进行,IP,地址欺骗,Eve,Alice,Bob,3.Eve,窃听数据,并修改后发送给,Alice,1.,发送源路由数据包,其中从,Bob,到,Alice,的路径包括,Eve,2.Bob,发送到,Alice,的数据将经过,Eve,使用网络攻击获得访问权,会话劫持,Eve,Alice,Bob,1.Alice Telnet Bob,2.Alice,与,Bob,之间的,Telnet,连接,3.Eve,窃听并分析,TCP,序列号,4.Eve,伪装,Alice,的,IP,地址发送数据包给,Bob,会话劫持(续),工具:,Dsniff,IP Watcher,:,TTYWatcher:ftp.cerias.purdue.edu,TTYSnoop:,使用网络攻击获得访问权,多功能工具,NetCat:,Horse,),Back Orifice 2000(BO2K):,.,后门(,Backdoor,),RootKits:,修改系统命令甚至内核,du,find,ls,Ifconfig,netstat,ps,网络攻击阶段及工具,侦察,扫描,决绝服务攻击,掩盖踪迹和隐藏,使用应用程序和操作,系统的攻击获得访问权,使用网络攻击,获得访问权,维护访问权,掩盖踪迹和隐藏,安装,RootKits,或者,backdoor,修改事件日志,Windows,:,*,.evt,工具:,winzapper,ntsecurity.nu/toolbox/winzapper/,UNIX:,utmp,wtmp,lastlog,掩盖踪迹和隐藏(续),利用秘密通道技术来隐藏证据,隧道技术,loki,:,ICMP,隧道,Van Hauser,:,HTTP,隧道,隐蔽通道(,Covert Channel,),利用,IP,或者利用,tcp,头,IP identifier,TCP Sequence number,TCP ack number,工具:,Covert_TCP,Case Study,Source Code DB,Monstrous Software,电子办公,Monstrous Software,Case Study,Step 1,:寻找跳离点,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,Case Study,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,Case Study,Step 2,:搜速,Monstrous Software,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,Case Study,Step 3,:发送带病毒的、有吸引人的垃圾邮件,Source Code DB,跳离点(前苏联),跳离点(日本),Monstrous Software,电子办公,Monstrous Software,SPAM,Case Study,Step 3,:发送带病毒的、有吸引人的垃圾邮件,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,下载电子邮件,VPN,Case Study,Step 4,:下载病毒代码,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,下载木马后门,Case Study,Step 5,:木马后门利用,VPN,搜索,windows,共享,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,木马后门,VPN,Case Study,Step 6,:上传病毒代码,并替换为,notepad,等程序,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,木马后门,VPN,木马后门,木马后门,Case Study,Step 7,:回传口令信息,跳离点(前苏联),跳离点(日本),Source Code DB,Monstrous Software,电子办公,Monstrous Software,木马后门,Netcat,L0phCrack,Netcat,木马后门,木马后门,Case Study,Step 8,:利用隐蔽信道传送命令和解密口令,Source Code DB,跳离点(前苏联),跳离点(日本),Monstrous Software,电子办公,Monstrous Software,木马后门,Netcat,L0phCrack,Covert_TCP,通信量大的电子,商务网站,Netcat,木马后门,木马后门,Case Study,Step 9,:利用破解后的口令建立,VPN,连接,并扫描网络,Source Code DB,Monstrous Software,跳离点(前苏联),跳离点(日本),Monstrous Software,电子办公,木马后门,Netcat,L0phCrack,Covert_TCP,通信量大的电子,商务网站,Netcat,VPN,木马后门,木马后门,Case Study,Step 10,:回传源代码,Source Code DB,Monstrous Software,跳离点(前苏联),跳离点(日本),Monstrous Software,电子办公,木马后门,Netcat,L0phCrack,Covert_TCP,通信量大的电子,商务网站,Netcat,VPN,木马后门,木马后门,源代码,Main(),.,总结,反击黑客是一件极为困难的工作,网络攻击工具是一面双刃剑,开始任何攻击或探测之前,请注意你自己也将暴露在攻击目标或监管系统面前,并请遵守信息安全职业道德!,周世杰,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服