Metasploit Framework —— Basic

这里介绍的就是 MSF 的一些简单的基本使用,创始人 HD 摩尔曾说谁为 MS 写教程其实就是自作自受,纯属找虐,因为真的变化太快了,所以这里所写使一些基本功能,其余的需要自己去摸索…
!!!
但虽然这样,还是有人写,目前被作者称赞过的最好的一本教材就是《Metasploitable 渗透测试指南》
!!!
由 offensive security 即 kali 官方所做,国内译本是清华博士诸葛建伟带队翻译而成的
!!!
Metasploit Framework --> MSF --> 渗透测试框架
!!!
MSF 在一定程度上解决一下困扰:

  • 好多工具/命令需要掌握与使用
  • 新出现的 POC 有不同的运行环境要求
  • 大部分时间都在学习使用不同工具

在 2003 年时发布第一版,2007 年 Ruby 重构,该框架集成了渗透测试流程(PETS)思想,更新很活跃
Metasploit Framework —— Basic
MSF 的安装路径是 /usr/share/metasploit-framework
!!!
主要进入到 modules 查看,可以看到有 7 大模块:
auxiliary encoders evasion exploits nops payloads post

auxiliary 模块:
执行信息收集 || 枚举 || || 指纹探测 || 扫描等功能的辅助模块,其实像一个没有 PAYLOAD 的 exploit 模块

encoders 模块:
对 payload 进行加密编码,躲避 AV 检查

evasion 模块:
生成免杀木马,躲避逃避 AV ,但因为 MSF 的名声太大,各大厂商对其加密的方式可谓吃透状态,生成的木马等被盯得死死的,所以还得结合其它方式真正达到免杀

exploit 模块:
利用漏洞进行攻击的模块,针对一系列的攻击,具有较强的流程性质

nops 模块:
提高 payload 稳定性及维持大小

payload模块:
可理解为存放大量 shellcode poc等的一个模块

post模块:
该模块主要用于一些后渗透操作
!!!
现在我们在 kali 使用的是 msfconsole ,这是一个接口,由此来完成 msf 几乎所有的功能,可鼠标或者命令行方式启动
msfconsolemsfconsole -q

所谓 -q 其实就是 quite ,安静地启动,不会显示 banner 信息
Metasploit Framework —— Basic
Metasploit Framework —— Basic

输入 help 可以看到有关于 msf 的帮助:
Metasploit Framework —— Basic

除了直接使用 help 之外,还可以使用 ? + command 的方式来查看帮助,比如:
Metasploit Framework —— Basic

常用的命令有:
banner 显示有关 MSF 的一些基本信息
Metasploit Framework —— Basic

version 查看当前系统版本[注:现在均为 Rolling 版本kali,欲更新 MSF 直接更新 kali 即可]
Metasploit Framework —— Basic

connect 这个 command 很像 nc
Metasploit Framework —— Basic
来演示一下:
kali下 nc 侦听当前的 6868 端口:nc -vnlp 6868
Metasploit Framework —— Basic
成功连接:connect 192.168.67.221 6868
Metasploit Framework —— Basic

show 命令,这个 command 很重要,而且经常会使用到,在此命令下我们可以查看 msf 的各个模块包括各种信息:
Metasploit Framework —— Basic

search 这个 command 也是很常用的,通过直接敲 search 可弹出使用说明,下面演示几个用法:
例:搜索 ms08_067 漏洞,将会显示该漏洞的路径,后续可以使用 use 来 exploit:search ms08_067
Metasploit Framework —— Basic

例:搜索 CVE 为 2020 的内容:search cve:2020
Metasploit Framework —— Basic

除此之外,还可以多条件同时查询:search cve:2020 rank:excellent
Metasploit Framework —— Basic

关于 MSF 的初步介绍就将介绍到这里,下一节将介绍 MSF 中:Database Backend [数据库后端]

????