梳理一下这个工具
他还有一个图形客户端
Armitage
kali2020没有自带这个,
官网
http://www.fastandeasyhacking.com/download/
http://www.fastandeasyhacking.com/manual#linux
这个页面,找了半天,找不到在哪里下载,蛮尴尬的
还是回来说命令行的吧
介绍
Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
Msfconsole提供了一个一体化的集中控制台。通过msfconsole,你可以访问和使用所有的metasploit的插件,payload,利用模块,post模块等等。Msfconsole还有第三方程序的接口,比如nmap,sqlmap等,可以直接在msfconsole里面使用。 在启动MSF终端之后,可以首先输入help命令列出MSF终端所支持的命令列表,包括核心命令集和后端数据库命令集。对于其中的大部分命令,你可以输入help[COMMAND],进一步查看该命令的使用帮助信息。
MSF的六个模块
exploit,encoder,payload,aux,post,nops
exploit
——渗透攻击模块
测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的有内存溢出,网站程序漏洞利用,配置错误exploit。
exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针对目标主机被动的监听然后获得相应的操作。
Exploit共分为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。其中windows下面的最多。
encoder
——编码器模块,对指令重新进行编码,用以实现反检测功能、指令顺利执行等
在metasploit中内置了27种encode模块,可对metasploit中的exploit进行编码(encode),以避免反病毒软件检测。如:
generic/none normal The “none” Encoder
mipsbe/longxor normal XOR Encoder
mipsle/longxor normal XOR Encoder
php/base64 great PHP Base64 encoder
ppc/longxor normal PPC LongXOR Encoder
payload
——攻击载荷模块, 由一些可动态运行在远程主机上的代码组成
我们想让被攻击系统执行的程序,如reverse shell 可以从目标机器与测试者之间建立一个反响连接,bind shell 绑定一个执行命令的通道至测试者的机器。payload 也可以是只能在目标机器上执行有限命令的程序。
aux
——辅助模块,用以实现辅助攻击,如端口扫描工具、口令猜测破解、敏感信息嗅探等
post
——后渗透攻击模块
在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作,比如获取敏感信息、进一步拓展、实施跳板攻击等。
nops
——空指令模块,用以产生缓冲区填充的非操作性指令
使用msfconsole,了解msfcli,msfgui
三种用户接口
Metasploit目前提供了三种用户使用接口,一个是GUI模式,另一个console终端模式,第三种是CLI(命令行)模式。msfcli 虽然和msfconsole一样同为命令行界面,但是他不提供交互的命令行模式,直接通过命令行执行输出结果,直接调用辅助模块和攻击模块对目标进行渗透攻击,更为高效便捷。
使用步骤
输入msfconsole开启msf终端
search参数
当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。所以search命令就很重要。通过search命令你可以搜到相关的漏洞,插件等
use参数
这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数
使用漏洞 use 你选择的利用模块
Show参数
如果单纯的输入show,那么就会显示出所有的payload,利用模块,post模块,插件等等。但是一般我们都不这么使用。如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。
展示可用载荷show payloads
Set参数
这个主要是对payload或者其他模块进行设置。比如设置攻击目标的IP就是set RHOST 172.16.12.2
设置载荷 set payload 你选择的载荷
查看还需要设置的选项 show options,为YES且空的就是还需要我们设置的。 可以看到下图中RHOST参数还未设置内容
设置目标IP set RHOST 172.16.12.2
exploit参数
开始实施渗透攻击命令
执行攻击 exploit
以上就是一个简单的通过metasploit搜索exploit,利用exploit,选择payload,设置参数(RHOST,LPORT),执行攻击的过程。