基于metasploit编程的linux服务漏洞扫描实现_第1页
基于metasploit编程的linux服务漏洞扫描实现_第2页
基于metasploit编程的linux服务漏洞扫描实现_第3页
基于metasploit编程的linux服务漏洞扫描实现_第4页
基于metasploit编程的linux服务漏洞扫描实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于METASPLOIT编程的LINUX服务漏洞扫描实现THEDESIGNANDREALIZATIONFORTHEVULNERABILITYSCANOFTHELINUXSYSTEMBASEDONMETASPLOITFRAMEWORK班级09计本二班专业计算机科学与技术学部信息学部二一三年五月摘要随着互联网应用的广泛发展,越来越多的人认识到网络安全的重要性。与此同时,本课题属于计算机科学与技术中的信息安全领域。今天,由于计算机技术的飞速发展,计算机在企业和家庭中的应用已经得到了广泛地应用。计算机的广泛应用带来的是,个人用户和企业用户对计算机的功能需求变得更广泛,如今的计算机用户不仅满足与WINDOWS操作系统,随着企业在数据安全的需要、教育领域对开源的需要以及一些个人用户的特殊需求,LINUX操作系统使用用户正在逐步成长。LINUX这款基于开源精神开发的操作系统已经成为商业、教育、计算机开发等领域的热门操作系统。伴随着LINUX操作系统兴起的是很多黑客对LINUX的攻击,他们针对LINUX操作系统的一些漏洞编写恶意代码或者从互联网进行攻入,对LINUX用户的信息安全造成了相当的威胁。本课题以提高LINUX的安全性为目的而设立,将从LINUX操作系统内核分析、常见漏洞和设计通过编程对LINUX进行漏洞扫描的具体实施办法。本文首先介绍了漏洞以及漏洞扫描的概念,接着简单介绍了现在主流的漏洞扫描工具,继续重点介绍了METASPLOITFRAMEWORK这款安全测试工具的特点,最后利用METASPLOITFRAMEWORK模拟黑客对LINUX系统漏洞进行攻击。关键词METASPLOIT;LINUX;EXPLOITSABSTRACTWITHTHEEXTENSIVEDEVELOPMENTOFINTERNETAPPLICATIONS,MOREANDMOREPEOPLEHAVEREALIZEDTHEIMPORTANCEOFNETWORKSECURITYATTHESAMETIME,THESUBJECTISCOMPUTERSCIENCEANDTECHNOLOGYINTHEFIELDOFINFORMATIONSECURITYTODAY,THANKSTOTHERAPIDDEVELOPMENTOFCOMPUTERTECHNOLOGY,COMPUTERBUSINESSESANDHOUSEHOLDSHAVEBEENWIDELYUSEDEXTENSIVEUSEOFCOMPUTERS,THEFUNCTIONALREQUIREMENTSOFINDIVIDUALUSERSANDBUSINESSUSERSOFTHECOMPUTERBECOMESMOREWIDELYTODAYSCOMPUTERUSERSTONOTONLYMEETWITHTHEWINDOWSOPERATINGSYSTEM,THEFIELDOFEDUCATIONWITHTHENEEDSOFENTERPRISEDATASECURITY,THENEEDFOROPENSOURCEASWELLASSOMEOFTHESPECIALNEEDSOFINDIVIDUALUSERS,LINUXOPERATINGSYSTEMISGRADUALLYGROWINGLINUX,THISOPERATINGSYSTEMBASEDONTHESPIRITOFOPENSOURCEDEVELOPMENTHASBECOMETHEMOSTPOPULAROPERATINGSYSTEMFORBUSINESS,EDUCATION,COMPUTERDEVELOPMENTANDOTHERAREASALONGWITHTHELINUXOPERATINGSYSTEM,THERISEOFALOTOFHACKERSATTACKONLINUX,THEYWRITEMALICIOUSCODEORSCOREDFROMTHEINTERNET,SOMEOFTHEHOLESFORTHELINUXOPERATINGSYSTEMANDCAUSEDACONSIDERABLETHREATTOTHEINFORMATIONSECURITYOFLINUXUSERSTHISTOPICINORDERTOIMPROVETHESECURITYOFLINUXESTABLISHEDFORTHEPURPOSE,FROMTHELINUXOPERATINGSYSTEMKERNELANALYSIS,COMMONVULNERABILITIESANDDESIGNPROGRAMMINGONLINUXVULNERABILITYSCANNINGOFSPECIFICMEASURESFORIMPLEMENTATIONTHISARTICLEMAJORINGINTRODUCEDTHEFUNDAMENTALCONCEPTIONSOFLOOPHOLEANDTHELOOPHOLESCANNINGFIRSTLYTHENITLETUSKNOWSOMECHARACTERIZESOFMETASPLOITFRAMEWORKLASTLY,THEAUTHORUSEDTHEMETASPLOITFRAMEWORKIMITATEHACKERATTACKTHELINUXSYSTEMKEYWORDSMETASPLOIT;LINUXEXPLOI目录1漏洞扫描原理111漏洞112漏洞扫描与渗透测试22漏洞扫描的工具和现有产品321漏洞扫描器简介322漏洞扫描的工具43METASPLOIT工具集和RUBY语言631METASPLOIT工具简介632METASPLOIT如何工作733RUBY语言简介84LINUX的漏洞扫描设计1041漏洞名称及描述1042受影响系统1043关于POP3漏洞1044漏洞产生的原因1045由此漏洞扫描的总体设计115针对LINUX的POP3漏洞扫描的程序实现116LINUX的扫描过程及其解决方案1461扫描过程1462解决方案167总结17致谢18参考文献191漏洞扫描原理漏洞扫描技术的原理是向远程计算机的特定端口发送特定的请求数据,根据从该端口返回数据的特征,来判断该主机是否存在某种漏洞。主要通过以下两种方法来检查目标主机是否存在漏洞一是在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配;查看是否存在满足条件的漏洞;二是通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,若模拟攻击成功,则表明目标主机系统存在安全漏洞。111漏洞1漏洞的解释漏洞是指一个系统存在的弱点或缺陷,导致系统被特定威胁进行攻击的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,导致信息的泄漏或者系统控制权的被剥夺,如信息系统被攻击或控制,重要资料被窃取,用户数据被篡改,系统被作为入侵其他主机系统的跳板。从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系统中的漏洞,特别是WEB应用系统中的漏洞更是占信息系统漏洞中的绝大多数。2漏洞的产生途径漏洞的产生来自以下4种途径1编程过程中出现逻辑错误是很普遍的现象,这些错误绝大多数都是由于疏忽造成的。2数据处理例如对变量赋值比数值计算更容易出现逻辑错误,过小和过大的程序模块都比中等程序模块更容易出现错误。3漏洞和具体的系统环境密切相关。在不同种类的软、硬件设备中,同种设备的不同版本之间,由不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。4漏洞问题与时间紧密相关。随着时间的推移,旧的漏洞会不断得到修补或纠正,新的漏洞会不断出现,因而漏洞问题会长期存在。3漏洞的分类漏洞可以根据产生形式进行如下的分类(1)、软件编写存在BUG只要是使用代码编写的程序,都会存在不同程度的BUG。这些BUG使得程序在运行的时候出现类似崩溃这样明显的故障或者一些无法察觉的隐性问题,不能保证这些BUG会对程序或者系统造成怎样的影响,很有可能被黑客加以利用进行对系统或者程序的恶性攻击;(2)、系统配置不当没有对系统进行足够的配置,导致系统容易被利用,例如在系统下共享了文件夹,却没有进行相关的保密措施,导致这个文件夹以很高的可控制权暴露在每一个可以访问这台电脑的主机面前。其他访问这台电脑的主机可以对这个文件夹进行任意的修改;(3)、口令失窃口令设置的过分简单,容易被破解,或者被入侵者使用字典数据库进行攻击导致系统密码被获取。如果口令设置的足够复杂,入侵者是不可能使用静态的字典轻易获取账户密码的,除非入侵者使用暴力手段,进行所有密码组合可能的测试;(4)、嗅探未加密通讯数据传统以太网的结构上被攻击者设置了网络嗅探器,查看网段上流通的数据,使得数据被截获;(5)、设计存在缺陷TCP/IP协议本山的设计缺陷已经被广泛使用,存在不足的系统漏洞在所难免,复杂的系统设计或者协议构架上难免存在设计上的缺陷;(6)、系统攻击系统攻击是指某人非法使用或破坏某一信息系统中的资源,以及非授权使系统丧失部分或全部服务功能的行为。通常可以把攻击活动大致分为远程攻击和内部攻击两种。现在随着互联网络的进步,其中的远程攻击技术得到很大发展,威胁也越来越大,而其中涉及的系统漏洞以及相关的知识也较多,因此有重要的研究价值。12漏洞扫描与渗透测试1漏洞扫描的定义漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。漏洞扫描过程可由下列简化流程表示(见图1)发现及搜索目标主机或网络获取漏洞参数设置漏洞扫描返回扫描结果攻击测试图1漏洞扫描简化流程2渗透测试渗透测试(PENETRATIONTESTING)是一种通过模拟攻击者的技术与方法,挫败目标系统的安全控制措措施并获得访问控制权的安全测试方式。渗透测试的过程并非简单的运用一些扫描器和自动化工具,然后根据结果写一份安全报告。渗透的过程当中,你要充分扮演攻击者的角色,通过自己的经验与技术模仿攻击者的攻击行为。企业所采纳的渗透测试执行标准(PTESPENETRATIONTESTINGEXECUTIONGSTANDARD)正在对渗透测试进行重新定义,新标准的核心理念是通过建立起进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程。22漏洞扫描的工具和现有产品21漏洞扫描器简介漏洞扫描器是一种能检测远程或本地主机安全漏洞的程序。扫描的主要原理是通过网络向目标主机发送包含漏洞探测码的数据包,然后将接收到的应答信息与漏洞库中漏洞的特征码进行比较来判断漏洞是否存在3。通过扫描,就能够搜集到目标主机的各种信息,例如是否能匿名登陆、是否有可写的FTP目录、是否存在弱口令等。而且对于目标主机来,漏洞扫描也是一种攻击尝试,对目标主机可能会造成一定危害性。一般如果没有需要,不要轻易尝试扫描其他主机或网站。漏洞扫描的关键就是对漏洞特征码的分析与抽象,发送机制需要根据特征码构造探测数据包。22漏洞扫描的工具目前市场上有不少功能强大的扫描器。例如国内有小榕的流光,安全焦点的XSCANNER,国外有TENABLIE出品的NESSUS、俄罗斯的SHADOWSECURITYSCANNER(SSS)。每种工具提供不同的特性,各具优势。1流光简介流光FLUXAY是中国第一代黑客小榕的制作的综合扫描工具,是一款非常优秀的综合扫描工具。它不仅具有完善的扫描功能,而且自带了很多猜解器和入侵工具,在FTP、POP3解密上效果突出。而且SENSOR的服务名称可以任意指定,控制服务和SENSOR的进程名称也可以任意指定。界面和SENSOR之间的通讯采用TRIPLEDES,密钥的长度最多可到192BITS,保证整个传输过程不可被监听。扫描的结果也只有在密钥正确的情况下才可阅读。是扫描系统服务器漏洞的利器。其下功能如下1、用于检测POP3/FTP主机中用户密码安全漏洞。2、163/169双通。3、多线程检测,消除系统中密码漏洞。4、高效的用户流模式。5、高效服务器流模式,可同时对多台POP3/FTP主机进行检测。6、最多500个线程探测。7、线程超时设置,阻塞线程具有自杀功能,不会影响其他线程。8、支持10个字典同时检测。9、检测设置可作为项目保存。10、取消了国内IP限制而且免费。2安全焦点的XSCANNERXSCANNER是国内最著名的综合扫描器之一,完全免费且为绿色软件无需安装。界面支持中文和英文两种语言,包括图形界面和命令行指令形式。由国内著名的民间入侵者组织“安全焦点”制作完成。从2000年的内部测试版XSCANV02到目前的最新版本XSCAN33都凝聚了国内众多渗透测试者的心血。XSCAN把扫描报告和安全焦点网站相连接,对扫描到的每个漏洞进行“风险等级”评估,并提供漏洞描述、漏洞溢出程序,方便网管测试、修补漏洞XSCANNER集成了多种扫描功能于一身,它可以采用多线程方式对指定IP地址段(或独立IP地址)进行安全漏洞扫描,提供了图形界面和命令行两种操作方式,扫描内容包括标准端口状态及端口BANNER信息、CGI漏洞、RPC漏洞、SQLSERVER默认帐户、FTP弱口令,NT主机共享信息、用户信息、组信息、NT主机弱口令用户等。3NESSUS1998年,NESSUS的创办人RENAUDDERAISON展开了一项名为“NESSUS“的计划,其计划目的是希望能为互联网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫描程式。2002年时,RENAUD与RONGULA,JACKHUFFARD创办了一个名为TENABLENETWORKSECURITY机构。在第三版的NESSUS释出之时,该机构收回了NESSUS的版权与程式源代码(原本为开放源代码),并注册了NESSUSORG成为该机构的网站。目前此机构位于美国马里兰州的哥伦比亚。TENABLIE出品的NESSUS最初是一个开源的安全扫描项目,现在已经成为全世界最受欢迎的安全扫描系统,它具有以下特点1最全和最新的漏洞数据库。由于NESSUS源于开源项目,在全球范围内有大量人员在开发对新发现漏洞的检测。其漏洞数据库中的漏洞检测插件在不断更新,有一万多种,分为46类。2远程和本地安全检查。传统的网络安全扫描系统只能做远程开放网络服务的扫描,而NESSUS被设计为CLIENT/SEVER模式,既可以做基于网络的扫描也可以做基于主机的扫描,能显著地提高扫描速度并减少误报和漏报的概率。3智能的服务识别。NESSUS能识别出运行在非标准端口号上的常规服务,它是第一个实现该功能的安全扫描器,同时对于目标主机把同一个服务同时运行在几个不同端口号的情况,覆盖很多协议(如HTTP、SMTP、FTP、SNMP、RCP、LDAP以及TFTP)、后门、应用程序以及本地漏洞,NESSUS也能识别并作相应的安全检测。4常规检查和彻底检查。NESSUS提供了两种扫描模式常规扫描和完全扫描。常规扫描就是把一些具有危险和攻击性、可能引起被扫描对象崩溃的插件屏蔽,完全扫描则启用所有插件包括有攻击性的插件来观察扫描对象是否能抵御攻击。5采用基于NASL语言的插件模块。NASLNESSUSATTACKSCRIPTLANGUAGE是NESSUS的一大特色,它是专为NESSUS设计的脚本语言,用于开发安全扫描插件,现在己成为业界事实标准。在负端采用了PLUGIN1的体系,允许用户加入执行特定功能的插件,这插件可以进行更快速和更复杂的安全检查。6完整的报告。NESSUS有强大的报告输出能力,可以输出HTML、LATEX、ASCII文本、XML等多种格式。在报告中,它不仅指出发现存在的安全漏洞及风险分析,并且还能给出相应的解决办法4。4俄罗斯的SSSV794来自俄罗斯的安全扫描工具来自俄罗斯的老牌安全扫描软件。这是一款非常专业的安全漏洞扫描软件,功能非常强大,是网络安全人员必备软件之一。能扫描服务器各种漏洞,包括很多漏洞扫描、账号扫描、DOS扫。描而且漏洞数据可以随时更新。SSSSHADOWSECURITYSCANNER在安全扫描市场中享有速度最快,功效最好的盛名,其功能远远超过了其它众多的扫描分析工具。可以对很大范围内的系统漏洞进行安全、高效、可靠的安全检测,对系统全部扫面之后,可以对收集的信息进行分析,发现系统设置中容易被攻击的地方和可能的错误,得出对发现问题的可能的解决方法。使用了完整的系统安全分析算法INTELLECTUALCORE智能核心,该算法已经申请了专利。其系统扫描的速度和精度足以让你敢和专业的安全机构和那些想侵入你网络的黑客叫板。不仅可以扫描WINDOWS系列平台,而且还可以应用在UNIX及LINUX、FREEBSD、OPENBSD、NETBSD、SOLARIS等。由于采用了独特的架构,SSS是世界上唯一的可以检测出思科,惠普及其它网络设备错误的软件,而且它在所有的商用软件中还是唯一能在每个系统中跟踪超过4000个审核的软件。3METASPLOIT工具集和RUBY语言31METASPLOIT工具简介1METASPLOIT背景METASPLOIT是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当HDMOORE在2003年发布METASPLOIT时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针1指插件的意思,计算机专业术语对已公布漏洞的补丁了,这是因为METASPLOIT团队一直都在努力开发各种攻击工具,并将它们贡献给所有METASPLOIT用户。METASPLOIT并不仅仅是一个工具软件,它是为自动化地实施经典的、常规的,或复杂新颖的攻击提供基础设施支持的一个完整框架平台。它使你可以将精力集中在渗透测试过程中那些独特的方面上,以及如何识别信息安全计划的弱点上。2METASPLOITFRAMEWORK的功能模块METASPLOITFRAMEWORK简称MSF终端,是目前METASPLOIT框架最为流行的用户接口,而这也是非常自然的,因为MSF终端METASPLOIT框架中最灵活、功能最丰富以及支持最好的工具之一。MSF终端提供了一站式的接口,能够访问METASPLOIT框架中几乎每一个选项和配置。METASPLOITFRAMEWORK包含3个功能模块MSFCONSOLE、MSFWEB和MSFUPDATE。MSFUPDATE用于软件更新,可以更新最新的漏洞库和利用代码。MSFCONSOLE是整个框架中最受欢迎的模块,所有的功能都可以在该模块下运行。MSFWEB是METASPLOITFRAMEWORK的WEB组件,支持多用户,是METASPLOIT图形化接口。通过使用METASPLOIT,组织可以找到以前没有发现的安全弱点并开始解决它们。因此安全工作人员常用METASPLOIT工具来检测系统的安全性。3METASPLOITFRAMEWORK所具有的主要功能及其任务1、支持所有主要的操作系统(WINDOWS、LINUX、SLOARIS、HPUX等)。2、设置选项以及运行漏洞具有一致的界面。3、将有效载荷从漏洞中分离开来,可以根据用户喜好进行混合以及匹配。4、集成的编码以及规避功能。5、具有易干更新机制的统一漏洞数据库。METASPLOIT的主要任务就是,跨越多种漏洞、可以帮助黑客攻击和控制计算机,安全人员也可以利用METASPLOIT来加强系统对此类工具的攻击。32METASPLOIT如何工作1EXPLOIT和有效载荷(PAYLOAD)METASPLOIT使用EXPLOIT和有效载荷抽象出每种攻击的细节,并且使得它们在漏洞上具有移植性。METASPLOITFRAMEWORK(MSF)是一个为渗透测试、SHELLCODE编写和漏洞研究的平台,同时也是创建安全工具和漏洞研究的开发平台,它集成了各平台上常见的溢出漏洞和流行的攻击代码,并且不断更新,截止写稿时(2012年12月13日)的MSF包含了400种当前流行的操作系统(如AIX、BSDI、FREEBSD、IRIX、HPUX、LINUX、OSX、SOLARIS、UNIX、WINDOWS等)和应用软件的漏洞,以及1003个攻击代码,165个攻击后代码,262个攻击利用代码,28个编码器,563个辅助模块。用于采用RUBY语言开发,具有很好的扩展性。框架由库、接口和模块组成5(1)EXPLOIT这是负责对特定漏洞进行攻击的特殊代码模块。在试图对一台计算机进行渗透时,必须决定采用什么方式进行攻击。这种选择反映了所选择针对的漏洞,以及所选择使用的利用方式。METASPLOIT提供了很多跨越多种操作系统以及应用程序的漏洞,它可以对一台计算机进行多种途径的渗透。与传统单一的利用不同,METASPLOIT仅仅触发易受攻击的条件,不提供任何基于SHELL代码或者高级编码的渗透。诸如SHELL代码、编码以及NOPSLED(2)有效载荷(PAYLOAD)一旦漏洞被触发,有效负荷就可以封装攻击所要的任何功能。当试图触发一种漏洞之后,下一个步骤就是在受害计算机上进行某种动作,诸如获得对SHELL命令行的访问,或者下载后门安装程序。通过选择METASPOIT有效载荷,就选择了在利用漏洞成功时所发生的事情。在底层协议中,有效载荷作为与漏洞利用一起发送的“SHELL代码”而进行编码。62漏洞扫描过程METASPLOITFRAMEWORK利用EXPLOIT对目标系统进行攻击时,其工作流程与漏洞扫描过程(见图1)类似,但又有其独特性。METASPLOITFRAMEWORK的模块可以嵌入NMAP和NESSUS的功能进入到网络中。此时,NMAP、NESSUS可以帮助识别在网络中的主机的系统版本、开放端口、可接入的服务以及这些服务潜在的漏洞。此外,NMAP和NESSUS这些侦查模块本身就能很方便的实现端口扫描和漏洞评估。这些服务使得METASPLOITFRAMEWORK初始化是就已经是一个非常强大的工具。我们可以通过命令让开启MSF的数据库支持服务,然后通过NMAP进行端口扫描,再对目标网络进行自动扫描。这样将会自动触发数据库中的EXPLOIT和有效载荷(PAYLOAD)对目标主机进行攻击。但是,本文章采用的是另一种攻击方式,是针对明确的漏洞,使用明确的EXPLOIT对目标进行攻击。33RUBY语言简介1RUBY语言来历与特点RUBY红宝石是一种纯面向对象的解释性的脚本语言,由日本一家开源公司的程序员松本行弘首先提出和实现的。RUBY汲取了多种语言的优点,如SMALLTALK的纯面向对象、PERL的便利、EIFFEL的清晰语法。这些使RUBY在日本得到的关注远远超过了PERL和PYTHON。RUBY是一种用途广泛的语言,作为脚本语言,RUBY程序可以像其他脚本语言一样用于做UNIX、SHELL或者WINDOWS命令行脚本。RUBY的功能却不仅仅限于脚本开发。我们也可以用RUBY编写GUI应用程序;可以用它做文本的排版、整理以及提取目录等;可以用它对网络服务器和数据库进行管理;还可以将它用于网页服务,可以用RUBY为数据库做界面连接,用RUBY生成动态的网页等。2RUBY语言语法简介RUBY的语法简单、语义清晰,由RUBY写出的程序简单明了,易于理解和掌握。与此同时,RUBY中的类和模块都可以动态扩充,变量没有类型定义。因此,在对已完成的代码做扩充和修改时,常常不需要对原有代码上做任何改动,可以方便程序管理。RUBY又是一个开放式语言,如果使用中发现RUBY缺乏某些功能,可以用RUBY或者C语言对RUBY进行扩充7。在RUBY中编程无需声明变量的类型,这是因为RUBY里任何东西都是对象RUBY变量保存的是对象的引用。RUBY具有很好的“兼容性”,其他语言的程序,尤其是面向对象和脚本语言的程序,通过很少改动就能被RUBY接受,并且常常会有更出色的表现。RUBY的有点还在于它具有完整的元类模型、良好的遍历器、以及闭包、映像等特征。还有,RUBY不仅支持对类的扩充,也支持对单独对象的扩充。RUBY语言是一种动态语言,你可以在程序中修改先前定义过的类。RUBY的变量可以保有任何类型的数据,在RUBY语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整形。任何东西都有值,不管是数学或者逻辑表达式还是一个语句,都有值。RUBY的变量有一定的规则,以开头的一定是全局变量,以开头的都是实例变量,而以开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器的命令补全很有帮助,如在VIM2下先键入及开头字母,再敲击CTRLP,则可专门补全本文件以及关联文件中的全局变量。已经定义的类可以在运行时修改。2一个类似于VI的文本编辑器,不过在VI的基础上增加了许多新特性。4LINUX的漏洞扫描设计41漏洞名称及描述名称CYRUSIMAPDPOP3D远程栈溢出漏洞BUGTRAQID18056CVECANIDCVE20062502地址HTTP/ASGWEBCMUEDU/CYRUS/描述CYRUSIMAPD的POP3D中存在远程溢出漏洞。如果在IMAPDCONF中CYRUSIMAPD将POPSUBFOLDERS设置为1的话,则攻击者就可以通过向远程POP3D发送超长的USER命令参数触发栈溢出。42受影响系统REDHAT5FEDORACORE543关于POP3漏洞这个漏洞利用一个基于堆栈的溢出。一旦堆栈有可能覆盖一个指针,导致出现崩溃错误后,便使用了MEMCPY功能函数从源SRC所指的内存地址的起始位置开始拷贝N个字节到目标DEST所指的内存地址的起始位置中。这给了我们一个写在任何地方以及任何条件类似的格式字符串漏洞。这里需要注意的是POPSUBFOLDERS选项是一个非默认设定,必须进行手动设置,我选择了覆盖GOT和我的SHELLCODE,并返回到它。这击败VA随机补丁和其他可能的堆栈保护功能。测试使用GENTOOSOURCES的LINUX2616。虽然的FEDORACORE5这个版本包含漏洞的代码,它是由于使用了FORTIFY_SOURCE编译手段,导致对该漏洞攻击的防护增强。44漏洞产生的原因CYRUSIMAPSERVER是一款免费开放源代码INTERACTIVEMAILACCESSPROTOCOLIMAP协议实现,可使用在UNIX和LINUX操作系统下。CYRUSIMAPD的POP3D中存在远程溢出漏洞。如果在IMAPDCONF中CYRUSIMAPD将POPSUBFOLDERS设置为1的话,则攻击者就可以通过向远程POP3D发送超长的USER命令参数触发栈溢出。在CYRUSIMAPD232/IMAP/POP3DC中,每次向POP3SERVER提供USER命令时都会调用。45由此漏洞扫描的总体设计根据对漏洞扫描相关知识的了解,以及收集到的关于漏洞的信息,由此产生的设计如下(见图2)图2漏洞扫描流程5针对LINUX的POP3漏洞扫描的程序实现我们基于METASPLOIT的FRAMEWORK基础上编写的RUBY语言的代码REQUIREMSF/CORECLASSMETASPLOIT3CYRUSIMAPDPOP3DPOPSUBFOLDERSUSERBUFFEROVERFLOW,DESCRIPTIONQTHISEXPLOITTAKESADVANTAGEOFASTACKBASEDOVERFLOWONCETHESTACKCORRUPTIONHASOCCUREDITISPOSSIBLETOOVERWRITEAPOINTERWHICHISLATERUSEDFORAMEMCPYTHISGIVESUSAWRITEANYTHINGANYWHERECONDITIONSIMILARTOAFORMATSTRINGVULNERABILITYNOTETHEPOPSUBFOLDERSOPTIONISANONDEFAULTSETTINGICHOSETOOVERWRITETHEGOTWITHMYSHELLCODEANDRETURNTOITTHISDEFEATSTHEVARANDOMPATCHANDPOSSIBLYOTHERSTACKPROTECTIONFEATURESTESTEDONGENTOOSOURCESLINUX2616ALTHOUGHFEDORACORE5SHIPSWITHAVERSIONCONTAININGTHEVULNERABLECODE,ITISNOTEXPLOITABLEDUETOTHEUSEOFTHEFORTIFY_SOURCECOMPILERENHANCEMENT,AUTHORBANNEDIT,JDUCK,LICENSEMSF_LICENSE,REFERENCESCVE,20062502,OSVDB,25853,BID,18056,EDB,2053,EDB,2185,URL,HTTP/ARCHIVESNEOHAPSISCOM/ARCHIVES/FULLDISCLOSURE/200605/0527HTML,PAYLOADSPACE250,DISABLENOPSTRUE,PLATFORMLINUX,TARGETSBANNEDIT0X080FD204KSPECIAL0X8106C20DEBIAN312616RC6GENTOO20060LINUX26,RET0X080FD318,PRIVILEGEDTRUE,DISCLOSUREDATEMAY212006,DEFAULTTARGET0REGISTER_OPTIONSOPTRPORT110,SELFCLASSENDDEFEXPLOITCONNECTPRINT_STATUS“BANNERBANNERSOCKGETS“NOTEORIGPOCSHELLCODELEN84KCOPE35284864NOPS,SC,NOPS,RETKSPECIAL841204SC,ADDRSBANNEDIT26582502916SHELLCODEPAYLOADENCODEDBUF“USER“BUFMAKE_NOPS265RETURNADDRESSBUF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论