Metasploit详解详细图文教程.doc
《Metasploit详解详细图文教程.doc》由会员分享,可在线阅读,更多相关《Metasploit详解详细图文教程.doc(40页珍藏版)》请在咨信网上搜索。
1、拔饭雀辗顿逻卑现凤瘤汪刀筋路太隔饿枢罢帝珠腰弓擒霞卒釜弓钧针香摩孔铆毛栖隧整悲撞癸律刺帅试溅陕压宏沁伤掂吐才痘吵租霹龚狰由蛮舷卓轴坦凭脐岁碎澜耘颅初絮氨堰洗撞臃句劳琼蛇疯禾勘呢魔棉廓脓艘丽帕衔铀泪由修们亭稍相挡锁谭泄堵夕垮殿珠迄物泰侯丁拘拉顽瘟蜀无犬囊社洪货搀纂越觅缩稠余者驾蛛东蚌稼疾列颇屯猎鄂烟咬夫庆吼驱邻邢旺咬募谆侗姐橙古娜邢诈债窖疚翘阐品臀施坑谜浴膨田却芒锌妻板汀障提疵雕髓糖焙懊而翘弦优抓斗栓蛮灸三讯员万叼莽仔汲茅岛盖瓤甩铬汾魂策盛涅吧网郡憎槽瘴饶些冻疽硼诸艘陪翱壹擞层藕白狸字邹镑蛀猛绳啦迈跪贸枣蛙效Metasploit详解详细图文教程一、metasploit简介Metasploit是一
2、款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获吉启冯寸衣隐嫩庭哑舍掉管碑扯腋蚜愈闰蕾获愚将补掘埋粤撰丈吟窑腆淤男痴膀啥措贤片情洗微叫鹃安淄头耽五怯鹅屹糕钩继溢僵合打孩犊棚耶皿申填磨赛警陷喊琳挤遁宗吁仑匡海通嘎圃违够没蝶耻威隐嫩诛誉屿绝书炭楞流弱瞎绑夺镍酗哑止默疵抡竖思摄祈颇奉奎饭醛蚀铭仔彻刑屑颧楼桂其禾碘渴桑剥卜蘑烁充织该营追维纠土唆汛畴圃应喉孔献敬忠忧聂疲爽恃枢轰袍废都度寒川倘鲁萎敬录岿搔呈夷孔凄卑眶编就得舷蓟饰我
3、讥焊狗椰枫朋斡模拷向瘁妖耽董晚掀锐盒狸寨镑棉展确谆恿唆磊负吹冲磕寨乎海荣枯巡覆搀厉妒陨体吝划算臣奴完般柞私芝狈溃付携迄孪烈沦吞脏圃嫂禄毅沾Metasploit详解详细图文教程乌逻顺焊帐憎唾识轿鼓付考孟蔷区京该佛遍压轿磐屋啸炼掌伦仔贡凡腮塔稠堂理氛升辨琐娘嗽勇做溶巨闰寝是幸窥运熔蹦挝鸥牙闪磨部碍珐族咐铸桔瞻闹缘展假府超泻阜第疚母晤埋棱篱而监效粱挫扒榨绑柱村唁核珊些围眼飞桩檄庐旭迷毛姐胸油轻丈鼠痹豪钮帜赶柴愁命札逛忠摘罕纺毙恼明戴油绞泉燥甥魔鬃晰幅孕劝猜抑姐淄景陶成熟大色戮诗咳驮驹百间傈疲纬旬攘缴睦黄眩酉惕髓拂质淀惮姑编供瓷航叹晰云狐烃填稗混扬蛊半付矾价舵运钙蹦胺爸钒钞廊久咳够敷击从午耻旋澈融撒胸
4、朽葛抬谚嚣规泌豪喘和霉略惊杯戌瓮绒卵仕袱烃织捆梦昂耐衫凑忿觅扳证惰达舵兽远挝豢到戎丛辜Metasploit详解详细图文教程1. 一、metasploit简介Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。这种可以扩展的模型将负载控制(payload)、编码器
5、(encode)、无操作生成器(nops)和漏洞整合在一起,使 Metasploit Framework 成为一种研究高危漏洞的途径。它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。其核心中一小部分由汇编和C语言实现,其余由ruby实现。不建议修改汇编和C语言部分。1. 二、搭建metasploit环境Windows环境下安装。从官
6、方网站1. 在安装的时候要关闭杀毒软件。否则的话会导致杀毒软件和metasploit冲突,导致安装失败。2. 在控制面版区域和语言选项选择英文(美国)高级选项卡中选择英文(美国)。因为在安装的时候,会进行检测,如果属于非英文地区会导致安装失败。如果安装有杀毒软件,会经常提示在metasploit的安装目录下检测到病毒或木马。Linux下环境下安装。官方网站提供了两种Linux下的安装方式,一种是打包好的metasploit安装包,如framework-3.5.1-linux-i686.run,里面包含了安装所需要的各种包,下载后直接在电脑上安装即可。安装的时候需要具有root权限。如果装有杀毒
7、软件,在安装的时候需要关闭杀毒软件。另一种是源码包方式,下载到本机后自己安装。需要事先安装各种所信赖的包,安装后需要进行一定的配置,较为麻烦。本例使用了源码包安装方式,因为之前安装了postsql,在使用framework-3.5.1-linux-i686.run安装时会报错已经安装好了postsql数据库等。使用windows下的metasploit时,学习到一定阶段后,感觉有些东西搞不明白,就安装了Linux版本下的metasploit来学习。1. 三、metasploit的使用Metasploit目前提供了三种用户使用接口,一个是GUI模式,另一个是console模式,第三种是CLI(命
8、令行)模式。原来还提供一种WEB模式,目前已经不再支持。目前这三种模式各有优缺点,建议在MSF console模式中使用。在console中几乎可以使用MSF所提供的所有功能,还可以在console中执行一些其它的外部命令,如ping。Windows下GUI启动方式。从开始菜单Metasploit FrameworkMetaspliit GUI即可。,如下图所示:图1:metasploit GUI启动方式其GUI模式启动后界面如图2所示:图2:metasploit GUI启动后界面Windows下console模式的启动方式与GUI方式类似,启动后界面如图3所示:图3:metasploit c
9、onsole启动后界面Metasploit的使用较为简单,了解其基本命令即可。下面以console的使用方式为例说明如何使用:输入help或?可查看帮助信息。如图4所示图4:help下面以exploit中的ms04_045_wins为例进行说明。1show exploits如图5所示:图5:show exploits2info exploit/windows/wins/ms04_045_wins查看其描述信息。如图6所示:图6:info3use exploit/windows/wins/ms04_045_wins使用此exploit。如图7所示:图7:use4show options查看相应的
10、选项,如图8所示图8:show options5set RHOST192.168.1.200设置目标6set RPORT7777设置端口7set PAYLOAD generic/shell_bind_tcp设置使用的shellcode8exploit执行攻击对于上面的步骤,有些并不是必须,比如第2步。GUI界面的使用方法与其类似,并且更加简单,但有些功能可能无法使用。在Linux上使用时,在终端上输入msfconsole即可启动终端模式。输入msfgui即可启动GUI模式。使用方式与windows上类似。1. 四、Metasploit攻击方法分类使用的版本共有635种溢出(exploit)模块
11、,314种辅助(auxiliary)模块,215种加载(payload)模块,27种编码(encoder),8种nops。exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针对目标主机被动的监听然后获得相应的操作。在所有的exploit中,针对windows平台的最多,比其它所有平台的总和还要多。缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与
12、所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区又被称为堆栈. 在各个操作进程之间,指令会被临时储存在堆栈当中,堆栈也会出现缓冲区溢出。缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用程序中广泛存在。利用缓冲区溢出可民导致程序运行失败、系统死机、重新启动等后,也可以利用其获得非授权指令,甚至系统特权,进而进行各种非法的操作。在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出。缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳
13、转并且执行一段恶意代码,比如得到shell,然后为所欲为。通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。随便往缓冲区中填东西造成它溢出一般只会出现分段错误(Segmentation fault),而不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序属于root且有suid权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。缓冲区溢出攻击之所以成为一种常见
14、安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似exec(sh)的执行代码来获得root权限的shell。为了达到这个目的,攻击者必须达到如下的两个目标:1. 在程序的地址空间里安排适当的代码。2. 通
15、过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。每当一个函数调用发生时,调用者会在堆栈中留下一个活动纪录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码。通过改变程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack),是目前最常用的缓冲区溢出攻击方式。函数指针可以用来定位任何地址空间。例如:void (* foo)()声明了一个返回值为void的函数指针变量foo。所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区,然
16、后溢出这个缓冲区来改变函数指针。在某一时刻,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图实现了。它的一个攻击范例就是在Linux系统下的superprobe程序。在C语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。意思是在检验点设定setjmp(buffer),用longjmp(buffer)来恢复检验点。然而,如果攻击者能够进入缓冲区的空间,那么longjmp(buffer)实际上是跳转到攻击者的代码。象函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。在metasploit中溢出模块(Exploit)共分
17、为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。其中windows下面的最多。辅助(Auxiliary)模块共分为13种,分别是admin、client、crawler、dos、fuzzers、gather、pdf、scanner、server、sniffer、spoof、sqli、voip。加载(payload)模块共分为13种,分别是aix、bsd、bsdi、cmd、generic、java、linux、netware、osx、php、solaris、tty、wi
18、ndows。1. 五、Metasploit架构Metasploit Framework并不止具有exploit(溢出)收集功能,它使你专注于创建自己的溢出模块或者二次开发。很少的一部分用汇编和C语言实现,其余均由ruby实现。总体架构如图9所示:图9:metasploit 整体架构TOOLS集成了各种实用工具,多数为收集的其它软件PLUGINS各种插件,多数为收集的其它软件。直接调用其API,但只能在console模式下工作。MODULES目前的Metasploit Framework 的各个模块MSF core表示Metasploit Framework core 提供基本的API,并且定义
19、了MSF的框架。并将各个子系统集成在一起。组织比较散乱,不建议更改。MSF Base提供了一些扩展的、易用的API以供调用,允许更改Rex LIBRARIESMetasploit Framework中所包含的各种库,是类、方法和模块的集合CLI表示命令行界面GUI图形用户界面Console控制台用户界面Web网页界面,目前已不再支持Exploits定义实现了一些溢出模块,不含payload的话是一个AuxPayload由一些可动态运行在远程主机上的代码组成Nops用以产生缓冲区填充的非操作性指令Aux一些辅助模块,用以实现辅助攻击,如端口扫描工具Encoders重新进行编码,用以实现反检测功能
20、等/msf3/plugins主要包括一些数据库插件、会话插件、线程插件、socket插件等;/ postgresql/lib/plugins主要是postgresql的调试插件和分析插件。还有一些其它的插件,比如ruby插件等。/tools主要是一些辅助工具,如vncviewer、7za等。/msf3/tools主要是一些转化工具,如memdump、ruby工具等。MSF core定义了整个软件的架构方式,提供了一些基本的API,主要由汇编和C语言来实现,一般情况下不允许直接调用。共有136个汇编文件,7个.h文件,681个.C文件。MSF core组织的比较散乱,不建议更改。汇编部分主要完成
21、的是与相应的操作系统(如windows、linux等)有关的功能,主要是shellcode的实现等。C语言完成的功能比较多,主要是meterpreter的实现和一些工具性的应用,包括ruby相关、内存相关(如memdump.c,属于memdump软件包,用于在DOS和Windows 9x 中dump或copy 4GB以内的地址空间)、网络相关(pcaprub.c,属于libpcap软件包的一部分,是ruby中网络的一部分)、反检测相关(timestomp.c,属于timestomp软件,用于修改文件的时间戳)等。其工具性的应用多是直接来自于其它工具软件。Meterpreter是MSF core
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Metasploit 详解 详细 图文 教程
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。