metasploit使用介绍


前言


主要对metasploit渗透测试框架进行简单介绍与使用。希望能够帮到大家。废话不多说,开整。

一、metasploit介绍

1.产生原因

渗透测试者的困扰就是需要掌握数百个工具软件,上千个命令参数,实在记不住。新出现的漏洞POC/EXP有不同的运行环境要求,准备工作繁琐。大部分时间都在学习不同工具的使用习惯,如果能统一就好了,进而Metasploit就产生了。
POC,全称为"ProofofConcept”,中文是“概念验证”,常指一段漏洞证明的代码。
EXP,全称”Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作。
Metasploit框架是可以添加漏洞代码片段,就好比一个军火库,它里面有各种武器供大家使用,当然也有新的武器被研发出来,放到武器库里面后,都可以使用,这就是框架的好处,新的攻击代码可以比较容易的加入MSF框架供大家使用。

2.metasploit框架介绍

Metasploit 架构介绍
1.REX:基础功能库,用于完成日常基本任务,无需人工手动编码实现,处理socket连接访问,协议应答(http/SSL/SMB等),编码转换(XORBase64Unicode)
2.技术模块:5.0之后就增加了个evasion模块,现在一共是7个技术模块。
3.插件:插件可以调用外部一些渗透测试工具,例如:loadnessus就可以调用nessus扫描软件。
4.接口:有msfconsole控制终端、msfcli命令行、msfgui图形化界面、armitage图形化界面和 msfapi远程调用接口。
5.功能程序:metasploit还开发了一些可以直接运行的命令,比如msfpayload、msfencode以及msfvenom。

3.发展与壮大

Metasploit 是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当 H.D. Moore 在 2003 年发布Metasploit 时,计算机安全状况也被永久性地改变了。
仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补工了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有 Metasploit用户。"
MSF目前是最流行,最强大,最具扩展性的渗透测试平台软件,2003年H.DMoore 发布第一版2007年用ruby语言重写了。说句题外话, shodan黑暗搜索引擎H.D.Moore也参与开发了。

二、使用metaspliot

1.模块介绍

注意文件位置,位于/usr/share文件夹下,这个主要是共享文件夹在这里插入图片描述

解释一下这七类技术作用

auxiliary:辅助模块,负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等辅助模块。

encoders:对payload进行加密,躲避AntiVirus检查的模块。

evasion :创建木马文件,功能上比较算是msfvenom的一个子功能的存在。

exploits: 利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动或被动)

nops :提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令,这样当触发渗透攻击后跳转执行Shellcode时,有一个较大的安全着陆区,从而避免受到内存,地址随机化,返回地址计算偏差等原因造成的Shellcode执行失败,提高渗透攻击的可靠性。

payloads: 成功exploit后,真正的目标系统执行的代码或指令。
分为3类payload,分别是single、stages和stagers。shellcode主要是特殊的payload。用于返回shell。
single:all in one。完整的payload,这些payload都是一体化的,不需要依赖外部的库和包。
stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接。
stages:利用stagers建立的连接下载后续的payload。

post:后期渗透模块。取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击等操作。

2.模块命令基本使用

1.启动MSF

启动 Metasploit框架需要运行Postgresql数据库,现在只要运行Metasploit时都会自动启动 Postgresql数据库。如果数据库没启动的话,可以手动开启,下面时管理数据库的一些命令。
Postgresql监听5432端口。查看一下端口状态

//两种方式查看端口是否监听
lsof -i :5432 
//或者
netstat -pantu |grep 5432  

在这里插入图片描述
很明显,没监听端口。

//启动服务
systemctl start postgresql.service 

在这里插入图片描述
🆗!打开了。

//开机自启
systemctl enable postgresql.service 

在这里插入图片描述

2.管理数据库

这里就不做演示了,感兴趣的可以在自己做一下。

//启动并初始化数据库
msfdb init

//删除并重新初始化数据库
msfdb reinit 

//删除数据库并停止使用它
msfdb delete

//启动数据库
msfdb start

//停止数据库
msfdb stop

//检查服务状态
msfdb status

//启动数据库并运行msfconsole
msfdb run

3.Msfconsole接口

1.最流行的用户接口,几乎可以使用全部MSF功能,控制台命令支持TAB自动补全
2.支持外部命令的执行(系统命令等)

//-q:安静开启   -v:版本信息  其他命令可以用-h查看,就不介绍了这里。
msfconsole -q /-v 参数 

在这里插入图片描述

4.基本使用与控制命令

启动msfconsole,命令:msfconsole
在这里插入图片描述
感觉形状抽的可以直接输入banner换个图形
在这里插入图片描述
输入help查看命令信息,内容过多,大家可以自己去查看
输入connect然后回车,会展示命令选项用法

在这里插入图片描述
show命令比较强大,但是也比较慢,因为显示东西多。
在这里插入图片描述
还有search也是很强大的功能,大家可以自行查看
这里进行简单使用查找并使用模块use命令
在这里插入图片描述

解释一下这个东西含义exploit/windows/smb/ms08_067_netapi
exploit:代表攻击模块windows:代表平台 smb:代表应用协议


用use使用一个模块后,可以使用 show options查看我们需要配置的选项,
使用showtaraets选择目标主机系统、
使用showpayloads选择 payload、
使用showadvanced查看高级参数、
使用 showevasion查看用来做混淆、逃避的模块。
set/setg:设置参数,比如要渗透的主机IP、payload等。我们可以用showmissing查看没有设置的参数;setg是设置全局变量,避免每个模块都要输入相同的参数。
unset/unsetg:取消设置参数。unsetg是取消设置的全局变量
save:设置的参数在下一次启动的时候不会生效,可以用save保存我们使用过程的设置。/root/msf4/config cat到文件进行查看
check:检查目标是否真的存在这个漏洞,大部分模块没有check功能
run/exploit:攻击.
jobs/kill:杀死进程
session:建立会话

演示一波
在这里插入图片描述
还有很多选项可以自行调配,端口及IP均可修改,由目标实际情况而定。
使用show targets显示能攻击的目标系统。这些都是能攻击的目标主机系统。太长,没截全,各位自行查看。
在这里插入图片描述
获得目标系统类型后,找出目标,将相同系统序列号设为目标系统
在这里插入图片描述
攻击完成之后要去获得对方shell去执行payload
在这里插入图片描述
还是使用search去找,规则类似。(这个图设置看不清,看下一张大图,csdn这水印太大了)
在这里插入图片描述
然后选择想要的shell
在这里插入图片描述
然后exploit,这张没成功的原因是系统类型不对,无法针对
在这里插入图片描述
附上成功的图,成功会创建一个shell,这个是反弹shell,不是交互式shell,大家去可以了解一下。
在这里插入图片描述
还有很多命令,输入查看,这边就是一个对命令简单的使用介绍,并不代表只有这些命令
命令分为内核命令,模块命令,数据库后端命令等等,这边就展示一下常用的模块相关命令
在这里插入图片描述
刚刚使用的命令就是这里的。
还有超多内容,使用原理都大体相同,大家可以自行探索!

总结

今天主要是对msf的简单使用分享,希望能够对你有所帮助!再会!

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值