MSF的简单使用

MSF简介


背景

Metasploit Framework最初是 HD Moore 个人的想法,当时他在一家安全公司工作,他于2003年10月发布了第一个基于Perl的Metasploit版本,一开始只有共11个漏洞利用程序。后来随着Spoonm帮助和加入,HD发布于2004年4月重写了该项目并发布了Metasploit2.0。此版本包括19个漏洞和超过27个payload。在这个版本之发布后不久,马特米勒(Skape)加入了Metasploit的开发团队,使得该项目日益流行,Metasploit Framework也收到来自信息安全界的大力支持,并迅速成为一个渗透测试必备的工具

功能简介

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具

术语

  • 渗透攻击(Exploit),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为
  • 攻击载荷(Payload),是我们期望目标系统在被渗透攻击之后去执行的代码
  • Shellcode,是在渗透攻击是作为攻击载荷运行的一组机器指令,通常用汇编语言编写
  • 模块(Module),指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作
  • 监听器(Listener),是Metasploit中用来等待网络连接的组件

模块

  • Auxiliary(辅助模块):为渗透测试信息搜集提供了大量的辅助模块支持
  • Exploits(攻击模块):利用发现的安全漏洞或配置弱点对远程目标系统 进行攻击,从而获得对远程目标系统访问权的代码组件。
  • Payload(攻击载荷模块):攻击成功后促使靶机运行的一段植入代码
  • Post(后渗透攻击模块):收集更多信息或进一步访问被利用的目标系统
  • Encoders(编码模块):将攻击载荷进行编码,来绕过防护软件拦截

安装

在一般的linux中,默认是不安装MSF的。以下是在非kali的Linux下安装MSF框架

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall   
adduser msf           #添加msf用户
su msf                #切换到msf用户
cd  /opt/metasploit-framework/bin   #切换到msf所在的目录 
./msfconsole          #以后启动msfconsole,都切换到msf用户下启动,这样会同步数据库。如果使用root用户启动的话,不会同步数据库  
 
也可以将msfconsole加入到执行目录下,这样在任何目录直接msfconsole就可以了
ln -s /opt/metasploit-framework/bin/msfconsole /usr/bin/msfconsole
 
#备注:
#初次运行msf会创建数据库,但是msf默认使用的PostgreSQL数据库不能与root用户关联,这也这也就是需要新建用户msf来运行metasploit的原因所在。如果你一不小心手一抖,初次运行是在root用户下,请使用 msfdb reinit 命令,然后使用非root用户初始化数据库。        

基本使用


基础指令

  •  msfconsole:进入控制台
  • help/?:帮助菜单
  • exit:退出MSF控制台
  • Back:返回上一级
  • info:显示一个或者多个模块的信息
  • show:显示所给类型的模块
  • background:将当前操作在后台运行
  • use:使用所选择的模块
  • set设置选项
  • unset:取消设置的选项
  • reload_all:重新加载所有模块

基础使用

首先开始postgresql数据库:命令-->>service postgresql start

初始化msf数据库:命令-->>msfdb init

配置数据库连接密码等信息。我这里已经初始化过了

开启msf控制台:命令-->>msfconsole

查看数据库的连接状况:命令-->>db_status

  • Auxiliary 模块:   show auxiliary

命名规则:功能/服务/名称(scanner/smb/smb_ms17_010 )

  • Exploits 模块: show exploits

命名规则:操作系统/服务/名称      windows/smb/ms17_010_eternalblue

  • Payload 模块:show payload

命名规则:操作系统/类型/名称      windows/x64/meterpreter/reverse_tcp  

rank表示好用级别:normal(正常),excellent(优秀),good(良好),average(平均)

接下来以0708为例,我先把0708的辅助模块上传到我的服务器

开启msf,执行重新加载命令

失误,之前传过,就这样吧

使用其中一个,info查看信息

查看需要我们设置的选项-->>show options

RHOST就是我们需要设置的选项

开启2008,查看地址以及和kali的联通情况

接下来我们把RHOST设置成2008的地址

使用命令run或者exploit执行,尬了忘开3389端口了

那我们去开启一下

重新执行

如果这里我使用一个py的脚本,目标机器就会直接蓝屏了

利用脚本单独写吧

msf调用nmap

ping一下我的win10,然后直接调用即可

如果这里搜到了漏洞就可以直接再msf中search,查找利用模块,继续进行渗透测试

 

 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值