初识MSF

一、什么是Metasploit

Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称MSF。是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数2000个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布MSF时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为MSF团队一直都在努力开发各种攻击工具,并将它们贡献给所有MSF用户。

MSF的设计初衷是打造成一个攻击工具开发平台,然而在目前情况下,安全专家以及业余安全爱好者更多地将其当作一种点几下鼠标就可以利用其中附带的攻击工具进行成功攻击的环境。

二、MSF安装要求

在使用MSF之前,我们得确保自己的电脑配置能够达到以下的要求:

硬盘空间: 如果你要使用MSF,首先确保你电脑配置至少有10GB的储存空间。因为MSF会使用到一些大型文件。在分区的时候确保不是以FAT32类型进行分区。因为FAT32不支持大文件运行。所以建议是以NTFS,Ext3或者其他类型进行分区。个人建议是你的使用空间最好有40GB。

内存:Kali对内存的建议做了很多解释,实际上只要你的内存值等于或者大于2GB就可以使用各个版本的Kali系统了。

处理器:官方系统解释到,只要处理器的处理速度大于或者等于400MHz就可以使用Kali系统。但是我建议最低为500MHz。

网络设备:你可以使用Cat5接口进行访问。请确保你的网络设备有DHCP,如果没有,那么请自己为你的kali分配IP。当然,你也可以用无线网络,但是请为你的无线网卡安装相对应的驱动。

软件:这里建议使用者安装两套操作系统。一台是Kali系统,一台是测试系统。这样做的原因是能够方便安全人员进行攻击测试。

虚拟机:我们的建议是用虚拟机来运行kali系统。VMware Player可以说是最棒的选择。这个软件是免费的,用户只需要注册就能够使用。当然你也可以选择其他的虚拟机,但是我的建议就是VMware。

Kali Linux:  Kali是以Linux系统进行封装的。Kali系统的有点在于这个系统集合了大量的优秀的安全工具,同时还能对这些工具进行升级。其中也包含了MSF。Kali系统的下载地址是:http://www.kali.org/downloads/ 。如果你安装完了Kali系统,你可以打开控制窗口,使用以下命令对Kali系统进行升级。

升级指令:“apt-get update && apt-get upgrade”

Metasploitable系统:也许你遇到过很多linux系统,但是却不知道如何使用那些linux漏洞。幸运的是,MSF的开发团队也意识到了这个问题。他们制作出了Metasploitable系统。这个系统包含了大大小小的linux漏洞,十分适合做为测试系统。既能提高技术,同时也能够“自我意淫”一下。现在的Metasploitable已经有了第二套版本,下面是下载地址:

kail下载地址 kali-linux-2.0-amd64.iso_免费高速下载|百度网盘-分享无限制

http://cdimage.kali.org/kali-weekly/

http://sourceforge.net/projects/Metasploitable/files/Metasploitable2/

注意: 测试系统下载下来后是zip格式的。解压后使用VM打开。如果是VMware的,直接打开用VMware打开Metasploitable.vmx文件即可。Metasploitable系统的默认账号和密码是msfadmin:msfadmin

如果你想了解更多关于Metasploitable的信息,你可以去下面这个网站:https://community.rapid7.com/docs/DOC-1875

三、MSF专业术语讲解

                1.渗透攻击(Exploit)

        渗透攻击是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。

        流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击,以及利用配置错误等。

                2.攻击载荷(Payload)

        攻击载何是我们期望目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。比如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。

                3.溢出代码(Shellcode

        shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。

                4.模块(Module)

        在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件。在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件。而在其它时候,则可能使用一个辅助模块(auxiliary module),用来扫描一些诸如扫描或系统查点的攻击动作。​​​​​​

        5.监听器(Listener)

        监听器是MSF中用来等待连入网络连接的组件。举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。

四、MSF的目录结构

MSF 在BT5下存放目录:/opt/MSF

MSF Kali下存放目录:、/usr/share/metasploit-framework/

Modules:用户用到的各种模块几乎都在这里 ,用户使用use这个msf这里时,就是用到了这个目录下的模块。这个目录下的文件在msfconsole启动时会被自动加载的,如果看到msfconsole启动时有出错信息但又能成功启动可以根据出错信息找解决方法,个人写的Module也可以放在这个目录下。

Auxiliary:主要包含渗透测试中一些辅助性的脚本,这些脚本功能有扫描,嗅探,破解,注入,漏洞挖掘等

Encoders:各种编码工具 用于躲过入侵检测和过滤系统。

Exploits:主要包含了传说中的exp、0day、各种漏洞利用的脚本。主要的攻击代码全在这,这里边包含的exp的路径的命名规则是 系统/服务/模块,在使用exp是可以根据这个命名方法来找(也可以用search这条指令来找)。比如:use exploites/windows(系统)/vnc(服务)/realvnc_client(模块名)

Nops: NOP (No Operation or Next Operation) sled,由于IDS/IPS会检查数据包中不规则的数据,所以在某些场合下(比如针对溢出攻击),某些特殊的滑行字符串(NOPS x90x90...)则会因为被拦截而导致攻击失效,所以此时需要修改exploit中的NOPs.nops文件夹下的东西会在payload生成时用到(后面会有介绍)。比如我们打开php的NOPS生成脚本,就会发现它只是返回了指定长度的空格而已。(不理解没关系)

Payloads :这个单词翻译过来叫载荷:是攻击者发送给系统执行的指令(不包含exploits攻击阶段),payloads主要是在目标机执行的,而exploits是在本地机执行作用于目标机。命名规则是: 系统/类型/名称 比如: use payloads/windows/shell/bind_tcp

Post: 这个目录里放着msf 的exploits执行成功后,向目标机发送的一些功能性指令比如:提权,获取hash等。

Data:这个目录里盛放了Meterpreter、PassiveX、Vnc、DLLs等这些工具和一些用户接口代码,Msfweb 和一些其他模块用到的数据文件。

Data下js文件夹下的Detect,这里面存放的是MSF的探针文件。如果看过MSF浏览器攻击脚本的代码,就会发现调用了一个js库,然后检查当前请求是否符合被攻击环境。如果符合则发送攻击代码,否则中断。Memory中主要是一些堆喷射代码。在大部分浏览器漏洞利用过程,堆喷射是一个不可或缺的过程(当然不是绝对的!)。并且不同的浏览器及版本间,堆喷射代码都有所不同。所以这里给出的探针代码和堆喷射代码是不是一个非常好的学习资源呢。

Plugins:这里的模块用户需要使用load 来加载,提供数据库连接插件,和各种要用到的插件。

Scripts:这个目录下的文件大都是Meterpreter这个模块利用的脚本。比如郭Meterpreter里用到的migrate来转移到其他进程的指令的源代码就在这个目录下。

这里的rc脚本相当于Windows下的批处理脚本,在某些情况下会有一定便捷性。比如Veil在生成免杀payload的同时也会生成一个rc脚本,此时使用msfconsole –r xx.rc便可以快速的建立一个和payload对应的handler,亦或在攻过程中需要你反复的set exploit,那么就可以使用这个批处理脚本了,而这个目录下则是一些给定的rc脚本,虽然你可能不习惯这样使用,但作为改写自己的rc脚本的资源也不错。

 

  • 36
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值