MSF使用教程
掌控安全学院
2020年12月23日 11:08

MSF简介

Metasploit(MSF)是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞,是一款专业级漏洞攻击工具。

当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了,仿佛一夜之间,任何人都可以成为黑客。

因为只要掌握MSF的使用方法,每个人都可以使用MSF来攻击那些未打过补丁或者刚刚打过补丁的漏洞。

也因此软件厂商再也不能推迟发布针对已公布漏洞的补丁了,因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。

MSF安装介绍

MSF官网:

MSF有两个版本,Metaploit是开源免费的,Metaploit pro的商业收费的,这里我们用免费的社区版就可以了

MSF下载地址:

MSF安装

(1)一键式安装

在Linux / macOS上安装Metasploit,这里有官方提供的脚本,可以一键式安装

(2)手动安装

注意:如果上面方法不可行,也可以进行手动安装

Debian / Ubuntu软件包位于,而CentOS / Redhat / Fedora软件包位于

ubuntu安装 下载MSF 的deb安装包。 在终端运行: 就已经安装好了,数据库的安装看上面的步骤

Centos安装 下载 rpm安装包 在终端运行:

安装完成

安装postgresql数据库

msf使用的是postgresql数据库,如果没有的话需要先安装

安装数据库的时候会自动创建系统用户postgres,数据库用户postgres,数据库postgres

msf更新命令:

msf使用数据库

MSF的功能模块介绍

MSF所用功能主要可分为这几个模块,每个模块都有各自的功能领域,形成了渗透测试的流程

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

MSF的基本使用方法

例如攻击永恒之蓝:

开启数据库:

初始化msf数据库:

开启MSF:

这里我们拿永恒之蓝这个漏洞进行简单的使用

首先要保证是能够访问到目标机器的,那么我们先ping一下目标机器,看网络是否连通

此时是连通的状态

永恒之蓝的漏洞编号:

根据漏洞名称搜索 : 

1、运用辅助模块扫描目标

设置模块:

查看设置:

设置目标地址:

目标端口默认是445,如果用nmap端口扫描windows文件共享服务不是开放在445端口上面,那这里需要进行修改,

设置好了之后,或者 进行攻击

绿色的加号为可攻击

2、设置攻击模块对目标进行攻击

使用攻击模块:

查看所需设置:

设置目标地址:

设置目标端口:

设置payload:

设置本地地址:

攻击:或者

攻击成功,成功拿到会话

注意:存在一定机率将目标机器打成蓝屏或者重启

查看目前权限

系统权限,想干什么都可以了~

MSF后门生成模块

Msfvenom常用命令参数

msfvenom生成shellcode

普通生成

编码生成

msfvenom —list archs #查看支持的系统架构

msfvenom —list platforms #查看支持系统平台

msfvenom -l payload #列出所有可用的payload

msfvenom -l formats #列出所有的输出格式

msfvenom -l encrypt #列出所有的加密方式

msfvenom -l encoders #列出所有的编码器

常见生成格式

1、 Windows

2、Linux

3、Mac

4、Android

5、Aspx

6、JSP

7、PHP

8、BASH

9、Python

木马如何免杀

木马绕过免杀本质上还是更改他的特征码,那么总结一下可以有

  1. 编码

  2. 加壳免杀

  3. 二次编译

  4. 分离免杀:即将ShellCode和加载器分离

目前msfvenom的encoder特征基本都进入了杀软的漏洞库,很难实现单一encoder编码而绕过杀软,所以对shellcode进行进一步修改编译成了msf免杀的主流。

互联网上有很多借助于C、C#、python等语言对shellcode进行二次编码从而达到免杀的效果。

第一步:安装编译软件VC++6.0

第二步:生成一个常见的木马

第三步、编译c语言为exe文件

打开vc6.0,新建一个程序

选择一个简单的win32程序

打开a.app

将我们的代码复制进去

编译一下,看是否有问题

再编译一下a.cpp

没有问题的话,就可以组建a.exe了,这个文件就是我们要的木马文件

第四步、测试是否成功

把得到的a.exe 复制到桌面,右键用360的木马云查杀功能试一下

成功绕过~

再测试一下我们的木马是否有用,打开MSF开启监听

成功拿到会话了, 证明我们的木马没啥问题~