前言

  不得不说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. Java | Stream流、泛型、多线程 | 整理自用

    1.lambda 表达式 lambda 的延迟执行 可以对程序进行优化,尤其是使用 if {} else {} 条件判断,先判断条件是否成立,再传入计算好的参数. functionName( para ...

  2. 整数划分——区间dp(石子合并)

    这不是将一个数以一来划分,而是把一个整数以位来划分 题目描述 如何把一个正整数N(N长度<20)划分为M(M>1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式 ...

  3. Springboot单元测试@RunWith注解

    1.RunWith 注解 RunWith 就是一个运行器 可以在单元测试的时候,自动创建spring的应用上下文 2.正确使用 pom.xml <dependency> <group ...

  4. sql批量插入缓慢

    1.有一个普通的表t_asset,只有2个字段id,ip 没有索引 2.当用insert into t_asset(id,ip) values(?,?),(?,?) 1200多条记录时,发现竟然用了3 ...

  5. 自动驾驶QNX,Linux,Autosar概述

    自动驾驶QNX,Linux,Autosar概述 QNX是一个分布式.嵌入式.可规模扩展的实时操作系统.遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具).部分遵循POSIX.1b( ...

  6. 使用Nucleus SE实时操作系统

    使用Nucleus SE实时操作系统 Using the Nucleus SE real-time operating system 到目前为止,在本系列文章中,我们详细介绍了Nucleus SE提供 ...

  7. JVM--你常见的jvm 异常有哪些? 代码演示:StackOverflowError , utOfMemoryError: Java heap space , OutOfMemoryError: GC overhead limit exceeded, Direct buffer memory, Unable_to_create_new_native_Thread, Metaspace

    直接上代码: public class Test001 { public static void main(String[] args) { //java.lang.StackOverflowErro ...

  8. Unity StateMachineBehaviour

    在unity animator中单个Animator Clip中点击Add Behaviour增加当执行该动画时的一些状态代码,请看如下 创建完之后基本代码结构如下:(如果想修改默认代码结构,请看示例 ...

  9. Pytest学习笔记10-生成html报告

    前言 在pytest中,如何生成html测试报告呢,pytest提供了pytest-html插件,可以帮助我们生成测试报告,当然,如果希望生成更加精美的测试报告,我们还可以使用allure生成报告,下 ...

  10. 20、nginx之ngx_http_upstream_module模块

    nginx的ngx_http_upstream_module模块是用于nginx反向代理的,默认在安装nginx时已经被安装,ngx_http_upstream_module模块 的内容应放于 ngi ...