kali之Metasploit入门
前言
不得不说Metasploit 目前是世界领先的黑客框架。它在某种程度上被几乎每个黑客/渗透者使用。因此,如果您想进入网络安全/渗透测试行业并有所成就,您就必须要需要熟悉它。 Metasploit可用于web渗透 pc渗透 安卓渗透
一:什么是 Metasploit?
Metasploit 是用于攻击性安全或渗透测试的标准化框架。在 Metasploit 之前,漏洞利用和 shellcode 将由各种开发人员以各种语言为各种系统开发。渗透测试人员必须依靠开发人员的工作性质,即它没有充满恶意代码,并了解开发人员打算如何利用漏洞/shellcode/工具工作。借助 Metasploit,渗透测试人员拥有一个标准化的框架,可以在这些工具的工作方式相似的地方工作,并且所有工具都使用相同的语言编写,从而使事情变得更加简单。 最初由 HD Moore 作为开源项目开发,现在归安全公司 Rapid7 所有(Rapid7 还拥有漏洞扫描程序 Nexpose)。尽管最初是作为一个开源项目开发的,Rapid7 现在已经开发了 Metasploit 的 Pro 版本,免费版的在 开源社区版仍然可供我们其他人使用,而无需花费数万美元购买 Pro 版(如果您是专业的测试人员,使用 Pro 版可以提高效率和节省时间)我目前使用就是Pro版,并且效率得到很大的提升。 最初的 Metasploit 是用 Python 编写的,然后移植到 Ruby。这意味着所有模块都必须编写或移植到 Ruby(Python 是最常见的漏洞利用脚本语言)。现在,随着 Metasploit 6 的开发和发布,Metasploit 现在支持用 Python 或 GO 编写的模块。
二:Metasploit 接口
Metasploit 有多个接口,包括;
msfconsole
msfcli
Armitage
msfweb
使用 Metasploit 最常见的方法是通过 Metasploit 自己的交互式 shell,msfconsole。在关于 Metasploit 的这个系列中,我们将主要使用这个 msfconsole, 近年来,Metasploit 集成了其他工具,使其不仅仅是一个开发框架。nmap、Nessus、Nexpose等工具现已集成到Metasploit中,使得从端口扫描、漏洞扫描、利用到后期利用的整个过程都可以在一个工具上完成。此外,Metasploit 现在已经集成了一个postgresql数据库来存储从您的扫描和漏洞利用中收集的数据。
入门:
在我们启动 Metasploit 之前,我们应该启动 postgresql 数据库。Metasploit 可以在没有postgresql 的情况下工作,但该数据库使 Metasploit 能够运行更快的搜索并存储您在扫描和利用时收集的信息。 打开Kali 并且在终端内输入以下命令 来激活metasploit 自带数据库postgresql 。如果你使用的不是root终端命令前必须添加“sudo”
sudo systemctl start postgresql (start=开始)
由于我们是第一次使用Metasploit ,第一件事情要做的就是初始化(init)数据库,
命令如下: sudo msfdb init 数据库初始化完成后
我们就可以通过终端输入名字:Metasploit 进入Metasploit Framework控制中心 (过程很长需要30秒等待时间) 最新版 Metasploit 提供数据 漏洞 版本
这样我们就成功的完成了使用Metasploit 第一步。激活并且初始化数据库。
如果你对命令行有点看不懂暂时没有记住Metasploit ,你可以选择GUI界面转到Metasploit 。
Metasploit 关键字 尽管 Metasploit 是一个非常强大的漏洞利用框架,但只需几个关键字就可以让您开始入侵几乎任何系统。当然是没有设置更高端防火墙的系统。
Metasploit 多种类型的模块; exploits payloads auxiliary nops post encoders evasion
我们先的说下Metasploit使用术语,
exploits是利用系统或者应用程序漏洞模块。它通常会尝试在系统上放置payloads,这个payloads可以是见的命令行外壳或者全有的Meterpreter。在其他环境中你可以称它为“监听器” rootkit。具体的我会在后面简单的给大家做一个介绍。
接下里我们需要使用“帮助命令(help)”来查看下msf的命令列表。 help 如果你的目标是专业的渗透测试人员,那么这里的内容不说让你背下来,最低要求是全部知道意思并且熟记于心。在社区深度计划中渗透环节非Metasploit 莫属。 关键命令“USE”使用。
如下列我们需要加载一个随机模块,假设我们已经发现对方系统上出现了Flas相关漏洞。
可以使用命令: use exploit/windows/browser/adobe_flash_avm2
如果你输入无误就模块就会加载成功,模块类型是:exploit,模块相应是在红色字体区域。
关键命令“show”显示 加载模块后,show命令对于收集有关模块的更多信息非常有用。
最常使用的三个“显示"show options", "show payloads"、“show targets”和“show payloads”。
我们先来看看“show options”。
show options 命令
show targets 此命令在运行漏洞利用时也非常有用。它将显示在运行模块之前需要设置的所有选项。这些选项包括 IP 地址、URI 路径、端口等。 一个不太常用的命令是“show targers”。每个漏洞利用都有一个它将针对的目标列表。通过使用“show targets”命令,我们可以获得它们的列表。在这种情况下,目标是自动的,但一些漏洞利用有多达 100 个不同的目标(不同的操 作系统、服务包、语言等),成功通常取决于选择合适的目标。这些目标可以通过操作系统、服务包和语言等来定义。 显示模块信息命令:info info 该信息的命令很简单。当您在选择一个模块后键入它时,它会显示有关该模块的关键信息,包括需要设置的选项、有效负载(在有效负载部分中有更多相关信息)以及模块描述. 。
新手“搜索” Metasploit在初学的时候,最困难的就是寻找自己需要的模块,毕竟Metasploit现在大概有着3-5K的模块。几百个漏洞。如果不懂得如何搜索会严重影响效率。
使用搜索命令的时候一定要添加“:”然后在输入搜索内容。
search type:exploit 搜索系统指定漏洞 指定搜索 windows下的 flash漏洞 (我们要输入的是平台:windows 漏洞类型:flash) search type:exploit platform:windows flash 我们搜索到的会在命令行反馈出来,并且添加了标注。添加背影颜色就是。 set 此命令用于在您选择的模块内设置选项。例如,如果我们查看上面的show options命令,我们可以看到许多必须设置的选项,例如 URIPATH、SVRHOST和SVRPORT。我们可以使用 set 命令设置其中的任何一个,例如; set SRVPORT 80 这会将默认 SVRPORT(服务器端口)从 8080 更改为 80。 如果我们在发现自己操作出问题了 需要取消上一步操作,我们使用使用取消设置命令。
kali之Metasploit入门的更多相关文章
- Kali之Metasploit Framework环境配置
运行Metasploit Framework 依照Kali Linux网络服务策略,Kali没有自动启动的网络服务,包括数据库服务在内.所以为了让Metasploit以支持数据库的方式运行有些必要的步 ...
- 实验三 kali下metasploit的漏洞攻击实践
一.实验内容 1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限. 2.分析攻击的原理以及获取了什么样的权限. 二.实验要求 1.熟悉kali原理和使用 ...
- 给kali的Metasploit下添加一个新的exploit
转载:https://blog.csdn.net/SilverMagic/article/details/40978081 首先在/usr/share/metasploit-framework/mod ...
- Kali之Metasploit生成apk后门控制安卓
扫盲教程,大佬勿喷. 实验中请更改为你环境的IP. 生成apk后门 Kali Linux(Hack):192.168.169.76 Android(靶机):192.168.169.137 启动kali ...
- Metasploit入门教程
0.Metasploit简介 Metasploit是一款开源的渗透测试框架平台,到目前为止,msf已经内置了数千个已披露的漏洞相关的模块和渗透测试工具,模块使用ruby语言编写,这使得使用者能够根据需 ...
- Kali系统 metasploit 使用教程
基础配置 由于kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用. 在kali 2.0中启动带数据库支持的MSF方式如下: ...
- Kali Linux & Metasploit Framework
systemctl enable postgresql.service systemctl start postgresql.service # systemctl status postgresql ...
- kali 解决Metasploit拿到shell后显示中文乱码问题
拿到对方shell后显示的问题如下: 中文乱码解决: chcp 65001 然后 上传下载文件
- kali linux 渗透入门之基础准备-Burp Suite 代理设置
一:安装火狐浏览器-插件与设置中文 打开浏览器,复制粘贴这条url: https://addons.mozilla.org/en-US/firefox/addon/chinese-simplified ...
随机推荐
- TinyML-TVM如何驯服TinyML
TinyML-TVM如何驯服TinyML 低成本,以人工智能为动力的消费类设备的激增,导致机器学习研究人员和从业人员对"裸机"(低功耗,通常没有操作系统)设备产生了广泛的兴趣.尽管 ...
- .Net RabbitMQ实战指南——进阶(一)
备份交换器 备份交换器,英文名称为Alternate Exchange,简称AE.通过在声明交换器(调用channel.ExchangeDeclare方法)时添加alternate-exchange参 ...
- Postman之newman的安装
一.newman简介:newman是为Postman而生,专门用来运行Postman编写好的脚本:使用newman,你可以很方便的用命令行来执行postman collections. 二.newma ...
- 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5
Microsoft 今天宣布了Visual Studio 2022 的第一个预览版,并且同时也发布了.NET 6 Preview 5. https://devblogs.microsoft.com/v ...
- 03:CSS(01)
内容概要 分组与嵌套 伪类选择器 伪元素选择器 选择器优先级 css属性相关(操作标签样式) 浮动 定位 模态框 透明度 内容详细 分组与嵌套 div,p,span { /*逗号表示并列关系*/ co ...
- 【模板】关于vector的lower_bound和upper_bound以及vector基本用法 STL
关于lower_bound和upper_bound 共同点 函数组成: 一个数组元素的地址(或者数组名来表示这个数组的首地址,用来表示这个数组的开头比较的元素的地址,不一定要是首地址,只是用于比较的& ...
- JMeter定时器种类+详细教程举例
首先,我们先了解一下定时器的常见种类以及它的作用. 原文地址:https://www.cnblogs.com/istart/p/11184533.html 一.定时器种类+作用 上面是我截图的自己有道 ...
- RobotFramework + Python 自动化入门 四 (Web进阶)
在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...
- Drools规则引擎实践直白总结
目录 1. 创建Drools环境(引入Drools相关依赖包.现在都流行spring boot,故最简单有效的依赖才是最好的,kie-spring内部自行依赖了drools相关核心的依赖包) 2. 了 ...
- 玩转STM32MP157-开发环境搭建
(一)STM32MP 1.什么是 STM32MPU STM32MPU是 ST 推出的 Cortex-A7 + Cortex-M4 多核异构处理器 STM32MPU151 是单核 A7+M4,.STM3 ...