前言

  不得不说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入门的更多相关文章

  1. Kali之Metasploit Framework环境配置

    运行Metasploit Framework 依照Kali Linux网络服务策略,Kali没有自动启动的网络服务,包括数据库服务在内.所以为了让Metasploit以支持数据库的方式运行有些必要的步 ...

  2. 实验三 kali下metasploit的漏洞攻击实践

    一.实验内容 1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限. 2.分析攻击的原理以及获取了什么样的权限. 二.实验要求 1.熟悉kali原理和使用 ...

  3. 给kali的Metasploit下添加一个新的exploit

    转载:https://blog.csdn.net/SilverMagic/article/details/40978081 首先在/usr/share/metasploit-framework/mod ...

  4. Kali之Metasploit生成apk后门控制安卓

    扫盲教程,大佬勿喷. 实验中请更改为你环境的IP. 生成apk后门 Kali Linux(Hack):192.168.169.76 Android(靶机):192.168.169.137 启动kali ...

  5. Metasploit入门教程

    0.Metasploit简介 Metasploit是一款开源的渗透测试框架平台,到目前为止,msf已经内置了数千个已披露的漏洞相关的模块和渗透测试工具,模块使用ruby语言编写,这使得使用者能够根据需 ...

  6. Kali系统 metasploit 使用教程

    基础配置 由于kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用. 在kali 2.0中启动带数据库支持的MSF方式如下: ...

  7. Kali Linux & Metasploit Framework

    systemctl enable postgresql.service systemctl start postgresql.service # systemctl status postgresql ...

  8. kali 解决Metasploit拿到shell后显示中文乱码问题

    拿到对方shell后显示的问题如下: 中文乱码解决: chcp 65001 然后 上传下载文件

  9. kali linux 渗透入门之基础准备-Burp Suite 代理设置

    一:安装火狐浏览器-插件与设置中文 打开浏览器,复制粘贴这条url: https://addons.mozilla.org/en-US/firefox/addon/chinese-simplified ...

随机推荐

  1. NeuWare软件开发环境

    NeuWare软件开发环境 NeuWare 全面支持各类主流编程框架(如TensorFlow,Caffe,Caffe2,MXNet和ONNX等).用户可面向上述编程框架,便捷地在MLU100上开发和部 ...

  2. Keras神经网络集成技术

    Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...

  3. MLPerf Inference 0.7应用

    MLPerf Inference 0.7应用 三个趋势继续推动着人工智能推理市场的训练和推理:不断增长的数据集,日益复杂和多样化的网络,以及实时人工智能服务. MLPerf 推断 0 . 7 是行业标 ...

  4. thymeleaf+Springboot实现自定义标签

    在项目开发中,有一些组件不能满足我们快速开发的要求,我们需要封装一些组件来更加的便利我们.比如,我们可以封装一个下拉框组件,只要开发人员只有引用这个组件的标签,就能出现效果,而不用再去请求url,渲染 ...

  5. 错误:软件包:php-fpm-5.4.16-42.el7.x86_64 需要:php-common(x86-64)

    报错信息:错误:软件包:php-fpm-5.4.16-42.el7.x86_64 (/php-fpm-5.4.16-42.el7.x86_64)需要:php-common(x86-64) = 5.4. ...

  6. Mysql数据库值的添加、修改、删除及清空

    3.MySQL数据管理 第一种方式:不太建议,看起来复杂些 -- 学生表的 gradeid 字段,要去引用 年级表的 gradeid -- 定义外键key -- 给这个外键添加约束,(执行引用),RE ...

  7. React开发中react-route-dom使用BrowserRouter部署到服务器上刷新时报404的问题

    React项目部署中遇到的问题 react开发中react-route使用BrowserRoute路径在iis服务器上刷新时报404的问题 解决:在发布的项目根目录添加web.config配置文件 在 ...

  8. 远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法

    远程连接MySQL错误"plugin caching_sha2_password could not be loaded"的解决办法 问题描述: 今天在阿里云租了一个服务器,当我用 ...

  9. Go语言十六进制转十进制

    Go语言十六进制转十进制 代码Demo import ( "fmt" "strconv" "testing" ) func Test_1(t ...

  10. 整理一波Go工程化目录结构~

    在Go语言领域遨游了几个月后,发现自己对Go语言相关的工程目录结构有些不了解,按照原来的习惯在Go工程中建立的目录结构显得比较奇怪,好的目录结构绝对是可以加强工程效率的,所以接下来会参考煎鱼.毛大等大 ...