MSF(Metasploit Framework)详细教程

一. 简介

Metasploit 是一个开源的渗透测试开源软件,也是一个逐步发展成熟的漏洞研究与渗透测试代码开发平台,此外也将成为支持整个渗透测试过程的安全技术集成开发与应用环境,2009年10月,Metasploit项目被一家渗透测试技术领域的知名安全公司Rapid7所收购。Rapid7公司随后与2010年10月推出了Metasploit Express 和Pro商业版本。
优点 : 模块化,灵活框架,界面友好,简单易用,代码安全

二. MSF 数据库操作

msf init && msfconsole 初始化数据库并且启动msf
1.启动数据库(PostgreSQL ,端口5432)
2.初始化数据库
3.启动msf
msfconsole -q 快速启动(不显示banner)
msfdb init启动并初始化数据库
msfdb reinit 重新初始数据库
msfdb delete 删除数据库
msfdb start 启动数据库
msfdb stop 关闭数据库
msfdb status查看数据库状态
msfdb run 启动数据库并启动msf

将PostgreSQL设置成开机自启

systemctl enable postgresql
开启开机自启动
systemctl list-units --type=service
查看开启开机自启动的程序列表

在这里插入图片描述

三. MSF常用命令

终端命令

命令解释
show exploits列出所有渗透攻击模块
show payloads列出所有的攻击载荷
show auxiliary列出所有的辅助模块
search查询所有包含关键字的模块
info展示出制定渗透攻击或模块的相关信息
info -d更详细的信息(会打开网页文件显示)
use装载一个模块
LHOST目标主机
RHOST远程主机或目标主机
set设置配置参数
setg设置配置全局参数
unset取消配置参数
unsetg取消配置全局参数
show options列出当前模块中所有的参数配置
show targets列出当前模块支持的平台
set target num指定你所知道的目标的操作系统以及补丁版本类型
set payload指定你想使用的攻击载荷(msf6是有默认的,msf5是需要指定的)
show advanced列出所有高级配置选项
check检测目标是否对选定的模块,存在相应的漏洞
exploit执行渗透攻击模块
exploit -j在计划任务下进行渗透攻击(攻击将在后台进行)
exploit -z渗透攻击成功后不进行会话交互
exploit -e <编码方式>指定攻击荷载的编码方式
exploit -h列出exploit命令的帮助信息
sessions -l列出可用的交互会话
sessions -l -v列出所有可用的交互会话以及会话详细信息
sessions -s <脚本>在所有活跃的meterpreter会话中运行一个特定的meterpreter脚本
sessions -K杀死所有会话
sessions -c <命令>在所有活跃的metaerprter会话上执行一个命令,如cmd
sessions -u 将指定的一个会话从win32shell升级到meterpeter shell
sessions -i 选着一个会话,到当前窗口运行
db_create <数据库名称>创建一个数据库驱动攻击所需要的数据库
db_nmap利用nmap并把所有扫描数据存入到数据库中
db_autopwn -p -r -e对所有发现的开放端口执行db_autopwn,攻击所有系统,并使用一个反弹式shell
db_destroy删除当前数据库
db_nmap利用nmap并把所有扫描数据存入到数据库中
db_destroy user:password@host:port/database使用高级选项来删除数据库

show exploits 列出所有渗透攻击模块
在这里插入图片描述
show payloads 列出所有攻击载荷模块
在这里插入图片描述

show auxiliary 列出所有辅助模块
在这里插入图片描述
search 17_010 搜索关键字包含17_010 的(这里的17_010是指漏洞的时间)
在这里插入图片描述
info 查看当前模块的详细信息
在这里插入图片描述info -d 查看当前模块的跟多详情详细
在这里插入图片描述
在这里插入图片描述
use 0 选择一个模块进行加载,这里的0是指序号,也可以用名称
在这里插入图片描述
show options 和 options 效果一样 列出当前模块的参数详细信息
在这里插入图片描述
在这里插入图片描述
set rhosts 172.30.1.133 设置RHOSTS(目标主机的IP地址)

在这里插入图片描述
show targets 列出当前模块支持的平台
在这里插入图片描述
check 检测目标对象是否存在对于模块的漏洞
在这里插入图片描述
sessions -l 列出所有连接
在这里插入图片描述
sessions -l -v 列出所有连接并显示连接利用的信息详细

在这里插入图片描述
show advanced 显示模块的高级参数
在这里插入图片描述
sessions -i 1 选择一个连接到前台
在这里插入图片描述

metapreter常用命令

命令解释
help打开帮助
run <脚本名称>运行meterpreter脚本,在scripts/meterpreter目录可查看到的所有脚本名称
sysinfo列出受控主机的系统信息
ls列出目标主机的文件和文件夹信息
use priv加载权限提示控制模块,来扩展meterpreter
ps显示所有运行进程及其关联的用户账户
migrate PID迁移到指定的进程ID
use incognito加载inconito功能(用来盗窃目标主机的令牌或者冒充用户)
list_tokens -u列出目标主机用户组的可用令牌
impersonate_token DOMAIN_NAME\USERNAME假冒目标主机上的可用令牌
steal_token盗窃给定进程的可用令牌并进行令牌假冒
drop_token停止假冒当前的令牌
getsystem提供各种攻击向量来提示到系统用户权限
shell以所有可用令牌来运行一个交互的shell
execut -f com.exe -i执行cmd.exe命令交互
execut -f com.exe -i -t以所有可用令牌来执行cmd命令
execute -f cmd.exe -i -H -t以所有可用令牌来执行cmd命令并隐藏该进程
rev2self回到控制目标主机的初始用户账户下
reg command在目标主机注册表中进行交互,创建,删除和查询等操作
setdesktop number切换到另一个用户界面(该功能基于那些用户已经登录)
screenshot对目标主机进行截屏
upload file向目标主机上传文件
download file从目标主机上下载文件
keyscan_dump储存目标主机上的键盘记录
getprivs尽可能的获取到目标主机上的更多权限
uietl enable keyboard/mouse接管目标主机的键盘和鼠标
background将当前会话放入后台运行
use sniffer加入嗅探模块
sniffer_interface列出目标主机上的所有开放网络接口
sniffer_stats interfaceID pcapname在目标主机上启动嗅探
sniffer_start interfaceID packet_buffer在目标主机上针对特定范围的数据包缓冲区启动嗅探
sniffer_stats interfaceID获取正在实施嗅探网络接口的统计数据
sniffer_stop interfaceID停止嗅探
add_user username password -h ip在远程目标主机上添加一个用户
add_group_user “Domain Adimins”username -h ip将用户添加到目标主机的域管理员组中
clearev清除目标主机上的日志记录
timestomp修改文件属性,例如修改文件的创建时间(反取证调差)
reboot重启目标主机

sysinfo 列出当前被控制的主机的系统信息
在这里插入图片描述
ls 列出目标主机文件和文件夹
在这里插入图片描述
ps 显示所有运行进程及其关联的用户账户
在这里插入图片描述
use incognito 加载inconito功能(用来盗窃目标主机的令牌或者冒充用户)
在这里插入图片描述
screenshot 截取目标主机的屏幕
在这里插入图片描述
shell 获取一个交互shell

四. MSF 常用模块

  1. Exploits (渗透模块): 这是一段程序,运行时会利用目标的安全漏洞进行攻击
  2. Payloads (攻击荷载模块):在成功对目标完成一次渗透之后,这段程序开始在目标计算机上运行,它能帮助我们在目标系统上获取需要的访问和权限,创建后面和维护访问等。
  3. Auxiliary (辅助模块):包含了一系列的辅助支持模块,包括扫描,fuzz(模块模糊)测试,漏洞发掘,检测模块,网络协议欺骗等模块。辅助是使Metasploit 更加灵活。
  4. Encoder (编码器模块):编码器模块通常用来对于攻击模块进行代码混淆,来逃过目标安全保护机制的检测。
  5. Meterpreter (内存攻击载荷):是一种使用内存技术的攻击载荷,可以注入到程序之中,提供各种可以在目标上执行的功能,如开启摄像头,停用键盘等。
  6. Post (后渗透模块):前提是已经拿到了目标系统的基本访问权限,可以使用post模块对系统进行进一步的渗透
  7. nop 模块 :在汇编语音种,nop是指无操作指令,nop在编写exploit或shellcode时有时是有用的。添加nop可以显著帮助修改payload特征,从而绕过安全检测。

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

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

相关文章

关于StartAI生图下载问题

最近小编常常收到一些小伙伴对StartAI生图的问题反馈&#xff0c;今天为大家同一解答吧&#xff01; Q1&#xff1a;小编小编&#xff0c;为什么我生图后下载图片在文件夹中显示空白呀&#xff1f; 小编&#xff1a;当前我们StartAI版本0.4.5在下载图片时还未添加保存类型&…

WebGL开发航空航天学习应用

使用 WebGL 开发航空航天学习应用可以为学生提供沉浸式的三维体验&#xff0c;帮助他们了解航空航天工程、飞行原理和宇宙空间。以下是开发航空航天学习应用的一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c…

如何解决企业内部FTP文件传输速度过慢和安全问题

在数据化时代里&#xff0c;企业内部的文件传输永远是刚需&#xff0c;而因为 FTP协议的简单、易用、广泛支持等优点&#xff0c;让很多企业早期都普遍使用&#xff0c;随着数量量的增多&#xff0c;和对安全的要求越来越高&#xff0c;FTP也暴露出了一些列问题&#xff0c;小编…

AI面板识别 - 华为OD统一考试

OD统一考试 (B卷) 分值: 100分 题解: Java / Python / C++ 题目描述 AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。 由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2…

geyser互通服基岩版进不去

Java版需要在服务器安全组开通TCP端口&#xff08;如果有宝塔&#xff0c;也需要开通&#xff09; geyser下载好的安装运行也需要开通端口&#xff0c;但是它是UDP的&#xff08;但是我同时也开启了TCP&#xff0c;可能不需要&#xff1f; Java 版玩家隧道 Java 版玩家使用 T…

Solana 与 DePIN 的双向奔赴,会带来 DePIN 之夏吗?

作者&#xff1a;LBank Labs 研究员 F.F 编译&#xff1a;TinTinLand 原文&#xff1a;https://medium.com/lbanklabs/new-anchor-of-solana-depin-b674d04d6980 太长不看版 在过去的一年里&#xff0c;我们观察到 Solana 和 DePIN 两者都呈现出了显著的增长。这不仅是极客科…

论文阅读——Slide-Transformer(cvpr2023)

Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention 一、分析 1、改进transformer的几个思路&#xff1a; &#xff08;1&#xff09;将全局感受野控制在较小区域&#xff0c;如&#xff1a;PVT&#xff0c;DAT&#xff0c;使用稀疏全局注意力来…

使用 sourcetree 的《遴选》功能

假设你有一个分支&#xff0c;有两个提交 A&#xff0c;和B&#xff0c;你现在想在A提交的基础上把 B提交的功能做修改&#xff0c;你可以使用 遴选功能。 在A 提交的基础上新建一个分支&#xff0c;然后在B提交上面&#xff0c;右键&#xff0c;选择 遴选&#xff0c;那么B修改…

工厂传送带应用西门子Profinet连接EtheCAT伺服驱动器

在工业现场&#xff0c;我们采用了1500系列的PLC&#xff0c;以及带有EtherCAT通讯协议的伺服驱动器。由于1500系列的PLC采用的是PROFINET实时以太网通讯协议&#xff0c;为了实现与EtherCAT设备的连接&#xff0c;我们必须进行通讯协议的转换。为此&#xff0c;开疆智能Profin…

计网_05IP地址

一、IP地址  &#xff11;、IP地址基本概念 用于标识网络中的某一台主机或某一个网络接口&#xff0c;主机的唯一标识&#xff0c;保证主机间的正常通信&#xff08;主机之间要想通信就必须配置相应的IP地址&#xff09; 一种网络编码&#xff0c;用来确定网络中的一个节点…

汽车发动机缸体缸盖自动化光学测量系统尺寸测量偏差检测-CASAIM品质检测自动化设备

汽车行驶在不同的环境中&#xff0c;汽车的安全性是必须考虑的&#xff0c;汽车发动机盖体缸盖的加工质量问题是汽车安全可靠性的一个关注点。目前客户检测方案是通过三坐标检测工件进行检测&#xff0c;只能对于位置点进行相关测量&#xff0c;需要规划测量路径&#xff0c;费…

Android Studio修改创建新布局时默认根布局

将Android Studio默认布局ConstraintLayout切换成LinearLayout 打开设置&#xff0c; Editor> File and Code Templates > Other > layoutResourceFile.xml 备注&#xff1a;创建时提示根布局仍然为ConstraintLayout&#xff0c;不用管这个&#xff0c;实际创建的…

炎症状态重塑了急性髓系白血病的免疫微环境并改善了风险分层

今天给同学们分享一篇实验文章“An inflammatory state remodels the immune microenvironment and improves risk stratification in acute myeloid leukemia”&#xff0c;这篇文章发表在Nat Cancer期刊上&#xff0c;影响因子为22.7。 结果解读&#xff1a; 成人和儿童AML的…

HDMI2.1输入转4Port MIPI/LVDS输出,嵌入式SPI闪存固件存储,VR和AR应用首选国产芯片方案-LT6911GXC

描述 LT6911GXC是一款高性能的HDMI2.1到MIPI或LVDS芯片&#xff0c;用于VR/显示应用。 HDCP RX作为HDCP中继器的上游&#xff0c;可配合其他芯片的HDCPTX实现中继器功能。 对于HDMI2.1输入&#xff0c;LT6911GXC可以配置为3/4通道。自适应均衡使其适合于长电缆应用&#xff0c;…

如何做好机电设备全生命周期管理?

机电设备是现代工业运作中不可或缺的重要资产&#xff0c;对生产运营具有关键影响。为了确保机电设备的长期运行和高效性能&#xff0c;机电设备全生命周期管理是必不可少的。下面将介绍一些关键步骤和策略&#xff0c;帮助企业效地进行机电设备全生命周期管理。 1. 选型和规划…

NXP实战笔记(一):基于RTD-SDK新建一个S32DS工程

目录 1、概述 2、操作步骤 2.1、新建Application工程 2.2、命名工程、选择芯片型号、选择编译器GCC版本 2.3、配置基本参数 3、文件描述 3.1、文件结构描述 3.2、编译之后 4、下载调试 1、概述 安装了S32DS之后&#xff0c;导入SDK插件&#xff0c;这个步骤不赘述&…

Qt篇——QwtPainter::drawPie绘制扇形

QwtPainter::drawPie(QPainter *painter, const QRectF &rect, int startAngle, int angle); 一、参数含义&#xff1a; painter&#xff1a; 重绘函数中的painter对象 rect&#xff1a; 要绘制扇形的圆的外切矩形。 startAngle: 要绘制的扇形的起始角 …

du和df

du 和df 不一致的问题&#xff1a; 情况如下&#xff1a; innode 没有满 同事求助&#xff0c; 他在删掉一个很大的文件后&#xff0c; 磁盘空间依旧没释放。上去一看&#xff0c; 果然 df 看到磁盘空间占用依旧是100%&#xff0c;等等 du 看了一把&#xff0c;磁盘空间剩余很…

【软件测试】为bug而生

为什么定位问题如此重要&#xff1f; 可以明确一个问题是不是真的“bug” 很多时候&#xff0c;我们找到了问题的原因&#xff0c;结果发现这根本不是bug。原因明确&#xff0c;误报就会降低多个系统交互&#xff0c;可以明确指出是哪个系统的缺陷&#xff0c;防止“踢皮球”&…