msf基本使用:
MSF的数据库使用
msf使用的是postgresql, 这个数据库默认端口是5432
msf我们如果单个模块使用,其实用不用数据库都不影响,但是如果模块之间有数据需要沟通,那么就必须使用。
启动PostgreSQL服务
msfconsole连接PostgreSQL数据库
service postgresql start
service postgresql status
msfconsole连接PostgreSQL数据库
msfdb init
开启msf
msfconsole
查看数据库状态 db_status
查看模块
msf6 > cd /usr/share/metasploit-framework/modules/
msf6 > ls
[*] exec: ls
auxiliary encoders evasion exploits nops payloads post
help命令
直接help+不懂的命令
search
用来搜索模块,搜索漏洞
use
使用命令模块,可以配合info命令查看模块的详细信息(直接在当前模块执行info)
show
show options :设置参数
show payloads :显示出适用于当前模块的payloads
check
检查命令是否可用,并不是真正执行
back
返回上一级
msf的七个模块
1、auxiliary(辅助模块 )
查看所有辅助模块
show auxiliary
2、exploits(渗透攻击模块)
利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)
3、payloads(攻击载荷模块)
成功exploit之后,真正在目标系统执行的代码或指令。
分为3种类型的payload,分别是single、stages和stagers。
single:all-in-one。完整的payload,这些payload都是一体化的,不需要依赖外部的库和包。
stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接
stages:利用stagers建立的连接下载后续payload。
4、encoders(编码器模块)
对payload进行加密
5、nops(空指令模块)
提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode 之前添加一段空指令区, 这样当触发渗透攻击后跳转执行Shellcode时,有一个较大的安全着陆区,从 而避免受到内存地址随机化、返回地址计算偏差等原因造成的Shellcode执行失败,提高渗透攻击的可靠性。
6、post (后渗透攻击模块)
在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板 攻击等操作
7、evasion (免杀模块)
用于免杀绕过
参考文章: